2014-10-27 23:31:26 +00:00
/* Phaser (NJ) v2.1.4 - http://phaser.io - @photonstorm - (c) 2014 Photon Storm Ltd. */
2014-11-08 19:11:28 +00:00
( function ( ) { var a = this , b = b || { } ; b . WEBGL _RENDERER = 0 , b . CANVAS _RENDERER = 1 , b . VERSION = "v2.0.0" , b . blendModes = { NORMAL : 0 , ADD : 1 , MULTIPLY : 2 , SCREEN : 3 , OVERLAY : 4 , DARKEN : 5 , LIGHTEN : 6 , COLOR _DODGE : 7 , COLOR _BURN : 8 , HARD _LIGHT : 9 , SOFT _LIGHT : 10 , DIFFERENCE : 11 , EXCLUSION : 12 , HUE : 13 , SATURATION : 14 , COLOR : 15 , LUMINOSITY : 16 } , b . scaleModes = { DEFAULT : 0 , LINEAR : 0 , NEAREST : 1 } , b . _UID = 0 , "undefined" != typeof Float32Array ? ( b . Float32Array = Float32Array , b . Uint16Array = Uint16Array ) : ( b . Float32Array = Array , b . Uint16Array = Array ) , b . INTERACTION _FREQUENCY = 30 , b . AUTO _PREVENT _DEFAULT = ! 0 , b . PI _2 = 2 * Math . PI , b . RAD _TO _DEG = 180 / Math . PI , b . DEG _TO _RAD = Math . PI / 180 , b . RETINA _PREFIX = "@2x" , b . dontSayHello = ! 1 , b . defaultRenderOptions = { view : null , transparent : ! 1 , antialias : ! 1 , preserveDrawingBuffer : ! 1 , resolution : 1 , clearBeforeRender : ! 0 } , b . sayHello = function ( a ) { if ( ! b . dontSayHello ) { if ( navigator . userAgent . toLowerCase ( ) . indexOf ( "chrome" ) > - 1 ) { var c = [ "%c %c %c Pixi.js " + b . VERSION + " - " + a + " %c %c http://www.pixijs.com/ %c %c ♥%c♥%c♥ " , "background: #ff66a5" , "background: #ff66a5" , "color: #ff66a5; background: #030307;" , "background: #ff66a5" , "background: #ffc3dc" , "background: #ff66a5" , "color: #ff2424; background: #fff" , "color: #ff2424; background: #fff" , "color: #ff2424; background: #fff" ] ; console . log . apply ( console , c ) } else window . console && console . log ( "Pixi.js " + b . VERSION + " - http://www.pixijs.com/" ) ; b . dontSayHello = ! 0 } } , b . Polygon = function ( a ) { if ( a instanceof Array || ( a = Array . prototype . slice . call ( arguments ) ) , a [ 0 ] instanceof b . Point ) { for ( var c = [ ] , d = 0 , e = a . length ; e > d ; d ++ ) c . push ( a [ d ] . x , a [ d ] . y ) ; a = c } this . closed = ! 0 , this . points = a } , b . Polygon . prototype . clone = function ( ) { var a = this . points . slice ( ) ; return new b . Polygon ( a ) } , b . Polygon . prototype . contains = function ( a , b ) { for ( var c = ! 1 , d = this . points . length / 2 , e = 0 , f = d - 1 ; d > e ; f = e ++ ) { var g = this . points [ 2 * e ] , h = this . points [ 2 * e + 1 ] , i = this . points [ 2 * f ] , j = this . points [ 2 * f + 1 ] , k = h > b != j > b && ( i - g ) * ( b - h ) / ( j - h ) + g > a ; k && ( c = ! c ) } return c } , b . Polygon . prototype . constructor = b . Polygon , b . Matrix = function ( ) { this . a = 1 , this . b = 0 , this . c = 0 , this . d = 1 , this . tx = 0 , this . ty = 0 } , b . Matrix . prototype . fromArray = function ( a ) { this . a = a [ 0 ] , this . b = a [ 1 ] , this . c = a [ 3 ] , this . d = a [ 4 ] , this . tx = a [ 2 ] , this . ty = a [ 5 ] } , b . Matrix . prototype . toArray = function ( a ) { this . array || ( this . array = new b . Float32Array ( 9 ) ) ; var c = this . array ; return a ? ( c [ 0 ] = this . a , c [ 1 ] = this . b , c [ 2 ] = 0 , c [ 3 ] = this . c , c [ 4 ] = this . d , c [ 5 ] = 0 , c [ 6 ] = this . tx , c [ 7 ] = this . ty , c [ 8 ] = 1 ) : ( c [ 0 ] = this . a , c [ 1 ] = this . c , c [ 2 ] = this . tx , c [ 3 ] = this . b , c [ 4 ] = this . d , c [ 5 ] = this . ty , c [ 6 ] = 0 , c [ 7 ] = 0 , c [ 8 ] = 1 ) , c } , b . Matrix . prototype . apply = function ( a , c ) { return c = c || new b . Point , c . x = this . a * a . x + this . b * a . y + this . tx , c . y = this . c * a . x + this . d * a . y + this . ty , c } , b . Matrix . prototype . applyInverse = function ( a , c ) { c = c || new b . Point ; var d = 1 / ( this . a * this . d + this . c * - this . b ) ; return c . x = this . d * d * a . x + - this . c * d * a . y + ( this . ty * this . c - this . tx * this . d ) * d , c . y = this . a * d * a . y + - this . b * d * a . x + ( - this . ty * this . a + this . tx * this . b ) * d , c } , b . Matrix . prototype . translate = function ( a , b ) { return this . tx += a , this . ty += b , this } , b . Matrix . prototype . scale = function ( a , b ) { return this . a *= a , this . d *= b , this . c *= a , this . b *= b , this . tx *= a , this . ty *= b , this } , b . Matrix . prototype . rotate = function ( a ) { var b = Math . cos ( a ) , c = Math . sin ( a ) , d = this . a , e = this . c , f = this . tx ; return this . a = d * b - this . b * c , this . b = d * c + this . b * b , this . c = e * b - this . d * c , this . d = e * c + this . d * b , this . tx = f * b - this . ty * c , this . ty = f * c + this . ty * b , this } , b . Matrix . prototype . append = function ( a ) { var b = this . a , c = this . b , d = this . c , e = this . d ; return this . a = a . a * b + a . b * d , this . b = a . a * c + a . b * e , this . c = a . c * b + a . d * d , this . d = a . c * c + a . d * e , this . tx = a . tx * b + a . ty * d + this . tx , this . ty = a . tx * c + a . ty * e + this . ty , this } , b . Matrix . prototype . identity = function ( ) { return this . a = 1 , this . b = 0 , this . c = 0 , this . d = 1 , this . tx = 0 , this . ty = 0 , this } , b . identityMatrix = new b . Matrix , b . DisplayObject = function ( ) { this . position = new b . Point , this . scale = new b . Point ( 1 , 1 ) , this . transformCallback = null , this . transformCallbackContext = null , this . pivot = new b . Point ( 0 , 0 ) , this . rotation = 0 , this . alpha = 1 , this . visible = ! 0 , this . hitArea = null , this . buttonMode = ! 1 , this . renderable = ! 1 , this . parent = null , this . stage = null , this . worldAlpha = 1 , this . _interactive = ! 1 , this . defaultCursor = "pointer" , this . worldTransform = new b . Matrix , this . _sr = 0 , this . _cr = 1 , this . filterArea = null , this . _bounds = new b . Rectangle ( 0 , 0 , 1 , 1 ) , this . _currentB
break } } } if ( r ) e . push ( i , j , k ) , f . splice ( ( g + 1 ) % h , 1 ) , h -- , g = 0 ; else if ( g ++ > 3 * h ) { if ( ! c ) return window . console . log ( "PIXI Warning: shape too complex to fill" ) , [ ] ; for ( e = [ ] , f = [ ] , g = 0 ; d > g ; g ++ ) f . push ( g ) ; g = 0 , h = d , c = ! 1 } } return e . push ( f [ 0 ] , f [ 1 ] , f [ 2 ] ) , e } , b . PolyK . _PointInTriangle = function ( a , b , c , d , e , f , g , h ) { var i = g - c , j = h - d , k = e - c , l = f - d , m = a - c , n = b - d , o = i * i + j * j , p = i * k + j * l , q = i * m + j * n , r = k * k + l * l , s = k * m + l * n , t = 1 / ( o * r - p * p ) , u = ( r * q - p * s ) * t , v = ( o * s - p * q ) * t ; return u >= 0 && v >= 0 && 1 > u + v } , b . PolyK . _convex = function ( a , b , c , d , e , f , g ) { return ( b - d ) * ( e - c ) + ( c - a ) * ( f - d ) >= 0 === g } , b . initDefaultShaders = function ( ) { } , 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 , d ) { var e = b . CompileFragmentShader ( a , d ) , f = b . CompileVertexShader ( a , c ) , g = a . createProgram ( ) ; return a . attachShader ( g , f ) , a . attachShader ( g , e ) , a . linkProgram ( g ) , a . getProgramParameter ( g , a . LINK _STATUS ) || window . console . log ( "Could not initialise shaders" ) , g } , b . PixiShader = function ( a ) { this . _UID = b . _UID ++ , this . gl = a , this . program = null , this . fragmentSrc = [ "precision lowp float;" , "varying vec2 vTextureCoord;" , "varying vec4 vColor;" , "uniform sampler2D uSampler;" , "void main(void) {" , " gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;" , "}" ] , this . textureCount = 0 , this . firstRun = ! 0 , this . dirty = ! 0 , this . attributes = [ ] , this . init ( ) } , b . PixiShader . prototype . constructor = b . PixiShader , b . PixiShader . prototype . init = function ( ) { var a = this . gl , c = b . compileProgram ( a , this . vertexSrc || b . PixiShader . defaultVertexSrc , this . fragmentSrc ) ; a . useProgram ( c ) , this . uSampler = a . getUniformLocation ( c , "uSampler" ) , this . projectionVector = a . getUniformLocation ( c , "projectionVector" ) , this . offsetVector = a . getUniformLocation ( c , "offsetVector" ) , this . dimensions = a . getUniformLocation ( c , "dimensions" ) , this . aVertexPosition = a . getAttribLocation ( c , "aVertexPosition" ) , this . aTextureCoord = a . getAttribLocation ( c , "aTextureCoord" ) , this . colorAttribute = a . getAttribLocation ( c , "aColor" ) , - 1 === this . colorAttribute && ( this . colorAttribute = 2 ) , this . attributes = [ this . aVertexPosition , this . aTextureCoord , this . colorAttribute ] ; for ( var d in this . uniforms ) this . uniforms [ d ] . uniformLocation = a . getUniformLocation ( c , d ) ; this . initUniforms ( ) , this . program = c } , b . PixiShader . prototype . initUniforms = function ( ) { this . textureCount = 1 ; var a , b = this . gl ; for ( var c in this . uniforms ) { a = this . uniforms [ c ] ; var d = a . type ; "sampler2D" === d ? ( a . _init = ! 1 , null !== a . value && this . initSampler2D ( a ) ) : "mat2" === d || "mat3" === d || "mat4" === d ? ( a . glMatrix = ! 0 , a . glValueLength = 1 , "mat2" === d ? a . glFunc = b . uniformMatrix2fv : "mat3" === d ? a . glFunc = b . uniformMatrix3fv : "mat4" === d && ( a . glFunc = b . uniformMatrix4fv ) ) : ( a . glFunc = b [ "uniform" + d ] , a . glValueLength = "2f" === d || "2i" === d ? 2 : "3f" === d || "3i" === d ? 3 : "4f" === d || "4i" === d ? 4 : 1 ) } } , b . PixiShader . prototype . initSampler2D = function ( a ) { if ( a . value && a . value . baseTexture && a . value . baseTexture . hasLoaded ) { var b = this . gl ; if ( b . activeTexture ( b [ "TEXTURE" + this . textureCount ] ) , b . bindTexture ( b . TEXTURE _2D , a . value . baseTexture . _glTextures [ b . id ] ) , a . textureData ) { var c = a . textureData , d = c . magFilter ? c . magFilter : b . LINEAR , e = c . minFilter ? c . minFilter : b . LINEAR , f = c . wrapS ? c . wrapS : b . CLAMP _TO _EDGE , g = c . wrapT ? c . wrapT : b . CLAMP _TO _EDGE , h = c . luminance ? b . LUMINANCE : b . RGBA ; if ( c . repeat && ( f = b . REPEAT , g = b . REPEAT ) , b . pixelStorei ( b . UNPACK _FLIP _Y _WEBGL , ! ! c . flipY ) , c . width ) { var i = c . width ? c . width : 512 , j = c . height ? c . height : 2 , k = c . border ? c . border : 0 ; b . texImage2D ( b . TEXTURE _2D , 0 , h , i , j , k , h , b . UNSIGNED _BYTE , null ) } else b . texImage2D ( b . TEXTURE _2D , 0 , h , b . RGBA , b . UNSIGNED _BYTE , a . value . baseTexture . source ) ; b . texParameteri ( b . TEXTURE _2D , b . TEXTURE _MAG _FILTER , d ) , b . texParameteri ( b . TEXTURE _2D , b . TEXTURE _MIN _FILTER , e ) , b . texParameteri ( b . TEXTURE _2D , b . TEXTURE _WRAP _S , f ) , b . texParameteri ( b . TEXTURE _2D , b . TEXTURE _WRAP _T , g ) } b . uniform1i ( a . uniformLocation , this . textureCount ) , a . _init = ! 0 , this . textureCount ++ } } , b . PixiShader . prototype . syncUniforms = function ( ) { this . textureCount = 1 ; var a , c = this . gl ; for ( var d in this . uniforms ) a = thi
} , b . WebGLShaderManager . prototype . setAttribs = function ( a ) { var b ; for ( b = 0 ; b < this . tempAttribState . length ; b ++ ) this . tempAttribState [ b ] = ! 1 ; for ( b = 0 ; b < a . length ; b ++ ) { var c = a [ b ] ; this . tempAttribState [ c ] = ! 0 } var d = this . gl ; for ( b = 0 ; b < this . attribState . length ; b ++ ) this . attribState [ b ] !== this . tempAttribState [ b ] && ( this . attribState [ b ] = this . tempAttribState [ b ] , this . tempAttribState [ b ] ? d . enableVertexAttribArray ( b ) : d . disableVertexAttribArray ( b ) ) } , b . WebGLShaderManager . prototype . setShader = function ( a ) { return this . _currentId === a . _UID ? ! 1 : ( this . _currentId = a . _UID , this . currentShader = a , this . gl . useProgram ( a . program ) , this . setAttribs ( a . attributes ) , ! 0 ) } , b . WebGLShaderManager . prototype . destroy = function ( ) { this . attribState = null , this . tempAttribState = null , this . primitiveShader . destroy ( ) , this . complexPrimitiveShader . destroy ( ) , this . defaultShader . destroy ( ) , this . fastShader . destroy ( ) , this . stripShader . destroy ( ) , this . gl = null } , b . WebGLSpriteBatch = function ( ) { this . vertSize = 6 , this . size = 2e3 ; var a = 4 * this . size * this . vertSize , c = 6 * this . size ; this . vertices = new Float32Array ( a ) , this . indices = new Uint16Array ( c ) , this . lastIndexCount = 0 ; for ( var d = 0 , e = 0 ; c > d ; d += 6 , e += 4 ) this . indices [ d + 0 ] = e + 0 , this . indices [ d + 1 ] = e + 1 , this . indices [ d + 2 ] = e + 2 , this . indices [ d + 3 ] = e + 0 , this . indices [ d + 4 ] = e + 2 , this . indices [ d + 5 ] = e + 3 ; this . drawing = ! 1 , this . currentBatchSize = 0 , this . currentBaseTexture = null , this . dirty = ! 0 , this . textures = [ ] , this . blendModes = [ ] , this . shaders = [ ] , this . sprites = [ ] , this . defaultShader = new b . AbstractFilter ( [ "precision lowp float;" , "varying vec2 vTextureCoord;" , "varying vec4 vColor;" , "uniform sampler2D uSampler;" , "void main(void) {" , " gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;" , "}" ] ) } , b . WebGLSpriteBatch . prototype . setContext = function ( a ) { this . gl = a , this . vertexBuffer = a . createBuffer ( ) , this . indexBuffer = a . createBuffer ( ) , a . bindBuffer ( a . ELEMENT _ARRAY _BUFFER , this . indexBuffer ) , a . bufferData ( a . ELEMENT _ARRAY _BUFFER , this . indices , a . STATIC _DRAW ) , a . bindBuffer ( a . ARRAY _BUFFER , this . vertexBuffer ) , a . bufferData ( a . ARRAY _BUFFER , this . vertices , a . DYNAMIC _DRAW ) , this . currentBlendMode = 99999 ; var c = new b . PixiShader ( a ) ; c . fragmentSrc = this . defaultShader . fragmentSrc , c . uniforms = { } , c . init ( ) , this . defaultShader . shaders [ a . id ] = c } , b . WebGLSpriteBatch . prototype . begin = function ( a ) { this . renderSession = a , this . shader = this . renderSession . shaderManager . defaultShader , this . start ( ) } , b . WebGLSpriteBatch . prototype . end = function ( ) { this . flush ( ) } , b . WebGLSpriteBatch . prototype . render = function ( a ) { var b = a . texture ; this . currentBatchSize >= this . size && ( this . flush ( ) , this . currentBaseTexture = b . baseTexture ) ; var c = b . _uvs ; if ( c ) { var d , e , f , g , h = a . worldAlpha , i = a . tint , j = this . vertices , k = a . anchor . x , l = a . anchor . y ; if ( b . trim ) { var m = b . trim ; e = m . x - k * m . width , d = e + b . crop . width , g = m . y - l * m . height , f = g + b . crop . height } else d = b . frame . width * ( 1 - k ) , e = b . frame . width * - k , f = b . frame . height * ( 1 - l ) , g = b . frame . height * - l ; var n = 4 * this . currentBatchSize * this . vertSize , o = b . baseTexture . resolution , p = a . worldTransform , q = p . a / o , r = p . b / o , s = p . c / o , t = p . d / o , u = p . tx , v = p . ty ; j [ n ++ ] = q * e + s * g + u , j [ n ++ ] = t * g + r * e + v , j [ n ++ ] = c . x0 , j [ n ++ ] = c . y0 , j [ n ++ ] = h , j [ n ++ ] = i , j [ n ++ ] = q * d + s * g + u , j [ n ++ ] = t * g + r * d + v , j [ n ++ ] = c . x1 , j [ n ++ ] = c . y1 , j [ n ++ ] = h , j [ n ++ ] = i , j [ n ++ ] = q * d + s * f + u , j [ n ++ ] = t * f + r * d + v , j [ n ++ ] = c . x2 , j [ n ++ ] = c . y2 , j [ n ++ ] = h , j [ n ++ ] = i , j [ n ++ ] = q * e + s * f + u , j [ n ++ ] = t * f + r * e + v , j [ n ++ ] = c . x3 , j [ n ++ ] = c . y3 , j [ n ++ ] = h , j [ n ++ ] = i , this . sprites [ this . currentBatchSize ++ ] = a } } , b . WebGLSpriteBatch . prototype . renderTilingSprite = function ( a ) { var c = a . tilingTexture ; this . currentBatchSize >= this . size && ( this . flush ( ) , this . currentBaseTexture = c . baseTexture ) , a . _uvs || ( a . _uvs = new b . TextureUvs ) ; var d = a . _uvs ; a . tilePosition . x %= c . baseTexture . width * a . tileScaleOffset . x , a . tilePosition . y %= c . baseTexture . height * a . tileScaleOffset . y ; var e = a . tilePosition . x / ( c . baseTexture . width * a . tileScaleOffset . x ) , f = a . tilePosition . y / ( c . baseTexture . height * a . tileScaleOffset . y ) , g = a . width / c . baseTexture . width / ( a . tileScale . x * a . tileScaleOffset . x ) , h = a . height / c . baseTexture . height / ( a . tileScale . y * a . tileScaleOffset . y ) ; d . x0 = 0 - e , d . y0 = 0 - f , d . x1 = 1 * g - e , d . y1 = 0 - f , d . x2 = 1 * g - e , d . y2 = 1 * h - f , d . x3 = 0 - e , d . y3 = 1 * h - f ; var i = a . worldAlpha , j = a . tint , k = this . vertices , l = a . width , m = a . height , n = a . anchor . x , o = a . anchor . y , p = l * ( 1 - n ) , q = l * - n , r = m * ( 1 - o ) , s = m * - o , t = 4 * this . currentBatchSize * this . vertSize , u = c
} , b . Strip . prototype . _renderCanvas = function ( a ) { var b = a . context , c = this . worldTransform ; a . roundPixels ? b . setTransform ( c . a , c . b , c . c , c . d , 0 | c . tx , 0 | c . ty ) : b . setTransform ( c . a , c . b , c . c , c . d , c . tx , c . ty ) ; var d = this , e = d . verticies , f = d . uvs , g = e . length / 2 ; this . count ++ ; for ( var h = 0 ; g - 2 > h ; h ++ ) { var i = 2 * h , j = e [ i ] , k = e [ i + 2 ] , l = e [ i + 4 ] , m = e [ i + 1 ] , n = e [ i + 3 ] , o = e [ i + 5 ] ; if ( this . padding > 0 ) { var p = ( j + k + l ) / 3 , q = ( m + n + o ) / 3 , r = j - p , s = m - q , t = Math . sqrt ( r * r + s * s ) ; j = p + r / t * ( t + 3 ) , m = q + s / t * ( t + 3 ) , r = k - p , s = n - q , t = Math . sqrt ( r * r + s * s ) , k = p + r / t * ( t + 3 ) , n = q + s / t * ( t + 3 ) , r = l - p , s = o - q , t = Math . sqrt ( r * r + s * s ) , l = p + r / t * ( t + 3 ) , o = q + s / t * ( t + 3 ) } var u = f [ i ] * d . texture . width , v = f [ i + 2 ] * d . texture . width , w = f [ i + 4 ] * d . texture . width , x = f [ i + 1 ] * d . texture . height , y = f [ i + 3 ] * d . texture . height , z = f [ i + 5 ] * d . texture . height ; b . save ( ) , b . beginPath ( ) , b . moveTo ( j , m ) , b . lineTo ( k , n ) , b . lineTo ( l , o ) , b . closePath ( ) , b . clip ( ) ; var A = u * y + x * w + v * z - y * w - x * v - u * z , B = j * y + x * l + k * z - y * l - x * k - j * z , C = u * k + j * w + v * l - k * w - j * v - u * l , D = u * y * l + x * k * w + j * v * z - j * y * w - x * v * l - u * k * z , E = m * y + x * o + n * z - y * o - x * n - m * z , F = u * n + m * w + v * o - n * w - m * v - u * o , G = u * y * o + x * n * w + m * v * z - m * y * w - x * v * o - u * n * z ; b . transform ( B / A , E / A , C / A , F / A , D / A , G / A ) , b . drawImage ( d . texture . baseTexture . source , 0 , 0 ) , b . restore ( ) } } , b . Strip . prototype . renderStripFlat = function ( a ) { var b = this . context , c = a . verticies , d = c . length / 2 ; this . count ++ , b . beginPath ( ) ; for ( var e = 1 ; d - 2 > e ; e ++ ) { var f = 2 * e , g = c [ f ] , h = c [ f + 2 ] , i = c [ f + 4 ] , j = c [ f + 1 ] , k = c [ f + 3 ] , l = c [ f + 5 ] ; b . moveTo ( g , j ) , b . lineTo ( h , k ) , b . lineTo ( i , l ) } b . fillStyle = "#FF0000" , b . fill ( ) , b . closePath ( ) } , b . Strip . prototype . onTextureUpdate = function ( ) { this . updateFrame = ! 0 } , b . Rope = function ( a , c ) { b . Strip . call ( this , a ) , this . points = c , this . verticies = new b . Float32Array ( 4 * c . length ) , this . uvs = new b . Float32Array ( 4 * c . length ) , this . colors = new b . Float32Array ( 2 * c . length ) , this . indices = new b . Uint16Array ( 2 * c . length ) , this . refresh ( ) } , b . Rope . prototype = Object . create ( b . Strip . prototype ) , b . Rope . prototype . constructor = b . Rope , b . Rope . prototype . refresh = function ( ) { var a = this . points ; if ( ! ( a . length < 1 ) ) { var b = this . uvs , c = a [ 0 ] , d = this . indices , e = this . colors ; this . count -= . 2 , b [ 0 ] = 0 , b [ 1 ] = 0 , b [ 2 ] = 0 , b [ 3 ] = 1 , e [ 0 ] = 1 , e [ 1 ] = 1 , d [ 0 ] = 0 , d [ 1 ] = 1 ; for ( var f , g , h , i = a . length , j = 1 ; i > j ; j ++ ) f = a [ j ] , g = 4 * j , h = j / ( i - 1 ) , j % 2 ? ( b [ g ] = h , b [ g + 1 ] = 0 , b [ g + 2 ] = h , b [ g + 3 ] = 1 ) : ( b [ g ] = h , b [ g + 1 ] = 0 , b [ g + 2 ] = h , b [ g + 3 ] = 1 ) , g = 2 * j , e [ g ] = 1 , e [ g + 1 ] = 1 , g = 2 * j , d [ g ] = g , d [ g + 1 ] = g + 1 , c = f } } , b . Rope . prototype . updateTransform = function ( ) { var a = this . points ; if ( ! ( a . length < 1 ) ) { var c , d = a [ 0 ] , e = { x : 0 , y : 0 } ; this . count -= . 2 ; for ( var f , g , h , i , j , k = this . verticies , l = a . length , m = 0 ; l > m ; m ++ ) f = a [ m ] , g = 4 * m , c = m < a . length - 1 ? a [ m + 1 ] : f , e . y = - ( c . x - d . x ) , e . x = c . y - d . y , h = 10 * ( 1 - m / ( l - 1 ) ) , h > 1 && ( h = 1 ) , i = Math . sqrt ( e . x * e . x + e . y * e . y ) , j = this . texture . height / 2 , e . x /= i , e . y /= i , e . x *= j , e . y *= j , k [ g ] = f . x + e . x , k [ g + 1 ] = f . y + e . y , k [ g + 2 ] = f . x - e . x , k [ g + 3 ] = f . y - e . y , d = f ; b . DisplayObjectContainer . prototype . updateTransform . call ( this ) } } , b . Rope . prototype . setTexture = function ( a ) { this . texture = a } , b . TilingSprite = function ( a , c , d ) { b . Sprite . call ( this , a ) , this . _width = c || 100 , this . _height = d || 100 , this . tileScale = new b . Point ( 1 , 1 ) , this . tileScaleOffset = new b . Point ( 1 , 1 ) , this . tilePosition = new b . Point ( 0 , 0 ) , this . renderable = ! 0 , this . tint = 16777215 , this . blendMode = b . blendModes . NORMAL } , b . TilingSprite . prototype = Object . create ( b . Sprite . prototype ) , b . TilingSprite . prototype . constructor = b . TilingSprite , Object . defineProperty ( b . TilingSprite . prototype , "width" , { get : function ( ) { return this . _width } , set : function ( a ) { this . _width = a } } ) , Object . defineProperty ( b . TilingSprite . prototype , "height" , { get : function ( ) { return this . _height } , set : function ( a ) { this . _height = a } } ) , b . TilingSprite . prototype . setTexture = function ( a ) { this . texture !== a && ( this . texture = a , this . refreshTexture = ! 0 , this . cachedTint = 16777215 ) } , b . TilingSprite . prototype . _renderWebGL = function ( a ) { if ( this . visible !== ! 1 && 0 !== this . alpha ) { var c , d ; for ( this . _mask && ( a . spriteBatch . stop ( ) , a . maskManager . pushMask ( this . mask , a ) , a . spriteBatch . start ( ) ) , this . _filters && ( a . spriteBatch . flush ( ) , a . filterManager . pushFilter ( this . _filterBlock ) ) , ! this . tilingTexture || this . refreshTexture ? ( this . generateTilingTexture ( ! 0 ) , this . tilingTexture && this . tilingTexture . needsUpdate && ( b . updateWebGLTexture ( this . tilingTexture . baseTexture , a . gl ) , this . tilingTexture . needsUpdate = ! 1 ) ) : a . spriteBatch . renderTilingSprite ( this ) , c = 0 , d = this . children . length ; d > c ; c ++ ) this . children [ c ] . _renderWebGL ( a ) ; a . spriteBatc
} } ) , Object . defineProperty ( b . Rectangle . prototype , "topLeft" , { get : function ( ) { return new b . Point ( this . x , this . y ) } , set : function ( a ) { this . x = a . x , this . y = a . y } } ) , Object . defineProperty ( b . Rectangle . prototype , "topRight" , { get : function ( ) { return new b . Point ( this . x + this . width , this . y ) } , set : function ( a ) { this . right = a . x , this . y = a . y } } ) , Object . defineProperty ( b . Rectangle . prototype , "empty" , { get : function ( ) { return ! this . width || ! this . height } , set : function ( a ) { a === ! 0 && this . setTo ( 0 , 0 , 0 , 0 ) } } ) , b . Rectangle . prototype . constructor = b . Rectangle , b . Rectangle . inflate = function ( a , b , c ) { return a . x -= b , a . width += 2 * b , a . y -= c , a . height += 2 * c , a } , b . Rectangle . inflatePoint = function ( a , c ) { return b . Rectangle . inflate ( a , c . x , c . y ) } , b . Rectangle . size = function ( a , c ) { return "undefined" == typeof c || null === c ? c = new b . Point ( a . width , a . height ) : c . setTo ( a . width , a . height ) , c } , b . Rectangle . clone = function ( a , c ) { return "undefined" == typeof c || null === c ? c = new b . Rectangle ( a . x , a . y , a . width , a . height ) : c . setTo ( a . x , a . y , a . width , a . height ) , c } , b . Rectangle . contains = function ( a , b , c ) { return a . width <= 0 || a . height <= 0 ? ! 1 : b >= a . x && b < a . right && c >= a . y && c < a . bottom } , b . Rectangle . containsRaw = function ( a , b , c , d , e , f ) { return e >= a && a + c > e && f >= b && b + d > f } , b . Rectangle . containsPoint = function ( a , c ) { return b . Rectangle . contains ( a , c . x , c . y ) } , b . Rectangle . containsRect = function ( a , b ) { return a . volume > b . volume ? ! 1 : a . x >= b . x && a . y >= b . y && a . right < b . right && a . bottom < b . bottom } , b . Rectangle . equals = function ( a , b ) { return a . x == b . x && a . y == b . y && a . width == b . width && a . height == b . height } , b . Rectangle . intersection = function ( a , c , d ) { return "undefined" == typeof d && ( d = new b . Rectangle ) , b . Rectangle . intersects ( a , c ) && ( d . x = Math . max ( a . x , c . x ) , d . y = Math . max ( a . y , c . y ) , d . width = Math . min ( a . right , c . right ) - d . x , d . height = Math . min ( a . bottom , c . bottom ) - d . y ) , d } , b . Rectangle . intersects = function ( a , b ) { return a . width <= 0 || a . height <= 0 || b . width <= 0 || b . height <= 0 ? ! 1 : ! ( a . right < b . x || a . bottom < b . y || a . x > b . right || a . y > b . bottom ) } , b . Rectangle . intersectsRaw = function ( a , b , c , d , e , f ) { return "undefined" == typeof f && ( f = 0 ) , ! ( b > a . right + f || c < a . left - f || d > a . bottom + f || e < a . top - f ) } , b . Rectangle . union = function ( a , c , d ) { return "undefined" == typeof d && ( d = new b . Rectangle ) , d . setTo ( Math . min ( a . x , c . x ) , Math . min ( a . y , c . y ) , Math . max ( a . right , c . right ) - Math . min ( a . left , c . left ) , Math . max ( a . bottom , c . bottom ) - Math . min ( a . top , c . top ) ) } , b . Rectangle . aabb = function ( a , c ) { "undefined" == typeof c && ( c = new b . Rectangle ) ; var d = Number . MIN _VALUE , e = Number . MAX _VALUE , f = Number . MIN _VALUE , g = Number . MAX _VALUE ; return a . forEach ( function ( a ) { a . x > d && ( d = a . x ) , a . x < e && ( e = a . x ) , a . y > f && ( f = a . y ) , a . y < g && ( g = a . y ) } ) , c . setTo ( e , g , d - e , f - g ) , c } , PIXI . Rectangle = b . Rectangle , PIXI . EmptyRectangle = new b . Rectangle ( 0 , 0 , 0 , 0 ) , b . Line = function ( a , c , d , e ) { a = a || 0 , c = c || 0 , d = d || 0 , e = e || 0 , this . start = new b . Point ( a , c ) , this . end = new b . Point ( d , e ) } , b . Line . prototype = { setTo : function ( a , b , c , d ) { return this . start . setTo ( a , b ) , this . end . setTo ( c , d ) , this } , fromSprite : function ( a , b , c ) { return "undefined" == typeof c && ( c = ! 1 ) , c ? this . setTo ( a . center . x , a . center . y , b . center . x , b . center . y ) : this . setTo ( a . x , a . y , b . x , b . y ) } , intersects : function ( a , c , d ) { return b . Line . intersectsPoints ( this . start , this . end , a . start , a . end , c , d ) } , pointOnLine : function ( a , b ) { return ( a - this . start . x ) * ( this . end . y - this . start . y ) === ( this . end . x - this . start . x ) * ( b - this . start . y ) } , pointOnSegment : function ( a , b ) { var c = Math . min ( this . start . x , this . end . x ) , d = Math . max ( this . start . x , this . end . x ) , e = Math . min ( this . start . y , this . end . y ) , f = Math . max ( this . start . y , this . end . y ) ; return this . pointOnLine ( a , b ) && a >= c && d >= a && b >= e && f >= b } , coordinatesOnLine : function ( a , b ) { "undefined" == typeof a && ( a = 1 ) , "undefined" == typeof b && ( b = [ ] ) ; var c = Math . round ( this . start . x ) , d = Math . round ( this . start . y ) , e = Math . round ( this . end . x ) , f = Math . round ( this . end . y ) , g = Math . abs ( e - c ) , h = Math . abs ( f - d ) , i = e > c ? 1 : - 1 , j = f > d ? 1 : - 1 , k = g - h ; b . push ( [ c , d ] ) ; for ( var l = 1 ; c != e || d != f ; ) { var m = k << 1 ; m > - h && ( k -= h , c += i ) , g > m && ( k += g , d += j ) , l % a === 0 && b . push ( [ c , d ] ) , l ++ } return b } , clone : function ( a ) { return "undefined" == typeof a || null === a ? a = new b . Line ( this . start . x , this . start . y , this . end . x , this . end . y ) : a . setTo ( this . start . x , this . start . y , this . end . x , this . end . y ) , a } } , Object . defineProperty ( b . Line . prototype , "length" , { get : function ( ) { return Math . sqrt ( ( this . end . x - this . start . x ) * ( this . end . x - this . start . x ) + ( this . end . y - this . start . y ) * ( this . end . y - this . start .
} , exists : function ( a ) { return this . list . indexOf ( a ) > - 1 } , reset : function ( ) { this . list . length = 0 , this . total = 0 } , remove : function ( a ) { var b = this . list . indexOf ( a ) ; return b > - 1 ? ( this . list . splice ( b , 1 ) , this . total -- , a ) : void 0 } , setAll : function ( a , b ) { for ( var c = this . list . length ; c -- ; ) this . list [ c ] && this . list [ c ] [ a ] && ( this . list [ c ] [ a ] = b ) } , callAll : function ( a ) { for ( var b = Array . prototype . splice . call ( arguments , 1 ) , c = this . list . length ; c -- ; ) this . list [ c ] && this . list [ c ] [ a ] && this . list [ c ] [ a ] . apply ( this . list [ c ] , b ) } } , Object . defineProperty ( b . ArrayList . prototype , "first" , { get : function ( ) { return this . position = 0 , this . total > 0 ? this . list [ 0 ] : null } } ) , Object . defineProperty ( b . ArrayList . prototype , "next" , { get : function ( ) { return this . position < this . total ? ( this . position ++ , this . list [ this . position ] ) : null } } ) , b . ArrayList . prototype . constructor = b . ArrayList , b . Signal = function ( ) { this . _bindings = [ ] , this . _prevParams = null ; var a = this ; this . dispatch = function ( ) { b . Signal . prototype . dispatch . apply ( a , arguments ) } , this . memorize = ! 1 , this . _shouldPropagate = ! 0 , this . active = ! 0 } , b . Signal . prototype = { validateListener : function ( a , b ) { if ( "function" != typeof a ) throw new Error ( "Phaser.Signal: listener is a required param of {fn}() and should be a Function." . replace ( "{fn}" , b ) ) } , _registerListener : function ( a , c , d , e ) { var f , g = this . _indexOfListener ( a , d ) ; if ( - 1 !== g ) { if ( f = this . _bindings [ g ] , f . isOnce ( ) !== c ) throw new Error ( "You cannot add" + ( c ? "" : "Once" ) + "() then add" + ( c ? "Once" : "" ) + "() the same listener without removing the relationship first." ) } else f = new b . SignalBinding ( this , a , c , d , e ) , this . _addBinding ( f ) ; return this . memorize && this . _prevParams && f . execute ( this . _prevParams ) , f } , _addBinding : function ( a ) { var b = this . _bindings . length ; do b -- ; while ( this . _bindings [ b ] && a . _priority <= this . _bindings [ b ] . _priority ) ; this . _bindings . splice ( b + 1 , 0 , a ) } , _indexOfListener : function ( a , b ) { for ( var c , d = this . _bindings . length ; d -- ; ) if ( c = this . _bindings [ d ] , c . _listener === a && c . context === b ) return d ; return - 1 } , has : function ( a , b ) { return - 1 !== this . _indexOfListener ( a , b ) } , add : function ( a , b , c ) { return this . validateListener ( a , "add" ) , this . _registerListener ( a , ! 1 , b , c ) } , addOnce : function ( a , b , c ) { return this . validateListener ( a , "addOnce" ) , this . _registerListener ( a , ! 0 , b , c ) } , remove : function ( a , b ) { this . validateListener ( a , "remove" ) ; var c = this . _indexOfListener ( a , b ) ; return - 1 !== c && ( this . _bindings [ c ] . _destroy ( ) , this . _bindings . splice ( c , 1 ) ) , a } , removeAll : function ( a ) { "undefined" == typeof a && ( a = null ) ; for ( var b = this . _bindings . length ; b -- ; ) a ? this . _bindings [ b ] . context === a && ( this . _bindings [ b ] . _destroy ( ) , this . _bindings . splice ( b , 1 ) ) : this . _bindings [ b ] . _destroy ( ) ; a || ( this . _bindings . length = 0 ) } , getNumListeners : function ( ) { return this . _bindings . length } , halt : function ( ) { this . _shouldPropagate = ! 1 } , dispatch : function ( ) { if ( this . active ) { var a , b = Array . prototype . slice . call ( arguments ) , c = this . _bindings . length ; if ( this . memorize && ( this . _prevParams = b ) , c ) { a = this . _bindings . slice ( ) , this . _shouldPropagate = ! 0 ; do c -- ; while ( a [ c ] && this . _shouldPropagate && a [ c ] . execute ( b ) !== ! 1 ) } } } , forget : function ( ) { this . _prevParams = null } , dispose : function ( ) { this . removeAll ( ) , delete this . _bindings , delete this . _prevParams } , toString : function ( ) { return "[Phaser.Signal active:" + this . active + " numListeners:" + this . getNumListeners ( ) + "]" } } , b . Signal . prototype . constructor = b . Signal , b . SignalBinding = function ( a , b , c , d , e ) { this . _listener = b , this . _isOnce = c , this . context = d , this . _signal = a , this . _priority = e || 0 , this . callCount = 0 , this . active = ! 0 , this . params = null } , b . SignalBinding . prototype = { execute : function ( a ) { var b , c ; return this . active && this . _listener && ( c = this . params ? this . params . concat ( a ) : a , b = this . _listener . apply ( this . context , c ) , this . callCount ++ , this . _isOnce && this . detach ( ) ) , b } , detach : function ( ) { return this . isBound ( ) ? this . _signal . remove ( this . _listener , this . context ) : null } , isBound : function ( ) { return ! ! this . _signal && ! ! this . _listener } , isOnce : function ( ) { return this . _isOnce } , getListener : function ( ) { return this . _listener } , getSignal : function ( ) { return this . _signal } , _destroy : function ( ) { delete this . _signal , delete this . _listener , delete this . context } , toString : function ( ) { return "[Phaser.SignalBinding isOnce:" + this . _isOnce + ", isBound:" + this . isBound ( ) + ", active:" + this . active + "]" } } , b . SignalBinding . prototype . constructor =
return a . style . margin = "0" , a . style . padding = "0" , a . style . background = "#000" , a } , this . _createdFullScreenTarget = null , this . enterFullScreen = new b . Signal , this . leaveFullScreen = new b . Signal , this . fullScreenFailed = new b . Signal , this . orientation = 0 , window . orientation ? this . orientation = 0 | window . orientation : window . outerWidth > window . outerHeight && ( this . orientation = 90 ) , this . scaleFactor = new b . Point ( 1 , 1 ) , this . scaleFactorInversed = new b . Point ( 1 , 1 ) , this . noMargins = ! 1 , this . margin = new b . Rectangle ( 0 , 0 , 0 , 0 ) , this . bounds = new b . Rectangle , this . aspectRatio = 0 , this . sourceAspectRatio = 0 , this . event = null , this . windowConstraints = { left : ! 1 , top : ! 1 , bottom : ! 0 , right : ! 0 } , this . _scaleMode = b . ScaleManager . NO _SCALE , this . _fullScreenScaleMode = b . ScaleManager . NO _SCALE , this . parentIsWindow = ! 1 , this . parentNode = null , this . parentScaleFactor = new b . Point ( 1 , 1 ) , this . trackParentInterval = 2e3 , this . onSizeChange = new b . Signal , this . onResize = null , this . onResizeContext = null , this . supportsFullScreen = ! 1 , this . _fullScreenRestore = null , this . _gameSize = new b . Rectangle , this . _lastSizeCheck = 0 , this . _sizeThrottle = 0 , this . _sizeThrottleReset = 100 , this . _parentBounds = new b . Rectangle , this . _lastResizeBounds = new b . Rectangle , a . config && this . parseConfig ( a . config ) , this . setupScale ( c , d ) } , b . ScaleManager . EXACT _FIT = 0 , b . ScaleManager . NO _SCALE = 1 , b . ScaleManager . SHOW _ALL = 2 , b . ScaleManager . RESIZE = 3 , b . ScaleManager . prototype = { boot : function ( ) { this . supportsFullScreen = this . game . device . fullscreen && ! this . game . device . cocoonJS , this . fullScreenTarget = this . game . canvas ; var a = this ; this . _orientationChange = function ( b ) { return a . orientationChange ( b ) } , this . _windowResize = function ( b ) { return a . windowResize ( b ) } , window . addEventListener ( "orientationchange" , this . _orientationChange , ! 1 ) , window . addEventListener ( "resize" , this . _windowResize , ! 1 ) , this . supportsFullScreen && ( this . _fullScreenChange = function ( b ) { return a . fullScreenChange ( b ) } , this . _fullScreenError = function ( b ) { return a . fullScreenError ( b ) } , document . addEventListener ( "webkitfullscreenchange" , this . _fullScreenChange , ! 1 ) , document . addEventListener ( "mozfullscreenchange" , this . _fullScreenChange , ! 1 ) , document . addEventListener ( "MSFullscreenChange" , this . _fullScreenChange , ! 1 ) , document . addEventListener ( "fullscreenchange" , this . _fullScreenChange , ! 1 ) , document . addEventListener ( "webkitfullscreenerror" , this . _fullScreenError , ! 1 ) , document . addEventListener ( "mozfullscreenerror" , this . _fullScreenError , ! 1 ) , document . addEventListener ( "MSFullscreenError" , this . _fullScreenError , ! 1 ) , document . addEventListener ( "fullscreenerror" , this . _fullScreenError , ! 1 ) ) , this . updateDimensions ( this . width , this . height , ! 0 ) , b . Canvas . getOffset ( this . game . canvas , this . offset ) , this . bounds . setTo ( this . offset . x , this . offset . y , this . width , this . height ) } , parseConfig : function ( a ) { a . scaleMode && ( this . scaleMode = a . scaleMode ) , a . fullScreenScaleMode && ( this . fullScreenScaleMode = a . fullScreenScaleMode ) , a . fullScreenTarget && ( this . fullScreenTarget = a . fullScreenTarget ) } , setupScale : function ( a , c ) { var d , e = new b . Rectangle ; "" !== this . game . parent && ( "string" == typeof this . game . parent ? d = document . getElementById ( this . game . parent ) : this . game . parent && 1 === this . game . parent . nodeType && ( d = this . game . parent ) ) , d ? ( this . parentNode = d , this . parentIsWindow = ! 1 , this . getParentBounds ( this . _parentBounds ) , e . width = this . _parentBounds . width , e . height = this . _parentBounds . height , this . offset . set ( this . _parentBounds . x , this . _parentBounds . y ) ) : ( this . parentNode = null , this . parentIsWindow = ! 0 , e . width = window . innerWidth , e . height = window . innerHeight , this . offset . set ( 0 , 0 ) ) ; var f = 0 , g = 0 ; "number" == typeof a ? f = a : ( this . parentScaleFactor . x = parseInt ( a , 10 ) / 100 , f = e . width * this . parentScaleFactor . x ) , "number" == typeof c ? g = c : ( this . parentScaleFactor . y = parseInt ( c , 10 ) / 100 , g = e . height * this . parentScaleFactor . y ) , this . grid = new b . FlexGrid ( this , f , g ) , this . updateDimensions ( f , g , ! 1 ) } , setGameSize : function ( a , c ) { this . _gameSize . setTo ( 0 , 0 , a , c ) , this . currentScaleMode !== b . ScaleManager . RESIZE && this . updateDimensions ( a , c , ! 0 ) , this . queueUpdate ( ! 0 ) } , setResizeCallback : function ( a , b ) { this . onResize = a , this . onResizeContext = b } , signalSizeChange : function ( ) { var a = this . width , c = this . height ; ( a !== this . _lastResizeBounds . width || c !== this . _lastResizeBounds . height ) && ( this . _lastResizeBounds . setTo ( 0 , 0 , a , c ) , this . grid . onResi
if ( this . pointer2 . active && this . pointer2 . identifier === a . identifier ) return this . pointer2 . move ( a ) ; for ( var b = 2 ; b < this . pointers . length ; b ++ ) { var c = this . pointers [ b ] ; if ( c . active && c . identifier === a . identifier ) return c . move ( a ) } return null } , stopPointer : function ( a ) { if ( this . pointer1 . active && this . pointer1 . identifier === a . identifier ) return this . pointer1 . stop ( a ) ; if ( this . pointer2 . active && this . pointer2 . identifier === a . identifier ) return this . pointer2 . stop ( a ) ; for ( var b = 2 ; b < this . pointers . length ; b ++ ) { var c = this . pointers [ b ] ; if ( c . active && c . identifier === a . identifier ) return c . stop ( a ) } return null } , countActivePointers : function ( a ) { "undefined" == typeof a && ( a = this . pointers . length ) ; for ( var b = a , c = 0 ; c < this . pointers . length && b > 0 ; c ++ ) { var d = this . pointers [ c ] ; d . active && b -- } return this . currentPointers = a - b , a - b } , getPointer : function ( a ) { "undefined" == typeof a && ( a = ! 1 ) ; for ( var b = 0 ; b < this . pointers . length ; b ++ ) { var c = this . pointers [ b ] ; if ( c . active === a ) return c } return null } , getPointerFromIdentifier : function ( a ) { for ( var b = 0 ; b < this . pointers . length ; b ++ ) { var c = this . pointers [ b ] ; if ( c . identifier === a ) return c } return null } , getPointerFromId : function ( a ) { for ( var b = 0 ; b < this . pointers . length ; b ++ ) { var c = this . pointers [ b ] ; if ( c . pointerId === a ) return c } return null } , getLocalPosition : function ( a , c , d ) { "undefined" == typeof d && ( d = new b . Point ) ; var e = a . worldTransform , f = 1 / ( e . a * e . d + e . c * - e . b ) ; return d . setTo ( e . d * f * c . x + - e . c * f * c . y + ( e . ty * e . c - e . tx * e . d ) * f , e . a * f * c . y + - e . b * f * c . x + ( - e . ty * e . a + e . tx * e . b ) * f ) } , hitTest : function ( a , c , d ) { if ( ! a . worldVisible ) return ! 1 ; if ( this . getLocalPosition ( a , c , this . _localPoint ) , d . copyFrom ( this . _localPoint ) , a . hitArea && a . hitArea . contains ) return a . hitArea . contains ( this . _localPoint . x , this . _localPoint . y ) ; if ( a instanceof PIXI . Sprite ) { var e = a . texture . frame . width , f = a . texture . frame . height , g = - e * a . anchor . x ; if ( this . _localPoint . x >= g && this . _localPoint . x < g + e ) { var h = - f * a . anchor . y ; if ( this . _localPoint . y >= h && this . _localPoint . y < h + f ) return ! 0 } } else if ( a instanceof b . TileSprite ) { var e = a . width , f = a . height , g = - e * a . anchor . x ; if ( this . _localPoint . x >= g && this . _localPoint . x < g + e ) { var h = - f * a . anchor . y ; if ( this . _localPoint . y >= h && this . _localPoint . y < h + f ) return ! 0 } } else if ( a instanceof b . Graphics ) for ( var i = 0 ; i < a . graphicsData . length ; i ++ ) { var j = a . graphicsData [ i ] ; if ( j . fill && j . shape && j . shape . contains ( this . _localPoint . x , this . _localPoint . y ) ) return ! 0 } for ( var i = 0 , k = a . children . length ; k > i ; i ++ ) if ( this . hitTest ( a . children [ i ] , c , d ) ) return ! 0 ; return ! 1 } , onClickTrampoline : function ( ) { this . activePointer . processClickTrampolines ( ) } } , b . Input . prototype . constructor = b . Input , Object . defineProperty ( b . Input . prototype , "x" , { get : function ( ) { return this . _x } , set : function ( a ) { this . _x = Math . floor ( a ) } } ) , Object . defineProperty ( b . Input . prototype , "y" , { get : function ( ) { return this . _y } , set : function ( a ) { this . _y = Math . floor ( a ) } } ) , Object . defineProperty ( b . Input . prototype , "pollLocked" , { get : function ( ) { return this . pollRate > 0 && this . _pollCounter < this . pollRate } } ) , Object . defineProperty ( b . Input . prototype , "totalInactivePointers" , { get : function ( ) { return this . pointers . length - this . countActivePointers ( ) } } ) , Object . defineProperty ( b . Input . prototype , "totalActivePointers" , { get : function ( ) { return this . countActivePointers ( ) } } ) , Object . defineProperty ( b . Input . prototype , "worldX" , { get : function ( ) { return this . game . camera . view . x + this . x } } ) , Object . defineProperty ( b . Input . prototype , "worldY" , { get : function ( ) { return this . game . camera . view . y + this . y } } ) , Object . defineProperty ( b . Input . prototype , "disabled" , { get : function ( ) { return ! this . enabled } , set : function ( a ) { this . enabled = ! a } } ) , b . Key = function ( a , c ) { this . game = a , this . _enabled = ! 0 , this . event = null , this . isDown = ! 1 , this . isUp = ! 0 , this . altKey = ! 1 , this . ctrlKey = ! 1 , this . shiftKey = ! 1 , this . timeDown = 0 , this . duration = 0 , this . timeUp = - 2500 , this . repeats = 0 , this . keyCode = c , this . onDown = new b . Signal , this . onHoldCallback = null , this . onHoldContext = null , this . onUp = new b . Signal } , b . Key . prototype = { update : function ( ) { this . _enabled && this . isDown && ( this . duration = this . game . time . now - this . timeDown , this . repeats ++ , this . onHoldCallback && this . onHoldCallback . call ( this . onHoldContext , this ) ) } , processKeyDown : function ( a ) { this . _enabled && ( this . event = a , this . isDown || ( this . altKey = a . altKey , this . ctrlKey = a . ctrlKey , this . shiftKey = a . shiftKey , this . isDown = ! 0 ,
this . _rawPads . push ( b ) , this . _gamepads [ b . index ] . connect ( b ) } , onGamepadDisconnected : function ( a ) { var b = a . gamepad ; for ( var c in this . _rawPads ) this . _rawPads [ c ] . index === b . index && this . _rawPads . splice ( c , 1 ) ; this . _gamepads [ b . index ] . disconnect ( ) } , update : function ( ) { this . _pollGamepads ( ) , this . pad1 . pollStatus ( ) , this . pad2 . pollStatus ( ) , this . pad3 . pollStatus ( ) , this . pad4 . pollStatus ( ) } , _pollGamepads : function ( ) { if ( navigator . getGamepads ) var a = navigator . getGamepads ( ) ; else if ( navigator . webkitGetGamepads ) var a = navigator . webkitGetGamepads ( ) ; else if ( navigator . webkitGamepads ) var a = 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 } , destroy : function ( ) { this . stop ( ) ; for ( var a = 0 ; a < this . _gamepads . length ; a ++ ) this . _gamepads [ a ] . destroy ( ) } } , b . Gamepad . prototype . constructor = b . Gamepad , Object . defineProperty ( b . Gamepad . prototype , "disabled" , { get : function ( ) { return ! this . enabled } , set : function ( a ) { this . enabled = ! a } } ) , Object . defineProperty ( b . Gamepad . prototype , "active" , { get : function ( ) { return this . _active } } ) , Object . defineProperty ( b . Gamepad . prototype , "supported" , { get : function ( ) { return this . _gamepadSupportAvailable } } ) , Object . defineProperty ( b . Gamepad . prototype , "padsConnected" , { get : function ( ) { return this . _rawPads . length } } ) , Object . defineProperty ( b . Gamepad . prototype , "pad1" , { get : function ( ) { return this . _gamepads [ 0 ] } } ) , Object . defineProperty ( b . Gamepad . prototype , "pad2" , { get : function ( ) { return this . _gamepads [ 1 ] } } ) , Object . defineProperty ( b . Gamepad . prototype , "pad3" , { get : function ( ) { return this . _gamepads [ 2 ] } } ) , Object . defineProperty ( b . Gamepad . prototype , "pad4" , { get : function ( ) { return this . _gamepads [ 3 ] } } ) , b . Gamepad . BUTTON _0 = 0 , b . Gamepad . BUTTON _1 = 1 , b . Gamepad . BUTTON _2 = 2 , b . Gamepad . BUTTON _3 = 3 , b . Gamepad . BUTTON _4 = 4 , b . Gamepad . BUTTON _5 = 5 , b . Gamepad . BUTTON _6 = 6 , b . Gamepad . BUTTON _7 = 7 , b . Gamepad . BUTTON _8 = 8 , b . Gamepad . BUTTON _9 = 9 , b . Gamepad . BUTTON _10 = 10 , b . Gamepad . BUTTON _11 = 11 , b . Gamepad . BUTTON _12 = 12 , b . Gamepad . BUTTON _13 = 13 , b . Gamepad . BUTTON _14 = 14 , b . Gamepad . BUTTON _15 = 15 , b . Gamepad . AXIS _0 = 0 , b . Gamepad . AXIS _1 = 1 , b . Gamepad . AXIS _2 = 2 , b . Gamepad . AXIS _3 = 3 , b . Gamepad . AXIS _4 = 4 , b . Gamepad . AXIS _5 = 5 , b . Gamepad . AXIS _6 = 6 , b . Gamepad . AXIS _7 = 7 , b . Gamepad . AXIS _8 = 8 , b . Gamepad . AXIS _9 = 9 , b . Gamepad . XBOX360 _A = 0 , b . Gamepad . XBOX360 _B = 1 , b . Gamepad . XBOX360 _X = 2 , b . Gamepad . XBOX360 _Y = 3 , b . Gamepad . XBOX360 _LEFT _BUMPER = 4 , b . Gamepad . XBOX360 _RIGHT _BUMPER = 5 , b . Gamepad . XBOX360 _LEFT _TRIGGER = 6 , b . Gamepad . XBOX360 _RIGHT _TRIGGER = 7 , b . Gamepad . XBOX360 _BACK = 8 , b . Gamepad . XBOX360 _START = 9 , b . Gamepad . XBOX360 _STICK _LEFT _BUTTON = 10 , b . Gamepad . XBOX360 _STICK _RIGHT _BUTTON = 11 , b . Gamepad . XBOX360 _DPAD _LEFT = 14 , b . Gamepad . XBOX360 _DPAD _RIGHT = 15 , b . Gamepad . XBOX360 _DPAD _UP = 12 , b . Gamepad . XBOX360 _DPAD _DOWN = 13 , b . Gamepad . XBOX360 _STICK _LEFT _X = 0 , b . Gamepad . XBOX
} , b . BitmapData . prototype = { add : function ( a ) { if ( Array . isArray ( a ) ) for ( var b = 0 ; b < a . length ; b ++ ) a [ b ] . loadTexture && a [ b ] . loadTexture ( this ) ; else a . loadTexture ( this ) ; return this } , load : function ( a ) { return "string" == typeof a && ( a = this . game . cache . getImage ( a ) ) , a ? ( this . resize ( a . width , a . height ) , this . cls ( ) , this . draw ( a ) , this . update ( ) , this ) : void 0 } , clear : function ( ) { return this . context . clearRect ( 0 , 0 , this . width , this . height ) , this . dirty = ! 0 , this } , fill : function ( a , b , c , d ) { return "undefined" == typeof d && ( d = 1 ) , this . context . fillStyle = "rgba(" + a + "," + b + "," + c + "," + d + ")" , this . context . fillRect ( 0 , 0 , this . width , this . height ) , this . dirty = ! 0 , this } , resize : function ( a , b ) { return ( a !== this . width || b !== this . height ) && ( this . width = a , this . height = b , this . canvas . width = a , this . canvas . height = b , this . baseTexture . width = a , this . baseTexture . height = b , this . textureFrame . width = a , this . textureFrame . height = b , this . texture . width = a , this . texture . height = b , this . texture . crop . width = a , this . texture . crop . height = b , this . update ( ) , this . dirty = ! 0 ) , this } , update : function ( a , b , c , d ) { return "undefined" == typeof a && ( a = 0 ) , "undefined" == typeof b && ( b = 0 ) , "undefined" == typeof c && ( c = this . width ) , "undefined" == typeof d && ( d = this . height ) , this . imageData = this . context . getImageData ( a , b , c , d ) , this . data = this . imageData . data , this . imageData . data . buffer ? ( this . buffer = this . imageData . data . buffer , this . pixels = new Uint32Array ( this . buffer ) ) : window . ArrayBuffer ? ( this . buffer = new ArrayBuffer ( this . imageData . data . length ) , this . pixels = new Uint32Array ( this . buffer ) ) : this . pixels = this . imageData . data , this } , processPixelRGB : function ( a , c , d , e , f , g ) { "undefined" == typeof d && ( d = 0 ) , "undefined" == typeof e && ( e = 0 ) , "undefined" == typeof f && ( f = this . width ) , "undefined" == typeof g && ( g = this . height ) ; for ( var h = d + f , i = e + g , j = b . Color . createColor ( ) , k = { r : 0 , g : 0 , b : 0 , a : 0 } , l = ! 1 , m = e ; i > m ; m ++ ) for ( var n = d ; h > n ; n ++ ) b . Color . unpackPixel ( this . getPixel32 ( n , m ) , j ) , k = a . call ( c , j , n , m ) , k !== ! 1 && null !== k && void 0 !== k && ( this . setPixel32 ( n , m , k . r , k . g , k . b , k . a , ! 1 ) , l = ! 0 ) ; return l && ( this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 ) , this } , processPixel : function ( a , b , c , d , e , f ) { "undefined" == typeof c && ( c = 0 ) , "undefined" == typeof d && ( d = 0 ) , "undefined" == typeof e && ( e = this . width ) , "undefined" == typeof f && ( f = this . height ) ; for ( var g = c + e , h = d + f , i = 0 , j = 0 , k = ! 1 , l = d ; h > l ; l ++ ) for ( var m = c ; g > m ; m ++ ) i = this . getPixel32 ( m , l ) , j = a . call ( b , i , m , l ) , j !== i && ( this . pixels [ l * this . width + m ] = j , k = ! 0 ) ; return k && ( this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 ) , this } , replaceRGB : function ( a , c , d , e , f , g , h , i , j ) { var k = 0 , l = 0 , m = this . width , n = this . height , o = b . Color . packPixel ( a , c , d , e ) ; void 0 !== j && j instanceof b . Rectangle && ( k = j . x , l = j . y , m = j . width , n = j . height ) ; for ( var p = 0 ; n > p ; p ++ ) for ( var q = 0 ; m > q ; q ++ ) this . getPixel32 ( k + q , l + p ) === o && this . setPixel32 ( k + q , l + p , f , g , h , i , ! 1 ) ; return this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 , this } , setHSL : function ( a , c , d , e ) { if ( ( "undefined" == typeof a || null === a ) && ( a = ! 1 ) , ( "undefined" == typeof c || null === c ) && ( c = ! 1 ) , ( "undefined" == typeof d || null === d ) && ( d = ! 1 ) , a || c || d ) { "undefined" == typeof e && ( e = new b . Rectangle ( 0 , 0 , this . width , this . height ) ) ; for ( var f = b . Color . createColor ( ) , g = e . y ; g < e . bottom ; g ++ ) for ( var h = e . x ; h < e . right ; h ++ ) b . Color . unpackPixel ( this . getPixel32 ( h , g ) , f , ! 0 ) , a && ( f . h = a ) , c && ( f . s = c ) , d && ( f . l = d ) , b . Color . HSLtoRGB ( f . h , f . s , f . l , f ) , this . setPixel32 ( h , g , f . r , f . g , f . b , f . a , ! 1 ) ; return this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 , this } } , shiftHSL : function ( a , c , d , e ) { if ( ( "undefined" == typeof a || null === a ) && ( a = ! 1 ) , ( "undefined" == typeof c || null === c ) && ( c = ! 1 ) , ( "undefined" == typeof d || null === d ) && ( d = ! 1 ) , a || c || d ) { "undefined" == typeof e && ( e = new b . Rectangle ( 0 , 0 , this . width , this . height ) ) ; for ( var f = b . Color . createColor ( ) , g = e . y ; g < e . bottom ; g ++ ) for ( var h = e . x ; h < e . right ; h ++ ) b . Color . unpackPixel ( this . getPixel32 ( h , g ) , f , ! 0 ) , a && ( f . h = this . game . math . wrap ( f . h + a , 0 , 1 ) ) , c && ( f . s = this . game . math . limitValue ( f . s + c , 0 , 1 ) ) , d && ( f . l = this . game . math . limitValue ( f . l + d , 0 , 1 ) ) , b . Color . HSLtoRGB ( f . h , f . s , f . l , f ) , this . setPixel32 ( h , g , f . r , f . g , f . b , f . a , ! 1 ) ; return this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 , this } } , setPixel32 : function ( a , c , d , e , f , g , h ) { return "undefined" == typeof h && ( h = ! 0 ) , a >= 0 && a <= this . width && c >= 0 && c <= this . height && ( this . pixels [ c * this . width + a ] = b . Device . LITTLE _ENDIAN ? g << 24 | f << 16 | e <<
} , b . TileSprite . prototype = Object . create ( PIXI . TilingSprite . prototype ) , b . TileSprite . prototype . constructor = b . TileSprite , b . TileSprite . prototype . preUpdate = function ( ) { if ( 1 === this . _cache [ 4 ] && this . exists ) return this . world . setTo ( this . parent . position . x + this . position . x , this . parent . position . y + this . position . y ) , this . worldTransform . tx = this . world . x , this . worldTransform . ty = this . world . y , this . _cache [ 0 ] = this . world . x , this . _cache [ 1 ] = this . world . y , this . _cache [ 2 ] = this . rotation , this . body && this . body . preUpdate ( ) , this . _cache [ 4 ] = 0 , ! 1 ; if ( this . _cache [ 0 ] = this . world . x , this . _cache [ 1 ] = this . world . y , this . _cache [ 2 ] = this . rotation , ! this . exists || ! this . parent . exists ) return this . _cache [ 3 ] = - 1 , ! 1 ; ( this . autoCull || this . checkWorldBounds ) && this . _bounds . copyFrom ( this . getBounds ( ) ) , this . autoCull && ( this . renderable = this . game . world . camera . screenView . intersects ( this . _bounds ) ) , this . checkWorldBounds && ( 1 === this . _cache [ 5 ] && this . game . world . bounds . intersects ( this . _bounds ) ? ( this . _cache [ 5 ] = 0 , this . events . onEnterBounds . dispatch ( this ) ) : 0 !== this . _cache [ 5 ] || this . game . world . bounds . intersects ( this . _bounds ) || ( this . _cache [ 5 ] = 1 , this . events . onOutOfBounds . dispatch ( this ) ) ) , this . world . setTo ( this . game . camera . x + this . worldTransform . tx , this . game . camera . y + this . worldTransform . ty ) , this . visible && ( this . _cache [ 3 ] = this . game . stage . currentRenderOrderID ++ ) , this . animations . update ( ) , 0 !== this . _scroll . x && ( this . tilePosition . x += this . _scroll . x * this . game . time . physicsElapsed ) , 0 !== this . _scroll . y && ( this . tilePosition . y += this . _scroll . y * this . game . time . physicsElapsed ) , this . body && this . body . preUpdate ( ) ; for ( var a = 0 , b = this . children . length ; b > a ; a ++ ) this . children [ a ] . preUpdate ( ) ; return ! 0 } , b . TileSprite . prototype . update = function ( ) { } , b . TileSprite . prototype . postUpdate = function ( ) { this . exists && this . body && this . body . postUpdate ( ) , 1 === this . _cache [ 7 ] && ( this . position . x = this . game . camera . view . x + this . cameraOffset . x , this . position . y = this . game . camera . view . y + this . cameraOffset . y ) ; for ( var a = 0 , b = this . children . length ; b > a ; a ++ ) this . children [ a ] . postUpdate ( ) } , b . TileSprite . prototype . autoScroll = function ( a , b ) { this . _scroll . set ( a , b ) } , b . TileSprite . prototype . stopScroll = function ( ) { this . _scroll . set ( 0 , 0 ) } , b . TileSprite . prototype . loadTexture = function ( a , c ) { c = c || 0 , this . key = a , a instanceof b . RenderTexture ? ( this . key = a . key , this . setTexture ( a ) ) : a instanceof b . BitmapData ? this . setTexture ( a . texture ) : a instanceof PIXI . Texture ? this . setTexture ( a ) : null === a || "undefined" == typeof a ? ( this . key = "__default" , this . setTexture ( PIXI . TextureCache [ this . key ] ) ) : "string" != typeof a || this . game . cache . checkImageKey ( a ) ? ( this . setTexture ( new PIXI . Texture ( PIXI . BaseTextureCache [ a ] ) ) , this . animations . loadFrameData ( this . game . cache . getFrameData ( a ) , c ) ) : ( console . warn ( "Texture with key '" + a + "' not found." ) , this . key = "__missing" , this . setTexture ( PIXI . TextureCache [ this . key ] ) ) , this . texture . baseTexture . dirty ( ) } , b . TileSprite . prototype . setFrame = function ( a ) { this . texture . frame . x = a . x , this . texture . frame . y = a . y , this . texture . frame . width = a . width , this . texture . frame . height = a . height , this . texture . crop . x = a . x , this . texture . crop . y = a . y , this . texture . crop . width = a . width , this . texture . crop . height = a . height , a . trimmed ? ( this . texture . trim ? ( this . texture . trim . x = a . spriteSourceSizeX , this . texture . trim . y = a . spriteSourceSizeY , this . texture . trim . width = a . sourceSizeW , this . texture . trim . height = a . sourceSizeH ) : this . texture . trim = { x : a . spriteSourceSizeX , y : a . spriteSourceSizeY , width : a . sourceSizeW , height : a . sourceSizeH } , this . texture . width = a . sourceSizeW , this . texture . height = a . sourceSizeH , this . texture . frame . width = a . sourceSizeW , this . texture . frame . height = a . sourceSizeH ) : ! a . trimmed && this . texture . trim && ( this . texture . trim = null ) , this . texture . _updateUvs ( ) } , b . TileSprite . prototype . destroy = function ( a ) { if ( null !== this . game && ! this . destroyPhase ) { "undefined" == typeof a && ( a = ! 0 ) , this . _cache [ 8 ] = 1 , this . events && this . events . onDestroy . dispatch ( this ) , this . filters && ( this . filters = null ) , this . parent && ( this . parent instanceof b . Group ? this . parent . remove ( this ) : this . parent . removeChild ( this ) ) , this . animations . destroy ( ) , this . events . destroy ( ) ; var c = this . children . length ; if ( a ) for ( ; c -- ; ) this . children [ c ] . destroy ( a ) ; else for ( ; c -- ; ) this . removeChild ( this . children [ c ] ) ; this . exists = ! 1 , this . visible = ! 1 , this . alive = ! 1 , this . filters =
else for ( e = 0 ; e < c . length ; e ++ ) f . x = a [ 2 * c [ e ] ] , f . y = a [ 2 * c [ e ] + 1 ] , i . push ( f . copyTo ( { } ) ) , 3 === i . length && ( this . drawTriangle ( i , d ) , i = [ ] ) ; else if ( a [ 0 ] instanceof b . Point ) for ( e = 0 ; e < a . length / 3 ; e ++ ) this . drawTriangle ( [ a [ 3 * e ] , a [ 3 * e + 1 ] , a [ 3 * e + 2 ] ] , d ) ; else for ( e = 0 ; e < a . length / 6 ; e ++ ) f . x = a [ 6 * e + 0 ] , f . y = a [ 6 * e + 1 ] , g . x = a [ 6 * e + 2 ] , g . y = a [ 6 * e + 3 ] , h . x = a [ 6 * e + 4 ] , h . y = a [ 6 * e + 5 ] , this . drawTriangle ( [ f , g , h ] , d ) } , Object . defineProperty ( b . Graphics . prototype , "angle" , { get : function ( ) { return b . Math . radToDeg ( this . rotation ) } , set : function ( a ) { this . rotation = b . Math . degToRad ( a ) } } ) , Object . defineProperty ( b . Graphics . prototype , "fixedToCamera" , { get : function ( ) { return ! ! this . _cache [ 7 ] } , set : function ( a ) { a ? ( this . _cache [ 7 ] = 1 , this . cameraOffset . set ( this . x , this . y ) ) : this . _cache [ 7 ] = 0 } } ) , Object . defineProperty ( b . Graphics . prototype , "destroyPhase" , { get : function ( ) { return ! ! this . _cache [ 8 ] } } ) , b . RenderTexture = function ( a , c , d , e , f , g ) { "undefined" == typeof e && ( e = "" ) , "undefined" == typeof f && ( f = b . scaleModes . DEFAULT ) , "undefined" == typeof g && ( g = 1 ) , this . game = a , this . key = e , this . type = b . RENDERTEXTURE , this . matrix = new PIXI . Matrix , PIXI . RenderTexture . call ( this , c , d , this . game . renderer , f , g ) , this . render = b . RenderTexture . prototype . render } , b . RenderTexture . prototype = Object . create ( PIXI . RenderTexture . prototype ) , b . RenderTexture . prototype . constructor = b . RenderTexture , b . RenderTexture . prototype . renderXY = function ( a , b , c , d ) { this . matrix . tx = b , this . matrix . ty = c , this . renderer . type === PIXI . WEBGL _RENDERER ? this . renderWebGL ( a , this . matrix , d ) : this . renderCanvas ( a , this . matrix , d ) } , b . RenderTexture . prototype . render = function ( a , b , c ) { this . matrix . tx = b . x , this . matrix . ty = b . y , this . renderer . type === PIXI . WEBGL _RENDERER ? this . renderWebGL ( a , this . matrix , c ) : this . renderCanvas ( a , this . matrix , c ) } , b . SpriteBatch = function ( a , c , d , e ) { ( "undefined" == typeof c || null === c ) && ( c = a . world ) , PIXI . SpriteBatch . call ( this ) , b . Group . call ( this , a , c , d , e ) , this . type = b . SPRITEBATCH } , b . SpriteBatch . prototype = b . Utils . extend ( ! 0 , b . SpriteBatch . prototype , b . Group . prototype , PIXI . SpriteBatch . prototype ) , b . SpriteBatch . prototype . constructor = b . SpriteBatch , b . RetroFont = function ( a , c , d , e , f , g , h , i , j , k ) { if ( ! a . cache . checkImageKey ( c ) ) return ! 1 ; ( "undefined" == typeof g || null === g ) && ( g = a . cache . getImage ( c ) . width / d ) , this . characterWidth = d , this . characterHeight = e , this . characterSpacingX = h || 0 , this . characterSpacingY = i || 0 , this . characterPerRow = g , this . offsetX = j || 0 , this . offsetY = k || 0 , this . align = "left" , this . multiLine = ! 1 , this . autoUpperCase = ! 0 , this . customSpacingX = 0 , this . customSpacingY = 0 , this . fixedWidth = 0 , this . fontSet = a . cache . getImage ( c ) , this . _text = "" , this . grabData = [ ] , this . frameData = new b . FrameData ; for ( var l = this . offsetX , m = this . offsetY , n = 0 , o = 0 ; o < f . length ; o ++ ) { var p = a . rnd . uuid ( ) , q = this . frameData . addFrame ( new b . Frame ( o , l , m , this . characterWidth , this . characterHeight , "" , p ) ) ; this . grabData [ f . charCodeAt ( o ) ] = q . index , PIXI . TextureCache [ p ] = new PIXI . Texture ( PIXI . BaseTextureCache [ c ] , { x : l , y : m , width : this . characterWidth , height : this . characterHeight } ) , n ++ , n == this . characterPerRow ? ( n = 0 , l = this . offsetX , m += this . characterHeight + this . characterSpacingY ) : l += this . characterWidth + this . characterSpacingX } a . cache . updateFrameData ( c , this . frameData ) , this . stamp = new b . Image ( a , 0 , 0 , c , 0 ) , b . RenderTexture . call ( this , a , 100 , 100 , "" , b . scaleModes . NEAREST ) , this . type = b . RETROFONT } , b . RetroFont . prototype = Object . create ( b . RenderTexture . prototype ) , b . RetroFont . prototype . constructor = b . RetroFont , b . RetroFont . ALIGN _LEFT = "left" , b . RetroFont . ALIGN _RIGHT = "right" , b . RetroFont . ALIGN _CENTER = "center" , b . RetroFont . TEXT _SET1 = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" , b . RetroFont . TEXT _SET2 = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ" , b . RetroFont . TEXT _SET3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 " , b . RetroFont . TEXT _SET4 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789" , b . RetroFont . TEXT _SET5 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789" , b . RetroFont . TEXT _SET6 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' " , b . RetroFont . TEXT _SET7 = "AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39" , b . RetroFont . TEXT _SET8 = "0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ" , b . RetroFont . TEXT _SET9 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!" , b . RetroFont . TEXT _SET10 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" , b . Ret
} } , b . Net . prototype . constructor = b . Net , b . TweenManager = function ( a ) { this . game = a , this . _tweens = [ ] , this . _add = [ ] , this . game . onPause . add ( this . _pauseAll , this ) , this . game . onResume . add ( this . _resumeAll , this ) } , b . TweenManager . prototype = { getAll : function ( ) { return this . _tweens } , removeAll : function ( ) { for ( var a = 0 ; a < this . _tweens . length ; a ++ ) this . _tweens [ a ] . pendingDelete = ! 0 ; this . _add = [ ] } , add : function ( a ) { a . _manager = this , this . _add . push ( a ) } , create : function ( a ) { return new b . Tween ( a , this . game , this ) } , remove : function ( a ) { var b = this . _tweens . indexOf ( a ) ; - 1 !== b ? this . _tweens [ b ] . pendingDelete = ! 0 : ( b = this . _add . indexOf ( a ) , - 1 !== b && ( this . _add [ b ] . pendingDelete = ! 0 ) ) } , update : function ( ) { var a = this . _add . length , b = this . _tweens . length ; if ( 0 === b && 0 === a ) return ! 1 ; for ( var c = 0 ; b > c ; ) this . _tweens [ c ] . update ( this . game . time . now ) ? c ++ : ( this . _tweens . splice ( c , 1 ) , b -- ) ; return a > 0 && ( this . _tweens = this . _tweens . concat ( this . _add ) , this . _add . length = 0 ) , ! 0 } , isTweening : function ( a ) { return this . _tweens . some ( function ( b ) { return b . _object === a } ) } , _pauseAll : function ( ) { for ( var a = this . _tweens . length - 1 ; a >= 0 ; a -- ) this . _tweens [ a ] . _pause ( ) } , _resumeAll : function ( ) { for ( var a = this . _tweens . length - 1 ; a >= 0 ; a -- ) this . _tweens [ a ] . _resume ( ) } , pauseAll : function ( ) { for ( var a = this . _tweens . length - 1 ; a >= 0 ; a -- ) this . _tweens [ a ] . pause ( ) } , resumeAll : function ( ) { for ( var a = this . _tweens . length - 1 ; a >= 0 ; a -- ) this . _tweens [ a ] . resume ( ! 0 ) } } , b . TweenManager . prototype . constructor = b . TweenManager , b . Tween = function ( a , c , d ) { this . _object = a , this . game = c , this . _manager = d , this . _valuesStart = { } , this . _valuesEnd = { } , this . _valuesStartRepeat = { } , this . _duration = 1e3 , this . _repeat = 0 , this . _yoyo = ! 1 , this . _reversed = ! 1 , this . _delayTime = 0 , this . _startTime = null , this . _easingFunction = b . Easing . Default , this . _interpolationFunction = b . Math . linearInterpolation , this . _chainedTweens = [ ] , this . _onStartCallbackFired = ! 1 , this . _onUpdateCallback = null , this . _onUpdateCallbackContext = null , this . _paused = ! 1 , this . _pausedTime = 0 , this . _codePaused = ! 1 , this . pendingDelete = ! 1 , this . onStart = new b . Signal , this . onLoop = new b . Signal , this . onComplete = new b . Signal , this . isRunning = ! 1 } , b . Tween . prototype = { to : function ( a , b , c , d , e , f , g ) { b = b || 1e3 , c = c || null , d = d || ! 1 , e = e || 0 , f = f || 0 , g = g || ! 1 , g && 0 === f && ( f = 1 ) ; var h ; return this . _parent && this . _parent !== this ? ( h = this . _manager . create ( this . _object ) , this . _lastChild . chain ( h ) , this . _lastChild = h ) : ( h = this , this . _parent = this , this . _lastChild = this ) , h . _repeat = f , h . _duration = b , h . _valuesEnd = a , null !== c && ( h . _easingFunction = c ) , h . _delayTime = e > 0 ? e : 0 , h . _yoyo = g , d ? this . start ( ) : this } , from : function ( a , b , c , d , e , f , g ) { var h = { } ; for ( var i in a ) h [ i ] = this . _object [ i ] , this . _object [ i ] = a [ i ] ; return this . to ( h , b , c , d , e , f , g ) } , start : function ( ) { if ( null !== this . game && null !== this . _object ) { this . _manager . add ( this ) , this . isRunning = ! 0 , this . _onStartCallbackFired = ! 1 , this . _startTime = this . game . time . now + this . _delayTime * this . game . time . slowMotion ; for ( var a in this . _valuesEnd ) { if ( Array . isArray ( this . _valuesEnd [ a ] ) ) { if ( 0 === this . _valuesEnd [ a ] . length ) continue ; this . _valuesEnd [ a ] = [ this . _object [ a ] ] . concat ( this . _valuesEnd [ a ] ) } this . _valuesStart [ a ] = this . _object [ a ] , Array . isArray ( this . _valuesStart [ a ] ) || ( this . _valuesStart [ a ] *= 1 ) , this . _valuesStartRepeat [ a ] = this . _valuesStart [ a ] || 0 } return this } } , generateData : function ( a , b ) { if ( null === this . game || null === this . _object ) return null ; this . _startTime = 0 ; for ( var c in this . _valuesEnd ) { if ( Array . isArray ( this . _valuesEnd [ c ] ) ) { if ( 0 === this . _valuesEnd [ c ] . length ) continue ; this . _valuesEnd [ c ] = [ this . _object [ c ] ] . concat ( this . _valuesEnd [ c ] ) } this . _valuesStart [ c ] = this . _object [ c ] , Array . isArray ( this . _valuesStart [ c ] ) || ( this . _valuesStart [ c ] *= 1 ) , this . _valuesStartRepeat [ c ] = this . _valuesStart [ c ] || 0 } for ( var d = 0 , e = Math . floor ( a * ( this . _duration / 1e3 ) ) , f = this . _duration / e , g = [ ] ; e -- ; ) { var c , h = ( d - this . _startTime ) / this . _duration ; h = h > 1 ? 1 : h ; var i = this . _easingFunction ( h ) , j = { } ; for ( c in this . _valuesEnd ) { var k = this . _valuesStart [ c ] || 0 , l = this . _valuesEnd [ c ] ; l instanceof Array ? j [ c ] = this . _interpolationFunction ( l , i ) : "string" == typeof l ? l = k + parseFloat ( l , 10 ) : "number" == typeof l && ( j [ c ] = k + ( l - k ) * i ) } g . push ( j ) , d += f } var j = { } ; for ( c in this . _valuesEnd ) j [ c ] = this . _valuesEnd [ c ] ; if ( g . push ( j ) , this . _yoyo ) { var m = g . slice ( ) ; m . reverse ( ) , g = g . concat ( m ) } return "undefined" != typeof b ? b = b . concat ( g ) : g } , stop : function ( ) {
} return f } , XMLData : function ( a , c , d ) { if ( ! c . getElementsByTagName ( "TextureAtlas" ) ) return void console . warn ( "Phaser.AnimationParser.XMLData: Invalid Texture Atlas XML given, missing <TextureAtlas> tag" ) ; for ( var e , f , g , h , i , j , k , l , m , n , o , p , q = new b . FrameData , r = c . getElementsByTagName ( "SubTexture" ) , s = 0 ; s < r . length ; s ++ ) f = a . rnd . uuid ( ) , h = r [ s ] . attributes , g = h . name . value , i = parseInt ( h . x . value , 10 ) , j = parseInt ( h . y . value , 10 ) , k = parseInt ( h . width . value , 10 ) , l = parseInt ( h . height . value , 10 ) , m = null , n = null , h . frameX && ( m = Math . abs ( parseInt ( h . frameX . value , 10 ) ) , n = Math . abs ( parseInt ( h . frameY . value , 10 ) ) , o = parseInt ( h . frameWidth . value , 10 ) , p = parseInt ( h . frameHeight . value , 10 ) ) , e = q . addFrame ( new b . Frame ( s , i , j , k , l , g , f ) ) , PIXI . TextureCache [ f ] = new PIXI . Texture ( PIXI . BaseTextureCache [ d ] , { x : i , y : j , width : k , height : l } ) , ( null !== m || null !== n ) && e . setTrim ( ! 0 , k , l , m , n , o , p ) ; return q } } , b . Cache = function ( a ) { this . game = a , this . autoResolveURL = ! 1 , this . _canvases = { } , this . _images = { } , this . _textures = { } , this . _sounds = { } , this . _text = { } , this . _json = { } , this . _xml = { } , this . _physics = { } , this . _tilemaps = { } , this . _binary = { } , this . _bitmapDatas = { } , this . _bitmapFont = { } , this . _urlMap = { } , this . _urlResolver = new Image , this . _urlTemp = null , this . addDefaultImage ( ) , this . addMissingImage ( ) , this . onSoundUnlock = new b . Signal , this . _cacheMap = [ ] , this . _cacheMap [ b . Cache . CANVAS ] = this . _canvases , this . _cacheMap [ b . Cache . IMAGE ] = this . _images , this . _cacheMap [ b . Cache . TEXTURE ] = this . _textures , this . _cacheMap [ b . Cache . SOUND ] = this . _sounds , this . _cacheMap [ b . Cache . TEXT ] = this . _text , this . _cacheMap [ b . Cache . PHYSICS ] = this . _physics , this . _cacheMap [ b . Cache . TILEMAP ] = this . _tilemaps , this . _cacheMap [ b . Cache . BINARY ] = this . _binary , this . _cacheMap [ b . Cache . BITMAPDATA ] = this . _bitmapDatas , this . _cacheMap [ b . Cache . BITMAPFONT ] = this . _bitmapFont , this . _cacheMap [ b . Cache . JSON ] = this . _json , this . _cacheMap [ b . Cache . XML ] = this . _xml } , b . Cache . CANVAS = 1 , b . Cache . IMAGE = 2 , b . Cache . TEXTURE = 3 , b . Cache . SOUND = 4 , b . Cache . TEXT = 5 , b . Cache . PHYSICS = 6 , b . Cache . TILEMAP = 7 , b . Cache . BINARY = 8 , b . Cache . BITMAPDATA = 9 , b . Cache . BITMAPFONT = 10 , b . Cache . JSON = 11 , b . Cache . XML = 12 , b . Cache . prototype = { addCanvas : function ( a , b , c ) { this . _canvases [ a ] = { canvas : b , context : c } } , addBinary : function ( a , b ) { this . _binary [ a ] = b } , addBitmapData : function ( a , c , d ) { return c . key = a , "undefined" == typeof d && ( d = new b . FrameData , d . addFrame ( c . textureFrame ) ) , this . _bitmapDatas [ a ] = { data : c , frameData : d } , c } , addRenderTexture : function ( a , c ) { var d = new b . Frame ( 0 , 0 , 0 , c . width , c . height , "" , "" ) ; this . _textures [ a ] = { texture : c , frame : d } } , addSpriteSheet : function ( a , c , d , e , f , g , h , i ) { this . _images [ a ] = { url : c , data : d , frameWidth : e , frameHeight : f , margin : h , spacing : i } , PIXI . BaseTextureCache [ a ] = new PIXI . BaseTexture ( d ) , PIXI . TextureCache [ a ] = new PIXI . Texture ( PIXI . BaseTextureCache [ a ] ) , this . _images [ a ] . frameData = b . AnimationParser . spriteSheet ( this . game , a , e , f , g , h , i ) , this . _resolveURL ( c , this . _images [ a ] ) } , addTilemap : function ( a , b , c , d ) { this . _tilemaps [ a ] = { url : b , data : c , format : d } , this . _resolveURL ( b , this . _tilemaps [ a ] ) } , addTextureAtlas : function ( a , c , d , e , f ) { this . _images [ a ] = { url : c , data : d } , PIXI . BaseTextureCache [ a ] = new PIXI . BaseTexture ( d ) , PIXI . TextureCache [ a ] = new PIXI . Texture ( PIXI . BaseTextureCache [ a ] ) , f == b . Loader . TEXTURE _ATLAS _JSON _ARRAY ? this . _images [ a ] . frameData = b . AnimationParser . JSONData ( this . game , e , a ) : f == b . Loader . TEXTURE _ATLAS _JSON _HASH ? this . _images [ a ] . frameData = b . AnimationParser . JSONDataHash ( this . game , e , a ) : f == b . Loader . TEXTURE _ATLAS _XML _STARLING && ( this . _images [ a ] . frameData = b . AnimationParser . XMLData ( this . game , e , a ) ) , this . _resolveURL ( c , this . _images [ a ] ) } , addBitmapFont : function ( a , c , d , e , f , g ) { this . _images [ a ] = { url : c , data : d } , PIXI . BaseTextureCache [ a ] = new PIXI . BaseTexture ( d ) , PIXI . TextureCache [ a ] = new PIXI . Texture ( PIXI . BaseTextureCache [ a ] ) , b . LoaderParser . bitmapFont ( this . game , e , a , f , g ) , this . _bitmapFont [ a ] = PIXI . BitmapText . fonts [ a ] , this . _resolveURL ( c , this . _bitmapFont [ a ] ) } , addPhysicsData : function ( a , b , c , d ) { this . _physics [ a ] = { url : b , data : c , format : d } , this . _resolveURL ( b , this . _physics [ a ] ) } , addDefaultImage : function ( ) { var a = new Image ; a . src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==" , this . _images . _ _default = { url : null , data : a } , this . _images . _ _def
d . loop ? e . addMarker ( c , d . start , d . end - d . start , null , ! 0 ) : e . addMarker ( c , d . start , d . end - d . start , null , ! 1 ) , this . sounds [ c ] = e } this . config . autoplay && ( this . autoplayKey = this . config . autoplay , this . play ( this . autoplayKey ) , this . autoplay = this . sounds [ this . autoplayKey ] ) } , b . AudioSprite . prototype = { play : function ( a , b ) { return "undefined" == typeof b && ( b = 1 ) , this . sounds [ a ] . play ( a , null , b ) } , stop : function ( a ) { if ( a ) this . sounds [ a ] . stop ( ) ; else for ( var b in this . sounds ) this . sounds [ b ] . stop ( ) } , get : function ( a ) { return this . sounds [ a ] } } , b . AudioSprite . prototype . constructor = b . AudioSprite , b . Sound = function ( a , c , 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 = c , this . key = c , this . loop = e , this . volume = d , this . markers = { } , this . context = null , this . autoplay = ! 1 , this . totalDuration = 0 , this . startTime = 0 , this . currentTime = 0 , this . duration = 0 , this . durationMS = 0 , this . position = 0 , this . stopTime = 0 , this . paused = ! 1 , this . pausedPosition = 0 , this . pausedTime = 0 , this . isPlaying = ! 1 , this . currentMarker = "" , this . pendingPlayback = ! 1 , this . override = ! 1 , this . allowMultiple = ! 1 , this . usingWebAudio = this . game . sound . usingWebAudio , this . usingAudioTag = this . game . sound . usingAudioTag , this . externalNode = null , this . masterGainNode = null , this . gainNode = null , this . 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 ( c ) && this . game . cache . isSoundReady ( c ) ? ( this . _sound = this . game . cache . getSoundData ( c ) , this . totalDuration = 0 , this . _sound . duration && ( this . totalDuration = this . _sound . duration ) ) : this . game . cache . onSoundUnlock . add ( this . soundHasUnlocked , this ) , this . onDecoded = new b . Signal , this . onPlay = new b . Signal , this . onPause = new b . Signal , this . onResume = new b . Signal , this . onLoop = new b . Signal , this . onStop = new b . Signal , this . onMute = new b . Signal , this . onMarkerComplete = new b . Signal , this . onFadeComplete = new b . Signal , this . _volume = d , this . _buffer = null , this . _muted = ! 1 , this . _tempMarker = 0 , this . _tempPosition = 0 , this . _tempVolume = 0 , this . _muteVolume = 0 , this . _tempLoop = 0 , this . _paused = ! 1 , this . _onDecodedEventDispatched = ! 1 } , b . 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 ) { "undefined" == typeof 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 . isDecoded && ! this . _onDecodedEventDispatched && ( this . onDecoded . dispatch ( this ) , this . _onDecodedEventDispatched = ! 0 ) , this . pendingPlayback && this . game . cache . isSoundReady ( this . key ) && ( this . pendingPlayback = ! 1 , this . play ( this . _tempMarker , this . _tempPosition , this . _tempVolume , this . _tempLoop ) ) , this . isPlaying && ( this . currentTime = this . game . time . 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 . onMarkerComplete . dispatch ( this . currentMarker , this ) , 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 ( "undefined" == typeof a && ( a = "" ) , "undefined" == typeof e && ( e = ! 0 ) , this . isPlaying && ! this . allowMultiple && ! e && ! this . override ) return this ; if ( this . isPlaying && ! this . allowMultiple && ( this . override || e ) && ( this . usingWebAudio ? "undefined" == typeof this . _sound . stop ? this . _sound . noteOff ( 0 ) : this . _sound . stop ( 0 ) : this . usingAudioTag && ( this . _sound . pause ( ) , this . _sound . currentTime = 0 ) ) , this . currentMarker = a , "" !== a ) { if ( ! this . markers [ a ] ) return console . warn ( "Phaser.Sound.play: audio marker " + a + " doesn't exist" ) , this ; this . position = this . markers [ a ] . start , this . volume = this . markers [ a ] . volume , this . loop = this . markers [ a ] . loop , this . duration = this . markers [ a ] . duration , this . durationMS = this . markers [ a ] . duration
} , b . Physics . Arcade . prototype . constructor = b . Physics . Arcade , b . Physics . Arcade . prototype = { setBounds : function ( a , b , c , d ) { this . bounds . setTo ( a , b , c , d ) } , setBoundsToWorld : function ( ) { this . bounds . setTo ( this . game . world . bounds . x , this . game . world . bounds . y , this . game . world . bounds . width , this . game . world . bounds . height ) } , enable : function ( a , c ) { "undefined" == typeof c && ( c = ! 0 ) ; var d = 1 ; if ( Array . isArray ( a ) ) for ( d = a . length ; d -- ; ) a [ d ] instanceof b . Group ? this . enable ( a [ d ] . children , c ) : ( this . enableBody ( a [ d ] ) , c && a [ d ] . hasOwnProperty ( "children" ) && a [ d ] . children . length > 0 && this . enable ( a [ d ] , ! 0 ) ) ; else a instanceof b . Group ? this . enable ( a . children , c ) : ( this . enableBody ( a ) , c && a . hasOwnProperty ( "children" ) && a . children . length > 0 && this . enable ( a . children , ! 0 ) ) } , enableBody : function ( a ) { a . hasOwnProperty ( "body" ) && null === a . body && ( a . body = new b . Physics . Arcade . Body ( a ) ) } , updateMotion : function ( a ) { this . _velocityDelta = this . computeVelocity ( 0 , a , a . angularVelocity , a . angularAcceleration , a . angularDrag , a . maxAngular ) - a . angularVelocity , a . angularVelocity += this . _velocityDelta , a . rotation += a . angularVelocity * this . game . time . physicsElapsed , a . velocity . x = this . computeVelocity ( 1 , a , a . velocity . x , a . acceleration . x , a . drag . x , a . maxVelocity . x ) , a . velocity . y = this . computeVelocity ( 2 , a , a . velocity . y , a . acceleration . y , a . drag . y , a . maxVelocity . y ) } , computeVelocity : function ( a , b , c , d , e , f ) { return f = f || 1e4 , 1 == a && b . allowGravity ? c += ( this . gravity . x + b . gravity . x ) * this . game . time . physicsElapsed : 2 == a && b . allowGravity && ( c += ( this . gravity . y + b . gravity . y ) * this . game . time . physicsElapsed ) , d ? c += d * this . game . time . physicsElapsed : e && ( this . _drag = e * this . game . time . physicsElapsed , c - this . _drag > 0 ? c -= this . _drag : c + this . _drag < 0 ? c += this . _drag : c = 0 ) , c > f ? c = f : - f > c && ( c = - f ) , c } , overlap : function ( a , b , c , d , e ) { if ( c = c || null , d = d || null , e = e || c , this . _result = ! 1 , this . _total = 0 , ! Array . isArray ( a ) && Array . isArray ( b ) ) for ( var f = 0 , g = b . length ; g > f ; f ++ ) this . collideHandler ( a , b [ f ] , c , d , e , ! 0 ) ; else if ( Array . isArray ( a ) && ! Array . isArray ( b ) ) for ( var f = 0 , g = a . length ; g > f ; f ++ ) this . collideHandler ( a [ f ] , b , c , d , e , ! 0 ) ; else if ( Array . isArray ( a ) && Array . isArray ( b ) ) for ( var f = 0 , g = a . length ; g > f ; f ++ ) for ( var h = 0 , i = b . length ; i > h ; h ++ ) this . collideHandler ( a [ f ] , b [ h ] , c , d , e , ! 0 ) ; else this . collideHandler ( a , b , c , d , e , ! 0 ) ; return this . _total > 0 } , collide : function ( a , b , c , d , e ) { if ( c = c || null , d = d || null , e = e || c , this . _result = ! 1 , this . _total = 0 , ! Array . isArray ( a ) && Array . isArray ( b ) ) for ( var f = 0 , g = b . length ; g > f ; f ++ ) this . collideHandler ( a , b [ f ] , c , d , e , ! 1 ) ; else if ( Array . isArray ( a ) && ! Array . isArray ( b ) ) for ( var f = 0 , g = a . length ; g > f ; f ++ ) this . collideHandler ( a [ f ] , b , c , d , e , ! 1 ) ; else if ( Array . isArray ( a ) && Array . isArray ( b ) ) for ( var f = 0 , h = a . length ; h > f ; f ++ ) for ( var i = 0 , j = b . length ; j > i ; i ++ ) this . collideHandler ( a [ f ] , b [ i ] , c , d , e , ! 1 ) ; else this . collideHandler ( a , b , c , d , e , ! 1 ) ; return this . _total > 0 } , collideHandler : function ( a , c , d , e , f , g ) { return "undefined" != typeof c || a . type !== b . GROUP && a . type !== b . EMITTER ? void ( a && c && a . exists && c . exists && ( a . type == b . SPRITE || a . type == b . TILESPRITE ? c . type == b . SPRITE || c . type == b . TILESPRITE ? this . collideSpriteVsSprite ( a , c , d , e , f , g ) : c . type == b . GROUP || c . type == b . EMITTER ? this . collideSpriteVsGroup ( a , c , d , e , f , g ) : c . type == b . TILEMAPLAYER && this . collideSpriteVsTilemapLayer ( a , c , d , e , f ) : a . type == b . GROUP ? c . type == b . SPRITE || c . type == b . TILESPRITE ? this . collideSpriteVsGroup ( c , a , d , e , f , g ) : c . type == b . GROUP || c . type == b . EMITTER ? this . collideGroupVsGroup ( a , c , d , e , f , g ) : c . type == b . TILEMAPLAYER && this . collideGroupVsTilemapLayer ( a , c , d , e , f ) : a . type == b . TILEMAPLAYER ? c . type == b . SPRITE || c . type == b . TILESPRITE ? this . collideSpriteVsTilemapLayer ( c , a , d , e , f ) : ( c . type == b . GROUP || c . type == b . EMITTER ) && this . collideGroupVsTilemapLayer ( c , a , d , e , f ) : a . type == b . EMITTER && ( c . type == b . SPRITE || c . type == b . TILESPRITE ? this . collideSpriteVsGroup ( c , a , d , e , f , g ) : c . type == b . GROUP || c . type == b . EMITTER ? this . collideGroupVsGroup ( a , c , d , e , f , g ) : c . type == b . TILEMAPLAYER && this . collideGroupVsTilemapLayer ( a , c , d , e , f ) ) ) ) : void this . collideGroupVsSelf ( a , d , e , f , g ) } , collideSpriteVsSprite : function ( a , b , c , d , e , f ) { return a . body && b . body ? ( this . separate ( a . body , b . body , d , e , f ) && ( c && c . call ( e , a , b ) , this . _total ++ ) , ! 0 ) : ! 1 } , collideSpriteVsGroup : function ( a , b , c , d , e , f ) { if ( 0 !== b . length && a . body ) if ( a . body . skipQuadTree || this . skipQuadTree ) for ( var g = 0 , h = b . children . length ; h > g ; g ++ ) b . children [ g ] && b . children [ g ] . exis
} , isInteresting : function ( a , b ) { return a && b ? this . collideLeft || this . collideRight || this . collideUp || this . collideDown || this . faceTop || this . faceBottom || this . faceLeft || this . faceRight || this . collisionCallback : a ? this . collideLeft || this . collideRight || this . collideUp || this . collideDown : b ? this . faceTop || this . faceBottom || this . faceLeft || this . faceRight : ! 1 } , copy : function ( a ) { this . index = a . index , this . alpha = a . alpha , this . properties = a . properties , this . collideUp = a . collideUp , this . collideDown = a . collideDown , this . collideLeft = a . collideLeft , this . collideRight = a . collideRight , this . collisionCallback = a . collisionCallback , this . collisionCallbackContext = a . collisionCallbackContext } } , b . Tile . prototype . constructor = b . Tile , Object . defineProperty ( b . Tile . prototype , "collides" , { get : function ( ) { return this . collideLeft || this . collideRight || this . collideUp || this . collideDown } } ) , Object . defineProperty ( b . Tile . prototype , "canCollide" , { get : function ( ) { return this . collideLeft || this . collideRight || this . collideUp || this . collideDown || this . collisionCallback } } ) , Object . defineProperty ( b . Tile . prototype , "left" , { get : function ( ) { return this . worldX } } ) , Object . defineProperty ( b . Tile . prototype , "right" , { get : function ( ) { return this . worldX + this . width } } ) , Object . defineProperty ( b . Tile . prototype , "top" , { get : function ( ) { return this . worldY } } ) , Object . defineProperty ( b . Tile . prototype , "bottom" , { get : function ( ) { return this . worldY + this . height } } ) , b . Tilemap = function ( a , c , d , e , f , g ) { this . game = a , this . key = c ; var h = b . TilemapParser . parse ( this . game , c , d , e , f , g ) ; null !== h && ( this . width = h . width , this . height = h . height , this . tileWidth = h . tileWidth , this . tileHeight = h . tileHeight , this . orientation = h . orientation , this . format = h . format , this . version = h . version , this . properties = h . properties , this . widthInPixels = h . widthInPixels , this . heightInPixels = h . heightInPixels , this . layers = h . layers , this . tilesets = h . tilesets , this . tiles = h . tiles , this . objects = h . objects , this . collideIndexes = [ ] , this . collision = h . collision , this . images = h . images , this . currentLayer = 0 , this . debugMap = [ ] , this . _results = [ ] , this . _tempA = 0 , this . _tempB = 0 ) } , b . Tilemap . CSV = 0 , b . Tilemap . TILED _JSON = 1 , b . Tilemap . NORTH = 0 , b . Tilemap . EAST = 1 , b . Tilemap . SOUTH = 2 , b . Tilemap . WEST = 3 , b . Tilemap . prototype = { create : function ( a , b , c , d , e , f ) { return "undefined" == typeof f && ( f = this . game . world ) , this . width = b , this . height = c , this . setTileSize ( d , e ) , this . layers . length = 0 , this . createBlankLayer ( a , b , c , d , e , f ) } , setTileSize : function ( a , b ) { this . tileWidth = a , this . tileHeight = b , this . widthInPixels = this . width * a , this . heightInPixels = this . height * b } , addTilesetImage : function ( a , c , d , e , f , g , h ) { if ( "undefined" == typeof d && ( d = this . tileWidth ) , "undefined" == typeof e && ( e = this . tileHeight ) , "undefined" == typeof f && ( f = 0 ) , "undefined" == typeof g && ( g = 0 ) , "undefined" == typeof h && ( h = 0 ) , 0 === d && ( d = 32 ) , 0 === e && ( e = 32 ) , "undefined" == typeof c ) { if ( "string" != typeof a ) return null ; if ( c = a , ! this . game . cache . checkImageKey ( c ) ) return console . warn ( 'Phaser.Tilemap.addTilesetImage: Invalid image key given: "' + c + '"' ) , null } if ( "string" == typeof a && ( a = this . getTilesetIndex ( a ) , null === a && this . format === b . Tilemap . TILED _JSON ) ) return console . warn ( 'Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "' + c + '"' ) , null ; if ( this . tilesets [ a ] ) return this . tilesets [ a ] . setImage ( this . game . cache . getImage ( c ) ) , this . tilesets [ a ] ; var i = new b . Tileset ( c , h , d , e , f , g , { } ) ; i . setImage ( this . game . cache . getImage ( c ) ) , this . tilesets . push ( i ) ; for ( var j = this . tilesets . length - 1 , k = f , l = f , m = 0 , n = 0 , o = 0 , p = h ; p < h + i . total && ( this . tiles [ p ] = [ k , l , j ] , k += d + g , m ++ , m !== i . total ) && ( n ++ , n !== i . columns || ( k = f , l += e + g , n = 0 , o ++ , o !== i . rows ) ) ; p ++ ) ; return i } , createFromObjects : function ( a , c , d , e , f , g , h , i , j ) { if ( "undefined" == typeof f && ( f = ! 0 ) , "undefined" == typeof g && ( g = ! 1 ) , "undefined" == typeof h && ( h = this . game . world ) , "undefined" == typeof i && ( i = b . Sprite ) , "undefined" == typeof j && ( j = ! 0 ) , ! this . objects [ a ] ) return void console . warn ( "Tilemap.createFromObjects: Invalid objectgroup name given: " + a ) ; for ( var k , l = 0 , m = this . objects [ a ] . length ; m > l ; l ++ ) if ( this . objects [ a ] [ l ] . gid === c ) { k = new i ( this . game , this . objects [ a ] [ l ] . x , this . objects [ a ] [ l ] . y , d , e ) , k . name = this . objects [ a ] [ l ] . name , k . visible = this . objects [ a ] [ l ] . visible , k . autoCull = g , k . exists = f , j && ( k . y -= k . height ) , h . add ( k ) ; for ( var n in this . objects [ a ] [ l ] . propertie
} , clearTilemapLayerBodies : function ( a , b ) { b = a . getLayer ( b ) ; for ( var c = a . layers [ b ] . bodies . length ; c -- ; ) a . layers [ b ] . bodies [ c ] . destroy ( ) ; a . layers [ b ] . bodies . length = [ ] } , convertTilemap : function ( a , b , c ) { b = a . getLayer ( b ) , this . clearTilemapLayerBodies ( a , b ) ; for ( var d = 0 , e = a . layers [ b ] . height ; e > d ; d ++ ) for ( var f = 0 , g = a . layers [ b ] . width ; g > f ; f ++ ) { var h = a . layers [ b ] . data [ d ] [ f ] ; if ( h && c . hasOwnProperty ( h . index ) ) { var i = new Phaser . Physics . Ninja . Body ( this , null , 3 , c [ h . index ] , 0 , h . worldX + h . centerX , h . worldY + h . centerY , h . width , h . height ) ; a . layers [ b ] . bodies . push ( i ) } } return a . layers [ b ] . bodies } , overlap : function ( a , b , c , d , e ) { if ( c = c || null , d = d || null , e = e || c , this . _result = ! 1 , this . _total = 0 , Array . isArray ( b ) ) for ( var f = 0 , g = b . length ; g > f ; f ++ ) this . collideHandler ( a , b [ f ] , c , d , e , ! 0 ) ; else this . collideHandler ( a , b , c , d , e , ! 0 ) ; return this . _total > 0 } , collide : function ( a , b , c , d , e ) { if ( c = c || null , d = d || null , e = e || c , this . _result = ! 1 , this . _total = 0 , Array . isArray ( b ) ) for ( var f = 0 , g = b . length ; g > f ; f ++ ) this . collideHandler ( a , b [ f ] , c , d , e , ! 1 ) ; else this . collideHandler ( a , b , c , d , e , ! 1 ) ; return this . _total > 0 } , collideHandler : function ( a , b , c , d , e , f ) { return "undefined" != typeof b || a . type !== Phaser . GROUP && a . type !== Phaser . EMITTER ? void ( a && b && a . exists && b . exists && ( a . type == Phaser . SPRITE || a . type == Phaser . TILESPRITE ? b . type == Phaser . SPRITE || b . type == Phaser . TILESPRITE ? this . collideSpriteVsSprite ( a , b , c , d , e , f ) : b . type == Phaser . GROUP || b . type == Phaser . EMITTER ? this . collideSpriteVsGroup ( a , b , c , d , e , f ) : b . type == Phaser . TILEMAPLAYER && this . collideSpriteVsTilemapLayer ( a , b , c , d , e ) : a . type == Phaser . GROUP ? b . type == Phaser . SPRITE || b . type == Phaser . TILESPRITE ? this . collideSpriteVsGroup ( b , a , c , d , e , f ) : b . type == Phaser . GROUP || b . type == Phaser . EMITTER ? this . collideGroupVsGroup ( a , b , c , d , e , f ) : b . type == Phaser . TILEMAPLAYER && this . collideGroupVsTilemapLayer ( a , b , c , d , e ) : a . type == Phaser . TILEMAPLAYER ? b . type == Phaser . SPRITE || b . type == Phaser . TILESPRITE ? this . collideSpriteVsTilemapLayer ( b , a , c , d , e ) : ( b . type == Phaser . GROUP || b . type == Phaser . EMITTER ) && this . collideGroupVsTilemapLayer ( b , a , c , d , e ) : a . type == Phaser . EMITTER && ( b . type == Phaser . SPRITE || b . type == Phaser . TILESPRITE ? this . collideSpriteVsGroup ( b , a , c , d , e , f ) : b . type == Phaser . GROUP || b . type == Phaser . EMITTER ? this . collideGroupVsGroup ( a , b , c , d , e , f ) : b . type == Phaser . TILEMAPLAYER && this . collideGroupVsTilemapLayer ( a , b , c , d , e ) ) ) ) : void this . collideGroupVsSelf ( a , c , d , e , f ) } , collideSpriteVsSprite : function ( a , b , c , d , e , f ) { this . separate ( a . body , b . body , d , e , f ) && ( c && c . call ( e , a , b ) , this . _total ++ ) } , collideSpriteVsGroup : function ( a , b , c , d , e , f ) { if ( 0 !== b . length ) for ( var g = 0 , h = b . children . length ; h > g ; g ++ ) b . children [ g ] . exists && b . children [ g ] . body && this . separate ( a . body , b . children [ g ] . body , d , e , f ) && ( c && c . call ( e , a , b . children [ g ] ) , this . _total ++ ) } , collideGroupVsSelf : function ( a , b , c , d , e ) { if ( 0 !== a . length ) for ( var f = a . children . length , g = 0 ; f > g ; g ++ ) for ( var h = g + 1 ; f >= h ; h ++ ) a . children [ g ] && a . children [ h ] && a . children [ g ] . exists && a . children [ h ] . exists && this . collideSpriteVsSprite ( a . children [ g ] , a . children [ h ] , b , c , d , e ) } , collideGroupVsGroup : function ( a , b , c , d , e , f ) { if ( 0 !== a . length && 0 !== b . length ) for ( var g = 0 , h = a . children . length ; h > g ; g ++ ) a . children [ g ] . exists && this . collideSpriteVsGroup ( a . children [ g ] , b , c , d , e , f ) } , separate : function ( a , b ) { return a . type !== Phaser . Physics . NINJA || b . type !== Phaser . Physics . NINJA ? ! 1 : a . aabb && b . aabb ? a . aabb . collideAABBVsAABB ( b . aabb ) : a . aabb && b . tile ? a . aabb . collideAABBVsTile ( b . tile ) : a . tile && b . aabb ? b . aabb . collideAABBVsTile ( a . tile ) : a . circle && b . tile ? a . circle . collideCircleVsTile ( b . tile ) : a . tile && b . circle ? b . circle . collideCircleVsTile ( a . tile ) : void 0 } } , Phaser . Physics . Ninja . Body = function ( a , b , c , d , e , f , g , h , i ) { b = b || null , "undefined" == typeof c && ( c = 1 ) , "undefined" == typeof d && ( d = 1 ) , "undefined" == typeof e && ( e = 16 ) , this . sprite = b , this . game = a . game , this . type = Phaser . Physics . NINJA , this . system = a , this . aabb = null , this . tile = null , this . circle = null , this . shape = null , this . drag = 1 , this . friction = . 05 , this . gravityScale = 1 , this . bounce = . 3 , this . velocity = new Phaser . Point , this . facing = Phaser . NONE , this . immovable = ! 1 , this . collideWorldBounds = ! 0 , this . checkCollision = { none : ! 1 , any : ! 0 , up : ! 0 , down : ! 0 , left : ! 0 , right : ! 0 } , this . touching = { none : ! 0 , up : ! 1 , down : ! 1 , left : ! 1 , right : ! 1 } , this . wasTouching = { none : ! 0 , up : ! 1 , down : ! 1 , left : ! 1 , right : ! 1 } , this . maxSpeed = 8 , b && ( f = b . x , g = b . y , h = b . width , i = b . height , 0 === b .
} if ( 0 > i * d ) return e . reportCollisionVsWorld ( 0 , b * d , 0 , d , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var p = f . pos . x - h * f . xw , q = f . pos . y + d * f . yw , r = e . pos . x - p , s = e . pos . y - q , n = Math . sqrt ( r * r + s * s ) , o = e . radius - n ; if ( o > 0 ) return 0 === n ? ( r = 0 , s = d ) : ( r /= n , s /= n ) , e . reportCollisionVsWorld ( r * o , s * o , r , s , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } else if ( 0 === d ) { if ( 0 > h * c ) return e . reportCollisionVsWorld ( a * c , 0 , c , 0 , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var p = f . pos . x + c * f . xw , q = f . pos . y - i * f . yw , r = e . pos . x - p , s = e . pos . y - q , n = Math . sqrt ( r * r + s * s ) , o = e . radius - n ; if ( o > 0 ) return 0 === n ? ( r = c , s = 0 ) : ( r /= n , s /= n ) , e . reportCollisionVsWorld ( r * o , s * o , r , s , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } else { if ( h * c + i * d > 0 ) return Phaser . Physics . Ninja . Circle . COL _NONE ; var p = f . pos . x + c * f . xw , q = f . pos . y + d * f . yw , r = e . pos . x - p , s = e . pos . y - q , n = Math . sqrt ( r * r + s * s ) , o = e . radius - n ; if ( o > 0 ) return 0 === n ? ( r = c / Math . SQRT2 , s = d / Math . SQRT2 ) : ( r /= n , s /= n ) , e . reportCollisionVsWorld ( r * o , s * o , r , s , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } return Phaser . Physics . Ninja . Circle . COL _NONE } , projCircle _Convex : function ( a , b , c , d , e , f ) { var g , h = f . signx , i = f . signy ; if ( 0 === c ) if ( 0 === d ) { var j = e . pos . x - ( f . pos . x - h * f . xw ) , k = e . pos . y - ( f . pos . y - i * f . yw ) , l = 2 * f . xw , m = Math . sqrt ( l * l + 0 ) , n = Math . sqrt ( j * j + k * k ) , o = m + e . radius - n ; if ( o > 0 ) return b > a ? ( g = a , b = 0 , e . pos . x - f . pos . x < 0 && ( a *= - 1 ) ) : ( g = b , a = 0 , e . pos . y - f . pos . y < 0 && ( b *= - 1 ) ) , o > g ? ( e . reportCollisionVsWorld ( a , b , a / g , b / g , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ) : ( j /= n , k /= n , e . reportCollisionVsWorld ( j * o , k * o , j , k , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER ) } else { if ( 0 > i * d ) return e . reportCollisionVsWorld ( 0 , b * d , 0 , d , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var j = e . pos . x - ( f . pos . x - h * f . xw ) , k = e . pos . y - ( f . pos . y - i * f . yw ) , l = 2 * f . xw , m = Math . sqrt ( l * l + 0 ) , n = Math . sqrt ( j * j + k * k ) , o = m + e . radius - n ; if ( o > 0 ) return j /= n , k /= n , e . reportCollisionVsWorld ( j * o , k * o , j , k , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } else if ( 0 === d ) { if ( 0 > h * c ) return e . reportCollisionVsWorld ( a * c , 0 , c , 0 , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var j = e . pos . x - ( f . pos . x - h * f . xw ) , k = e . pos . y - ( f . pos . y - i * f . yw ) , l = 2 * f . xw , m = Math . sqrt ( l * l + 0 ) , n = Math . sqrt ( j * j + k * k ) , o = m + e . radius - n ; if ( o > 0 ) return j /= n , k /= n , e . reportCollisionVsWorld ( j * o , k * o , j , k , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } else if ( h * c + i * d > 0 ) { var j = e . pos . x - ( f . pos . x - h * f . xw ) , k = e . pos . y - ( f . pos . y - i * f . yw ) , l = 2 * f . xw , m = Math . sqrt ( l * l + 0 ) , n = Math . sqrt ( j * j + k * k ) , o = m + e . radius - n ; if ( o > 0 ) return j /= n , k /= n , e . reportCollisionVsWorld ( j * o , k * o , j , k , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } else { var p = f . pos . x + c * f . xw , q = f . pos . y + d * f . yw , r = e . pos . x - p , s = e . pos . y - q , n = Math . sqrt ( r * r + s * s ) , o = e . radius - n ; if ( o > 0 ) return 0 === n ? ( r = c / Math . SQRT2 , s = d / Math . SQRT2 ) : ( r /= n , s /= n ) , e . reportCollisionVsWorld ( r * o , s * o , r , s , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } return Phaser . Physics . Ninja . Circle . COL _NONE } , projCircle _Half : function ( a , b , c , d , e , f ) { var g = f . signx , h = f . signy , i = c * g + d * h ; if ( i > 0 ) return Phaser . Physics . Ninja . Circle . COL _NONE ; if ( 0 === c ) if ( 0 === d ) { var j = e . radius , k = e . pos . x - g * j - f . pos . x , l = e . pos . y - h * j - f . pos . y , m = g , n = h , o = k * m + l * n ; if ( 0 > o ) { m *= - o , n *= - o ; var p = Math . sqrt ( m * m + n * n ) , q = Math . sqrt ( a * a + b * b ) ; return p > q ? ( e . reportCollisionVsWorld ( a , b , a / q , b / q , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ) : ( e . reportCollisionVsWorld ( m , n , f . signx , f . signy ) , Phaser . Physics . Ninja . Circle . COL _OTHER ) } } else { if ( 0 !== i ) return e . reportCollisionVsWorld ( 0 , b * d , 0 , d , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var r = e . pos . x - f . pos . x ; if ( 0 > r * g ) return e . reportCollisionVsWorld ( 0 , b * d , 0 , d , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var s = e . pos . y - ( f . pos . y + d * f . yw ) , t = Math . sqrt ( r * r + s * s ) , u = e . radius - t ; if ( u > 0 ) return 0 === t ? ( r = g / Math . SQRT2 , s = d / Math . SQRT2 ) : ( r /= t , s /= t ) , e . reportCollisionVsWorld ( r * u , s * u , r , s , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } else if ( 0 === d ) { if ( 0 !== i ) return e . reportCollisionVsWorld ( a * c , 0 , c , 0 , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var s = e . pos . y - f . pos . y ; if ( 0 > s * h ) return e . reportCollisionVsWorld ( a * c , 0 , c , 0 , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var r = e . pos . x - ( f . pos . x + c * f . xw ) , t = Math . sqrt ( r * r + s * s ) , u = e . radius - t ; if ( u > 0 ) return 0 === t ? ( r = g / Math . SQRT2 , s = d / Math . SQRT2 ) : ( r /= t , s /= t ) , e . reportCollisionVsWorld ( r * u , s * u , r , s , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } else { var v = f . pos . x + c * f . xw , w = f . pos . y + d * f . yw , r = e . pos . x - v , s = e . pos . y - w , t = Math . sqrt ( r * r + s * s ) , u = e . radius - t ; if ( u > 0 ) return 0 === t ? ( r = c / Math . SQRT2 , s = d / Math . SQRT2 ) : ( r /= t , s /= t