2014-10-27 23:31:26 +00:00
/* Phaser (NJ) v2.1.4 - http://phaser.io - @photonstorm - (c) 2014 Photon Storm Ltd. */
2014-10-23 11:34:33 +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 . 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 . _currentBounds = null , this . _mask = null , this . _cacheAsBitmap = ! 1 , this . _cacheIs
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 = this . uniforms [ d ] , 1 === a . glValueLength ? a . glMatrix === ! 0 ? a . glFunc . call ( c , a . uniformLocation , a . transpose , a . value ) : a . glFunc . call ( c , a . uniformLocation , a . value ) : 2 =
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 . baseTexture . resolution , v = a . worldTransform , w = v . a / u , x = v . b / u , y = v . c / u , z = v . d / u , A = v . tx , B = v . ty ; k [ t ++ ] = w * q + y * s + A , k [ t ++ ] = z * s + x * q + B , k [ t ++ ] = d . x0 , k [ t ++ ] = d . y0 , k [ t ++ ] = i , k [ t ++ ] = j , k
2014-10-27 23:31:26 +00:00
} , 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
} , 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 . y ) ) } } ) , Object . defineProperty ( b . Line . prototype , "angle" , { get : function ( ) { return Math . atan2 ( this . end . y - this . sta
2014-10-28 01:50:25 +00:00
} , getIndex : function ( a ) { return this . list . indexOf ( a ) } , 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 . a
2014-10-27 23:31:26 +00:00
} , b . ScaleManager . EXACT _FIT = 0 , b . ScaleManager . NO _SCALE = 1 , b . ScaleManager . SHOW _ALL = 2 , b . ScaleManager . RESIZE = 3 , b . ScaleManager . prototype = { 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 ) : "object" == typeof this . game . parent && 1 === this . game . parent . nodeType && ( d = this . game . parent ) ) , d ? ( this . parentNode = d , this . parentIsWindow = ! 1 , this . _parentBounds = this . parentNode . getBoundingClientRect ( ) , e . width = this . _parentBounds . width , e . height = this . _parentBounds . height , this . offset . set ( this . _parentBounds . left , this . _parentBounds . top ) ) : ( this . parentNode = null , this . parentIsWindow = ! 0 , e . width = window . innerWidth , e . height = window . innerHeight ) ; 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 ) } , boot : function ( ) { this . fullScreenTarget = this . game . canvas ; var a = this ; this . _checkOrientation = function ( b ) { return a . checkOrientation ( b ) } , this . _checkResize = function ( b ) { return a . checkResize ( b ) } , this . _fullScreenChange = function ( b ) { return a . fullScreenChange ( b ) } , window . addEventListener ( "orientationchange" , this . _checkOrientation , ! 1 ) , window . addEventListener ( "resize" , this . _checkResize , ! 1 ) , this . game . device . cocoonJS || ( document . addEventListener ( "webkitfullscreenchange" , this . _fullScreenChange , ! 1 ) , document . addEventListener ( "mozfullscreenchange" , this . _fullScreenChange , ! 1 ) , document . addEventListener ( "fullscreenchange" , this . _fullScreenChange , ! 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 ) } , setResizeCallback : function ( a , b ) { this . onResize = a , this . onResizeContext = b } , setMinMax : function ( a , b , c , d ) { this . minWidth = a , this . minHeight = b , "undefined" != typeof c && ( this . maxWidth = c ) , "undefined" != typeof d && ( this . maxHeight = d ) } , preUpdate : function ( ) { this . game . time . now < this . _nextParentCheck || ( this . parentIsWindow || ( b . Canvas . getOffset ( this . game . canvas , this . offset ) , this . _scaleMode === b . ScaleManager . RESIZE && ( this . _parentBounds = this . parentNode . getBoundingClientRect ( ) , ( this . _parentBounds . width !== this . width || this . _parentBounds . height !== this . height ) && this . updateDimensions ( this . _parentBounds . width , this . _parentBounds . height , ! 0 ) ) ) , this . _nextParentCheck = this . game . time . now + this . trackParentInterval ) } , updateDimensions : function ( a , b , c ) { this . width = a * this . parentScaleFactor . x , this . height = b * this . parentScaleFactor . y , this . game . width = this . width , this . game . height = this . height , this . sourceAspectRatio = this . width / this . height , this . bounds . width = this . width , this . bounds . height = this . height , c && ( this . game . renderer . resize ( this . width , this . height ) , this . game . camera . setSize ( this . width , this . height ) , this . game . world . resize ( this . width , this . height ) ) , this . grid . onResize ( a , b ) , this . onResize && this . onResize . call ( this . onResizeContext , this . width , this . height ) , this . game . state . resize ( a , b ) } , forceOrientation : function ( a , b ) { "undefined" == typeof b && ( b = ! 1 ) , this . forceLandscape = a , this . forcePortrait = b } , checkOrientationState : function ( ) { this . incorrectOrientation ? ( this . forceLandscape && window . innerWidth > window . innerHeight || this . forcePortrait && window . innerHeight > window . innerWidth ) && ( this . incorrectOrientation = ! 1 , this . leaveIncorrectOrientation . dispatch ( ) , this . scaleMode !== b . ScaleManager . NO _SCALE && this . refresh ( ) ) : ( this . forceLandscape && window . innerWidth < window . innerHeight || this . forcePortrait && window . innerHeight < window . innerWidth ) && ( this . incorrectOrientation = ! 0 , this . enterIncorrectOrientation . dispatch ( ) , this . scaleMode !== b . ScaleManager . NO _SCALE && this . refresh ( ) ) } , checkOrientation : function ( a ) { this . event = a , this . orientation = window . orientation , this . isLandscape ? this . enterLandscape . dispatch ( this . orientation , ! 0 , ! 1 ) : this . enterPortrait . dispatch ( this . orientation , ! 1 , ! 0 ) ,
} } ) , b . Keyboard . prototype . constructor = b . Keyboard , b . Keyboard . A = "A" . charCodeAt ( 0 ) , b . Keyboard . B = "B" . charCodeAt ( 0 ) , b . Keyboard . C = "C" . charCodeAt ( 0 ) , b . Keyboard . D = "D" . charCodeAt ( 0 ) , b . Keyboard . E = "E" . charCodeAt ( 0 ) , b . Keyboard . F = "F" . charCodeAt ( 0 ) , b . Keyboard . G = "G" . charCodeAt ( 0 ) , b . Keyboard . H = "H" . charCodeAt ( 0 ) , b . Keyboard . I = "I" . charCodeAt ( 0 ) , b . Keyboard . J = "J" . charCodeAt ( 0 ) , b . Keyboard . K = "K" . charCodeAt ( 0 ) , b . Keyboard . L = "L" . charCodeAt ( 0 ) , b . Keyboard . M = "M" . charCodeAt ( 0 ) , b . Keyboard . N = "N" . charCodeAt ( 0 ) , b . Keyboard . O = "O" . charCodeAt ( 0 ) , b . Keyboard . P = "P" . charCodeAt ( 0 ) , b . Keyboard . Q = "Q" . charCodeAt ( 0 ) , b . Keyboard . R = "R" . charCodeAt ( 0 ) , b . Keyboard . S = "S" . charCodeAt ( 0 ) , b . Keyboard . T = "T" . charCodeAt ( 0 ) , b . Keyboard . U = "U" . charCodeAt ( 0 ) , b . Keyboard . V = "V" . charCodeAt ( 0 ) , b . Keyboard . W = "W" . charCodeAt ( 0 ) , b . Keyboard . X = "X" . charCodeAt ( 0 ) , b . Keyboard . Y = "Y" . charCodeAt ( 0 ) , b . Keyboard . Z = "Z" . charCodeAt ( 0 ) , b . Keyboard . ZERO = "0" . charCodeAt ( 0 ) , b . Keyboard . ONE = "1" . charCodeAt ( 0 ) , b . Keyboard . TWO = "2" . charCodeAt ( 0 ) , b . Keyboard . THREE = "3" . charCodeAt ( 0 ) , b . Keyboard . FOUR = "4" . charCodeAt ( 0 ) , b . Keyboard . FIVE = "5" . charCodeAt ( 0 ) , b . Keyboard . SIX = "6" . charCodeAt ( 0 ) , b . Keyboard . SEVEN = "7" . charCodeAt ( 0 ) , b . Keyboard . EIGHT = "8" . charCodeAt ( 0 ) , b . Keyboard . NINE = "9" . charCodeAt ( 0 ) , b . Keyboard . NUMPAD _0 = 96 , b . Keyboard . NUMPAD _1 = 97 , b . Keyboard . NUMPAD _2 = 98 , b . Keyboard . NUMPAD _3 = 99 , b . Keyboard . NUMPAD _4 = 100 , b . Keyboard . NUMPAD _5 = 101 , b . Keyboard . NUMPAD _6 = 102 , b . Keyboard . NUMPAD _7 = 103 , b . Keyboard . NUMPAD _8 = 104 , b . Keyboard . NUMPAD _9 = 105 , b . Keyboard . NUMPAD _MULTIPLY = 106 , b . Keyboard . NUMPAD _ADD = 107 , b . Keyboard . NUMPAD _ENTER = 108 , b . Keyboard . NUMPAD _SUBTRACT = 109 , b . Keyboard . NUMPAD _DECIMAL = 110 , b . Keyboard . NUMPAD _DIVIDE = 111 , b . Keyboard . F1 = 112 , b . Keyboard . F2 = 113 , b . Keyboard . F3 = 114 , b . Keyboard . F4 = 115 , b . Keyboard . F5 = 116 , b . Keyboard . F6 = 117 , b . Keyboard . F7 = 118 , b . Keyboard . F8 = 119 , b . Keyboard . F9 = 120 , b . Keyboard . F10 = 121 , b . Keyboard . F11 = 122 , b . Keyboard . F12 = 123 , b . Keyboard . F13 = 124 , b . Keyboard . F14 = 125 , b . Keyboard . F15 = 126 , b . Keyboard . COLON = 186 , b . Keyboard . EQUALS = 187 , b . Keyboard . UNDERSCORE = 189 , b . Keyboard . QUESTION _MARK = 191 , b . Keyboard . TILDE = 192 , b . Keyboard . OPEN _BRACKET = 219 , b . Keyboard . BACKWARD _SLASH = 220 , b . Keyboard . CLOSED _BRACKET = 221 , b . Keyboard . QUOTES = 222 , b . Keyboard . BACKSPACE = 8 , b . Keyboard . TAB = 9 , b . Keyboard . CLEAR = 12 , b . Keyboard . ENTER = 13 , b . Keyboard . SHIFT = 16 , b . Keyboard . CONTROL = 17 , b . Keyboard . ALT = 18 , b . Keyboard . CAPS _LOCK = 20 , b . Keyboard . ESC = 27 , b . Keyboard . SPACEBAR = 32 , b . Keyboard . PAGE _UP = 33 , b . Keyboard . PAGE _DOWN = 34 , b . Keyboard . END = 35 , b . Keyboard . HOME = 36 , b . Keyboard . LEFT = 37 , b . Keyboard . UP = 38 , b . Keyboard . RIGHT = 39 , b . Keyboard . DOWN = 40 , b . Keyboard . INSERT = 45 , b . Keyboard . DELETE = 46 , b . Keyboard . HELP = 47 , b . Keyboard . NUM _LOCK = 144 , b . Keyboard . PLUS = 43 , b . Keyboard . MINUS = 45 , b . Mouse = function ( a ) { this . game = a , this . callbackContext = this . game , this . mouseDownCallback = null , this . mouseMoveCallback = null , this . mouseUpCallback = null , this . mouseOutCallback = null , this . mouseOverCallback = null , this . mouseWheelCallback = null , this . capture = ! 1 , this . button = - 1 , this . wheelDelta = 0 , this . disabled = ! 1 , this . locked = ! 1 , this . stopOnGameOut = ! 1 , this . pointerLock = new b . Signal , this . event = null , this . _onMouseDown = null , this . _onMouseMove = null , this . _onMouseUp = null , this . _onMouseOut = null , this . _onMouseOver = null , this . _onMouseWheel = null } , b . Mouse . NO _BUTTON = - 1 , b . Mouse . LEFT _BUTTON = 0 , b . Mouse . MIDDLE _BUTTON = 1 , b . Mouse . RIGHT _BUTTON = 2 , b . Mouse . WHEEL _UP = 1 , b . Mouse . WHEEL _DOWN = - 1 , b . Mouse . prototype = { start : function ( ) { if ( ( ! this . game . device . android || this . game . device . chrome !== ! 1 ) && null === this . _onMouseDown ) { var a = this ; this . _onMouseDown = function ( b ) { return a . onMouseDown ( b ) } , this . _onMouseMove = function ( b ) { return a . onMouseMove ( b ) } , this . _onMouseUp = function ( b ) { return a . onMouseUp ( b ) } , this . _onMouseUpGlobal = function ( b ) { return a . onMouseUpGlobal ( b ) } , this . _onMouseOut = function ( b ) { return a . onMouseOut ( b ) } , this . _onMouseOver = function ( b ) { return a . onMouseOver ( b ) } , this . _onMouseWheel = function ( b ) { return a . onMouseWheel ( b ) } , this . game . canvas . addEventListener ( "mousedown" , this . _onMouseDown , ! 0 ) , this . game . canvas . addEventListener ( "mousemove" , this . _onMouseMove , ! 0 ) , this . game . canvas . addEventListener ( "mouseup" , this . _onMouseUp , ! 0 ) , this . game . device . cocoonJS || ( window . addEventListener ( "mouseup" , this . _onMouseUpGlobal , ! 0 ) , this . game . canvas . addEventListener ( " mouse
2014-10-28 01:50:25 +00:00
} } , b . SinglePad . prototype . constructor = b . SinglePad , b . GamepadButton = function ( a , c ) { this . pad = a , this . game = a . game , this . isDown = ! 1 , this . isUp = ! 0 , this . timeDown = 0 , this . duration = 0 , this . timeUp = 0 , this . repeats = 0 , this . value = 0 , this . buttonCode = c , this . onDown = new b . Signal , this . onUp = new b . Signal , this . onFloat = new b . Signal } , b . GamepadButton . prototype = { processButtonDown : function ( a ) { this . isDown = ! 0 , this . isUp = ! 1 , this . timeDown = this . game . time . now , this . duration = 0 , this . repeats = 0 , this . value = a , this . onDown . dispatch ( this , a ) } , processButtonUp : function ( a ) { this . isDown = ! 1 , this . isUp = ! 0 , this . timeUp = this . game . time . now , this . value = a , this . onUp . dispatch ( this , a ) } , processButtonFloat : function ( a ) { this . value = a , this . onFloat . dispatch ( this , a ) } , justPressed : function ( a ) { return a = a || 250 , this . isDown === ! 0 && this . timeDown + a > this . game . time . now } , justReleased : function ( a ) { return a = a || 250 , this . isUp === ! 0 && this . timeUp + a > this . game . time . now } , reset : function ( ) { this . isDown = ! 1 , this . isUp = ! 0 , this . timeDown = this . game . time . now , this . duration = 0 , this . repeats = 0 } , destroy : function ( ) { this . onDown . dispose ( ) , this . onUp . dispose ( ) , this . onFloat . dispose ( ) , this . pad = null , this . game = null } } , b . GamepadButton . prototype . constructor = b . GamepadButton , b . InputHandler = function ( a ) { this . sprite = a , this . game = a . game , this . enabled = ! 1 , this . checked = ! 1 , this . priorityID = 0 , this . useHandCursor = ! 1 , this . _setHandCursor = ! 1 , this . isDragged = ! 1 , this . allowHorizontalDrag = ! 0 , this . allowVerticalDrag = ! 0 , this . bringToTop = ! 1 , this . snapOffset = null , this . snapOnDrag = ! 1 , this . snapOnRelease = ! 1 , this . snapX = 0 , this . snapY = 0 , this . snapOffsetX = 0 , this . snapOffsetY = 0 , this . pixelPerfectOver = ! 1 , this . pixelPerfectClick = ! 1 , this . pixelPerfectAlpha = 255 , this . draggable = ! 1 , this . boundsRect = null , this . boundsSprite = null , this . consumePointerEvent = ! 1 , this . scaleLayer = ! 1 , this . _dragPhase = ! 1 , this . _wasEnabled = ! 1 , this . _tempPoint = new b . Point , this . _pointerData = [ ] , this . _pointerData . push ( { id : 0 , x : 0 , y : 0 , isDown : ! 1 , isUp : ! 1 , isOver : ! 1 , isOut : ! 1 , timeOver : 0 , timeOut : 0 , timeDown : 0 , timeUp : 0 , downDuration : 0 , isDragged : ! 1 } ) } , b . InputHandler . prototype = { start : function ( a , c ) { if ( a = a || 0 , "undefined" == typeof c && ( c = ! 1 ) , this . enabled === ! 1 ) { this . game . input . interactiveItems . add ( this ) , this . useHandCursor = c , this . priorityID = a ; for ( var d = 0 ; 10 > d ; d ++ ) this . _pointerData [ d ] = { id : d , x : 0 , y : 0 , isDown : ! 1 , isUp : ! 1 , isOver : ! 1 , isOut : ! 1 , timeOver : 0 , timeOut : 0 , timeDown : 0 , timeUp : 0 , downDuration : 0 , isDragged : ! 1 } ; this . snapOffset = new b . Point , this . enabled = ! 0 , this . _wasEnabled = ! 0 , this . sprite . events && null === this . sprite . events . onInputOver && ( this . sprite . events . onInputOver = new b . Signal , this . sprite . events . onInputOut = new b . Signal , this . sprite . events . onInputDown = new b . Signal , this . sprite . events . onInputUp = new b . Signal , this . sprite . events . onDragStart = new b . Signal , this . sprite . events . onDragStop = new b . Signal ) } return this . sprite . events . onAddedToGroup . add ( this . addedToGroup , this ) , this . sprite . events . onRemovedFromGroup . add ( this . removedFromGroup , this ) , this . flagged = ! 1 , this . sprite } , addedToGroup : function ( ) { this . _dragPhase || this . _wasEnabled && ! this . enabled && this . start ( ) } , removedFromGroup : function ( ) { this . _dragPhase || ( this . enabled ? ( this . _wasEnabled = ! 0 , this . stop ( ) ) : this . _wasEnabled = ! 1 ) } , reset : function ( ) { this . enabled = ! 1 , this . flagged = ! 1 ; for ( var a = 0 ; 10 > a ; a ++ ) this . _pointerData [ a ] = { id : a , x : 0 , y : 0 , isDown : ! 1 , isUp : ! 1 , isOver : ! 1 , isOut : ! 1 , timeOver : 0 , timeOut : 0 , timeDown : 0 , timeUp : 0 , downDuration : 0 , isDragged : ! 1 } } , stop : function ( ) { this . enabled !== ! 1 && ( this . enabled = ! 1 , this . game . input . interactiveItems . remove ( this ) ) } , destroy : function ( ) { this . sprite && ( this . _setHandCursor && ( this . game . canvas . style . cursor = "default" , this . _setHandCursor = ! 1 ) , this . enabled = ! 1 , this . game . input . interactiveItems . remove ( this ) , this . _pointerData . length = 0 , this . boundsRect = null , this . boundsSprite = null , this . sprite = null ) } , validForInput : function ( a , b , c ) { return "undefined" == typeof c && ( c = ! 0 ) , 0 === this . sprite . scale . x || 0 === this . sprite . scale . y || this . priorityID < this . game . input . minPriorityID ? ! 1 : ( c || ! this . pixelPerfectClick && ! this . pixelPerfectOver ) && ( this . priorityID > a || this . priorityID === a && this . sprite . _cache [ 3 ] < b ) ? ! 0 : ! 1 } , isPixelPerfect : function ( ) { return this . pixelPerfectClick || this . pixelPerfectOver } , pointerX : function ( a ) { return a = a || 0 , this . _pointerData [ a ] . x } , pointerY : function ( a ) { r
2014-10-27 23:31:26 +00:00
} } , render : function ( ) { return ! this . disableTextureUpload && this . dirty && ( this . baseTexture . dirty ( ) , this . dirty = ! 1 ) , this } , blendReset : function ( ) { return this . context . globalCompositeOperation = "source-over" , this } , blendSourceOver : function ( ) { return this . context . globalCompositeOperation = "source-over" , this } , blendSourceIn : function ( ) { return this . context . globalCompositeOperation = "source-in" , this } , blendSourceOut : function ( ) { return this . context . globalCompositeOperation = "source-out" , this } , blendSourceAtop : function ( ) { return this . context . globalCompositeOperation = "source-atop" , this } , blendDestinationOver : function ( ) { return this . context . globalCompositeOperation = "destination-over" , this } , blendDestinationIn : function ( ) { return this . context . globalCompositeOperation = "destination-in" , this } , blendDestinationOut : function ( ) { return this . context . globalCompositeOperation = "destination-out" , this } , blendDestinationAtop : function ( ) { return this . context . globalCompositeOperation = "destination-atop" , this } , blendXor : function ( ) { return this . context . globalCompositeOperation = "xor" , this } , blendAdd : function ( ) { return this . context . globalCompositeOperation = "lighter" , this } , blendMultiply : function ( ) { return this . context . globalCompositeOperation = "multiply" , this } , blendScreen : function ( ) { return this . context . globalCompositeOperation = "screen" , this } , blendOverlay : function ( ) { return this . context . globalCompositeOperation = "overlay" , this } , blendDarken : function ( ) { return this . context . globalCompositeOperation = "darken" , this } , blendLighten : function ( ) { return this . context . globalCompositeOperation = "lighten" , this } , blendColorDodge : function ( ) { return this . context . globalCompositeOperation = "color-dodge" , this } , blendColorBurn : function ( ) { return this . context . globalCompositeOperation = "color-burn" , this } , blendHardLight : function ( ) { return this . context . globalCompositeOperation = "hard-light" , this } , blendSoftLight : function ( ) { return this . context . globalCompositeOperation = "soft-light" , this } , blendDifference : function ( ) { return this . context . globalCompositeOperation = "difference" , this } , blendExclusion : function ( ) { return this . context . globalCompositeOperation = "exclusion" , this } , blendHue : function ( ) { return this . context . globalCompositeOperation = "hue" , this } , blendSaturation : function ( ) { return this . context . globalCompositeOperation = "saturation" , this } , blendColor : function ( ) { return this . context . globalCompositeOperation = "color" , this } , blendLuminosity : function ( ) { return this . context . globalCompositeOperation = "luminosity" , this } } , Object . defineProperty ( b . BitmapData . prototype , "smoothed" , { get : function ( ) { b . Canvas . getSmoothingEnabled ( this . context ) } , set : function ( a ) { b . Canvas . setSmoothingEnabled ( this . context , a ) } } ) , b . BitmapData . getTransform = function ( a , b , c , d , e , f ) { return "number" != typeof a && ( a = 0 ) , "number" != typeof b && ( b = 0 ) , "number" != typeof c && ( c = 1 ) , "number" != typeof d && ( d = 1 ) , "number" != typeof e && ( e = 0 ) , "number" != typeof f && ( f = 0 ) , { sx : c , sy : d , scaleX : c , scaleY : d , skewX : e , skewY : f , translateX : a , translateY : b , tx : a , ty : b } } , b . BitmapData . prototype . constructor = b . BitmapData , b . Sprite = function ( a , c , d , e , f ) { c = c || 0 , d = d || 0 , e = e || null , f = f || null , this . game = a , this . name = "" , this . type = b . SPRITE , this . z = 0 , this . events = new b . Events ( this ) , this . animations = new b . AnimationManager ( this ) , this . key = e , PIXI . Sprite . call ( this , PIXI . TextureCache . _ _default ) , this . position . set ( c , d ) , this . world = new b . Point ( c , d ) , this . autoCull = ! 1 , this . input = null , this . body = null , this . alive = ! 0 , this . health = 1 , this . lifespan = 0 , this . checkWorldBounds = ! 1 , this . outOfBoundsKill = ! 1 , this . debug = ! 1 , this . cameraOffset = new b . Point , this . cropRect = null , this . _cache = [ 0 , 0 , 0 , 0 , 1 , 0 , 1 , 0 ] , this . _crop = null , this . _frame = null , this . _bounds = new b . Rectangle , this . loadTexture ( e , f ) } , b . Sprite . prototype = Object . create ( PIXI . Sprite . prototype ) , b . Sprite . prototype . constructor = b . Sprite , b . Sprite . 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 . _
2014-10-28 01:50:25 +00:00
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 . filters = null , this . mask = null , this . game = null , this . _cache [ 8 ] = 0 } } , b . Rope . prototype . play = function ( a , b , c , d ) { return this . animations . play ( a , b , c , d ) } , b . Rope . prototype . reset = function ( a , b ) { return this . world . setTo ( a , b ) , this . position . x = a , this . position . y = b , this . alive = ! 0 , this . exists = ! 0 , this . visible = ! 0 , this . renderable = ! 0 , this . _outOfBoundsFired = ! 1 , this . tilePosition . x = 0 , this . tilePosition . y = 0 , this . body && this . body . reset ( a , b , ! 1 , ! 1 ) , this . _cache [ 4 ] = 1 , this } , Object . defineProperty ( b . Rope . prototype , "angle" , { get : function ( ) { return b . Math . wrapAngle ( b . Math . radToDeg ( this . rotation ) ) } , set : function ( a ) { this . rotation = b . Math . degToRad ( b . Math . wrapAngle ( a ) ) } } ) , Object . defineProperty ( b . Rope . prototype , "frame" , { get : function ( ) { return this . animations . frame } , set : function ( a ) { a !== this . animations . frame && ( this . animations . frame = a ) } } ) , Object . defineProperty ( b . Rope . prototype , "frameName" , { get : function ( ) { return this . animations . frameName } , set : function ( a ) { a !== this . animations . frameName && ( this . animations . frameName = a ) } } ) , Object . defineProperty ( b . Rope . 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 . Rope . prototype , "exists" , { get : function ( ) { return ! ! this . _cache [ 6 ] } , set : function ( a ) { a ? ( this . _cache [ 6 ] = 1 , this . body && this . body . type === b . Physics . P2JS && this . body . addToWorld ( ) , this . visible = ! 0 ) : ( this . _cache [ 6 ] = 0 , this . body && this . body . type === b . Physics . P2JS && ( this . body . safeRemove = ! 0 ) , this . visible = ! 1 ) } } ) , Object . defineProperty ( b . Rope . prototype , "inputEnabled" , { get : function ( ) { return this . input && this . input . enabled } , set : function ( a ) { a ? null === this . input ? ( this . input = new b . InputHandler ( this ) , this . input . start ( ) ) : this . input && ! this . input . enabled && this . input . start ( ) : this . input && this . input . enabled && this . input . stop ( ) } } ) , Object . defineProperty ( b . Rope . prototype , "x" , { get : function ( ) { return this . position . x } , set : function ( a ) { this . position . x = a , this . body && this . body . type === b . Physics . ARCADE && 2 === this . body . phase && ( this . body . _reset = 1 ) } } ) , Object . defineProperty ( b . Rope . prototype , "y" , { get : function ( ) { return this . position . y } , set : function ( a ) { this . position . y = a , this . body && this . body . type === b . Physics . ARCADE && 2 === this . body . phase && ( this . body . _reset = 1 ) } } ) , Object . defineProperty ( b . Rope . prototype , "updateAnimation" , { get : function ( ) { return this . _updateAnimation } , set : function ( a ) { a && "function" == typeof a ? ( this . _hasUpdateAnimation = ! 0 , this . _updateAnimation = a ) : ( this . _hasUpdateAnimation = ! 1 , this . _updateAnimation = null ) } } ) , Object . defineProperty ( b . Rope . prototype , "segments" , { get : function ( ) { for ( var a , c , d , e , f , g , h , i , j = [ ] , k = 0 ; k < this . points . length ; k ++ ) a = 4 * k , c = this . verticies [ a ] , d = this . verticies [ a + 1 ] , e = this . verticies [ a + 4 ] , f = this . verticies [ a + 3 ] , g = b . Math . difference ( c , e ) , h = b . Math . difference ( d , f ) , c += this . world . x , d += this . world . y , i = new b . Rectangle ( c , d , g , h ) , j . push ( i ) ; return j } } ) , Object . defineProperty ( b . Rope . prototype , "destroyPhase" , { get : function ( ) { return ! ! this . _cache [ 8 ] } } ) , b . Text = function ( a , c , d , e , f ) { c = c || 0 , d = d || 0 , e = e || " " , f = f || { } , e = 0 === e . length ? " " : e . toString ( ) , this . game = a , this . exists = ! 0 , this . name = "" , this . type = b . TEXT , this . z = 0 , this . world = new b . Point ( c , d ) , this . _text = e , this . _font = "" , this . _fontSize = 32 , this . _fontWeight = "normal" , this . _lineSpacing = 0 , this . _charCount = 0 , this . events = new b . Events ( this ) , this . input = null , this . cameraOffset = new b . Point , this . colors = [ ] , this . setStyle ( f ) , PIXI . Text . call ( this , e , this . style ) , this . position . set ( c , d ) , this . _cache = [ 0 , 0 , 0 , 0 , 1 , 0 , 1 , 0 , 0 ] , " " !== e && this . updateText ( ) } , b . Text . prototype = Object . create ( PIXI . Text . prototype ) , b . Text . prototype . constructor = b . Text , b . Text . prototype . preUpdate = function ( ) { 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 . renderOrderID = - 1 , ! 1 ; this . autoCull && ( this . renderable = this . game . world . camera . screenView . intersects ( this . getBounds ( ) ) ) , this . world . setTo ( this . game . camera . x + this . worldTransform . tx , this . game . camera . y + this . worldTransform . ty ) , this . visible && ( this . _cache [ 3 ] = this . game . s
} , setUserSelect : function ( a , b ) { return b = b || "none" , a . style [ "-webkit-touch-callout" ] = b , a . style [ "-webkit-user-select" ] = b , a . style [ "-khtml-user-select" ] = b , a . style [ "-moz-user-select" ] = b , a . style [ "-ms-user-select" ] = b , a . style [ "user-select" ] = b , a . style [ "-webkit-tap-highlight-color" ] = "rgba(0, 0, 0, 0)" , a } , addToDOM : function ( a , b , c ) { var d ; return "undefined" == typeof c && ( c = ! 0 ) , b && ( "string" == typeof b ? d = document . getElementById ( b ) : "object" == typeof b && 1 === b . nodeType && ( d = b ) ) , d || ( d = document . body ) , c && d . style && ( d . style . overflow = "hidden" ) , d . appendChild ( a ) , a } , removeFromDOM : function ( a ) { a . parentNode && a . parentNode . removeChild ( a ) } , setTransform : function ( a , b , c , d , e , f , g ) { return a . setTransform ( d , f , g , e , b , c ) , a } , setSmoothingEnabled : function ( a , b ) { return a . imageSmoothingEnabled = b , a . mozImageSmoothingEnabled = b , a . oImageSmoothingEnabled = b , a . webkitImageSmoothingEnabled = b , a . msImageSmoothingEnabled = b , a } , getSmoothingEnabled : function ( a ) { return a . imageSmoothingEnabled || a . mozImageSmoothingEnabled || a . oImageSmoothingEnabled || a . webkitImageSmoothingEnabled || a . msImageSmoothingEnabled } , setImageRenderingCrisp : function ( a ) { return a . style [ "image-rendering" ] = "optimizeSpeed" , a . style [ "image-rendering" ] = "crisp-edges" , a . style [ "image-rendering" ] = "-moz-crisp-edges" , a . style [ "image-rendering" ] = "-webkit-optimize-contrast" , a . style [ "image-rendering" ] = "optimize-contrast" , a . style [ "image-rendering" ] = "pixelated" , a . style . msInterpolationMode = "nearest-neighbor" , a } , setImageRenderingBicubic : function ( a ) { return a . style [ "image-rendering" ] = "auto" , a . style . msInterpolationMode = "bicubic" , a } } , b . Device = function ( a ) { this . game = a , this . desktop = ! 1 , this . iOS = ! 1 , this . cocoonJS = ! 1 , this . cocoonJSApp = ! 1 , this . cordova = ! 1 , this . node = ! 1 , this . nodeWebkit = ! 1 , this . ejecta = ! 1 , this . crosswalk = ! 1 , this . android = ! 1 , this . chromeOS = ! 1 , this . linux = ! 1 , this . macOS = ! 1 , this . windows = ! 1 , this . windowsPhone = ! 1 , this . canvas = ! 1 , this . file = ! 1 , this . fileSystem = ! 1 , this . localStorage = ! 1 , this . webGL = ! 1 , this . worker = ! 1 , this . touch = ! 1 , this . mspointer = ! 1 , this . css3D = ! 1 , this . pointerLock = ! 1 , this . typedArray = ! 1 , this . vibration = ! 1 , this . getUserMedia = ! 1 , this . quirksMode = ! 1 , this . arora = ! 1 , this . chrome = ! 1 , this . epiphany = ! 1 , this . firefox = ! 1 , this . ie = ! 1 , this . ieVersion = 0 , this . trident = ! 1 , this . tridentVersion = 0 , this . mobileSafari = ! 1 , this . midori = ! 1 , this . opera = ! 1 , this . safari = ! 1 , this . webApp = ! 1 , this . silk = ! 1 , this . audioData = ! 1 , this . webAudio = ! 1 , this . ogg = ! 1 , this . opus = ! 1 , this . mp3 = ! 1 , this . wav = ! 1 , this . m4a = ! 1 , this . webm = ! 1 , this . iPhone = ! 1 , this . iPhone4 = ! 1 , this . iPad = ! 1 , this . pixelRatio = 0 , this . littleEndian = ! 1 , this . support32bit = ! 1 , this . fullscreen = ! 1 , this . requestFullscreen = "" , this . cancelFullscreen = "" , this . fullscreenKeyboard = ! 1 , this . _checkOS ( ) , this . _checkAudio ( ) , this . _checkBrowser ( ) , this . _checkCSS3D ( ) , this . _checkDevice ( ) , this . _checkFeatures ( ) } , b . Device . LITTLE _ENDIAN = ! 1 , b . Device . prototype = { _checkOS : function ( ) { var a = navigator . userAgent ; /Playstation Vita/ . test ( a ) ? this . vita = ! 0 : /Kindle/ . test ( a ) || /\bKF[A-Z][A-Z]+/ . test ( a ) || /Silk.*Mobile Safari/ . test ( a ) ? this . kindle = ! 0 : /Android/ . test ( a ) ? this . android = ! 0 : /CrOS/ . test ( a ) ? this . chromeOS = ! 0 : /iP[ao]d|iPhone/i . test ( a ) ? this . iOS = ! 0 : /Linux/ . test ( a ) ? this . linux = ! 0 : /Mac OS/ . test ( a ) ? this . macOS = ! 0 : /Windows/ . test ( a ) && ( this . windows = ! 0 , /Windows Phone/i . test ( a ) && ( this . windowsPhone = ! 0 ) ) , ( this . windows || this . macOS || this . linux && this . silk === ! 1 || this . chromeOS ) && ( this . desktop = ! 0 ) , ( this . windowsPhone || /Windows NT/i . test ( a ) && /Touch/i . test ( a ) ) && ( this . desktop = ! 1 ) } , _checkFeatures : function ( ) { this . canvas = ! ! window . CanvasRenderingContext2D || this . cocoonJS ; try { this . localStorage = ! ! localStorage . getItem } catch ( a ) { this . localStorage = ! 1 } this . file = ! ! ( window . File && window . FileReader && window . FileList && window . Blob ) , this . fileSystem = ! ! window . requestFileSystem , this . webGL = function ( ) { try { var a = document . createElement ( "canvas" ) ; return a . screencanvas = ! 1 , ! ! window . WebGLRenderingContext && ( a . getContext ( "webgl" ) || a . getContext ( "experimental-webgl" ) ) } catch ( b ) { return ! 1 } } ( ) , this . webGL = null === this . webGL || this . webGL === ! 1 ? ! 1 : ! 0 , this . worker = ! ! window . Worker , ( "ontouchstart" in document . documentElement || window . navigator . maxTouchPoints && window . navigator . maxTouchPoints > 1 ) && ( this . touch = ! 0 ) , ( window . navigator . msPointerEnabled || window . navigator . pointerEnabled
return this . _timers . push ( c ) , c } , removeAll : function ( ) { for ( var a = 0 ; a < this . _timers . length ; a ++ ) this . _timers [ a ] . destroy ( ) ; this . _timers = [ ] , this . events . removeAll ( ) } , update : function ( a ) { if ( this . prevTime = this . now , this . now = a , this . timeToCall = this . game . math . max ( 0 , 16 - ( a - this . lastTime ) ) , this . elapsed = this . now - this . time , this . elapsed > this . timeCap && ( this . elapsed = this . timeCap ) , this . physicsElapsed = this . elapsed / 1e3 || 1 / 60 , this . deltaCap > 0 && this . physicsElapsed > this . deltaCap && ( this . physicsElapsed = this . deltaCap ) , this . advancedTiming && ( this . msMin = this . game . math . min ( this . msMin , this . elapsed ) , this . msMax = this . game . math . max ( this . msMax , this . elapsed ) , this . frames ++ , this . now > this . _timeLastSecond + 1e3 && ( this . fps = Math . round ( 1e3 * this . frames / ( this . now - this . _timeLastSecond ) ) , this . fpsMin = this . game . math . min ( this . fpsMin , this . fps ) , this . fpsMax = this . game . math . max ( this . fpsMax , this . fps ) , this . _timeLastSecond = this . now , this . frames = 0 ) ) , this . time = this . now , this . lastTime = a + this . timeToCall , ! this . game . paused ) for ( this . events . update ( this . now ) , this . _i = 0 , this . _len = this . _timers . length ; this . _i < this . _len ; ) this . _timers [ this . _i ] . update ( this . now ) ? this . _i ++ : ( this . _timers . splice ( this . _i , 1 ) , this . _len -- ) } , gamePaused : function ( ) { this . _pauseStarted = this . now , this . events . pause ( ) ; for ( var a = this . _timers . length ; a -- ; ) this . _timers [ a ] . _pause ( ) } , gameResumed : function ( ) { this . time = this . now = Date . now ( ) , this . pauseDuration = this . time - this . _pauseStarted , this . events . resume ( ) ; for ( var a = this . _timers . length ; a -- ; ) this . _timers [ a ] . _resume ( ) } , totalElapsedSeconds : function ( ) { return . 001 * ( this . now - this . _started ) } , elapsedSince : function ( a ) { return this . now - a } , elapsedSecondsSince : function ( a ) { return . 001 * ( this . now - a ) } , reset : function ( ) { this . _started = this . now , this . removeAll ( ) } } , b . Time . prototype . constructor = b . Time , b . Timer = function ( a , c ) { "undefined" == typeof c && ( c = ! 0 ) , this . game = a , this . running = ! 1 , this . autoDestroy = c , this . expired = ! 1 , this . elapsed = 0 , this . events = [ ] , this . onComplete = new b . Signal , this . nextTick = 0 , this . timeCap = 1e3 , this . paused = ! 1 , this . _codePaused = ! 1 , this . _started = 0 , this . _pauseStarted = 0 , this . _pauseTotal = 0 , this . _now = Date . now ( ) , this . _len = 0 , this . _marked = 0 , this . _i = 0 , this . _diff = 0 , this . _newTick = 0 } , b . Timer . MINUTE = 6e4 , b . Timer . SECOND = 1e3 , b . Timer . HALF = 500 , b . Timer . QUARTER = 250 , b . Timer . prototype = { create : function ( a , c , d , e , f , g ) { a = Math . round ( a ) ; var h = a ; h += 0 === this . _now ? this . game . time . now : this . _now ; var i = new b . TimerEvent ( this , a , h , d , c , e , f , g ) ; return this . events . push ( i ) , this . order ( ) , this . expired = ! 1 , i } , add : function ( a , b , c ) { return this . create ( a , ! 1 , 0 , b , c , Array . prototype . splice . call ( arguments , 3 ) ) } , repeat : function ( a , b , c , d ) { return this . create ( a , ! 1 , b , c , d , Array . prototype . splice . call ( arguments , 4 ) ) } , loop : function ( a , b , c ) { return this . create ( a , ! 0 , 0 , b , c , Array . prototype . splice . call ( arguments , 3 ) ) } , start : function ( a ) { if ( ! this . running ) { this . _started = this . game . time . now + ( a || 0 ) , this . running = ! 0 ; for ( var b = 0 ; b < this . events . length ; b ++ ) this . events [ b ] . tick = this . events [ b ] . delay + this . _started } } , stop : function ( a ) { this . running = ! 1 , "undefined" == typeof a && ( a = ! 0 ) , a && ( this . events . length = 0 ) } , remove : function ( a ) { for ( var b = 0 ; b < this . events . length ; b ++ ) if ( this . events [ b ] === a ) return this . events [ b ] . pendingDelete = ! 0 , ! 0 ; return ! 1 } , order : function ( ) { this . events . length > 0 && ( this . events . sort ( this . sortHandler ) , this . nextTick = this . events [ 0 ] . tick ) } , sortHandler : function ( a , b ) { return a . tick < b . tick ? - 1 : a . tick > b . tick ? 1 : 0 } , clearPendingEvents : function ( ) { for ( this . _i = this . events . length ; this . _i -- ; ) this . events [ this . _i ] . pendingDelete && this . events . splice ( this . _i , 1 ) ; this . _len = this . events . length , this . _i = 0 } , update : function ( a ) { if ( this . paused ) return ! 0 ; if ( this . elapsed = a - this . _now , this . _now = a , this . elapsed > this . timeCap && this . adjustEvents ( a - this . elapsed ) , this . _marked = 0 , this . clearPendingEvents ( ) , this . running && this . _now >= this . nextTick && this . _len > 0 ) { for ( ; this . _i < this . _len && this . running && this . _now >= this . events [ this . _i ] . tick ; ) this . _newTick = this . _now + this . events [ this . _i ] . delay - ( this . _now - this . events [ this . _i ] . tick ) , this . _newTick < 0 && ( this . _newTick = this . _now + this . events [ this . _i ] . delay ) , this . events [ this . _i ] . loop === ! 0 ? ( this . events [ this . _i ] . tick = this . _newTick , this . events [ this . _i ] . callback . apply ( this . events [ this . _i ] . callbackContext , this . events [ this . _i
} , isSoundDecoded : function ( a ) { return this . _sounds [ a ] ? this . _sounds [ a ] . decoded : void 0 } , isSoundReady : function ( a ) { return this . _sounds [ a ] && this . _sounds [ a ] . decoded && this . game . sound . touchLocked === ! 1 } , getFrameCount : function ( a ) { return this . _images [ a ] ? this . _images [ a ] . frameData . total : 0 } , getText : function ( a ) { return this . _text [ a ] ? this . _text [ a ] . data : void console . warn ( 'Phaser.Cache.getText: Invalid key: "' + a + '"' ) } , getJSON : function ( a ) { return this . _json [ a ] ? this . _json [ a ] . data : void console . warn ( 'Phaser.Cache.getJSON: Invalid key: "' + a + '"' ) } , getXML : function ( a ) { return this . _xml [ a ] ? this . _xml [ a ] . data : void console . warn ( 'Phaser.Cache.getXML: Invalid key: "' + a + '"' ) } , getBinary : function ( a ) { return this . _binary [ a ] ? this . _binary [ a ] : void console . warn ( 'Phaser.Cache.getBinary: Invalid key: "' + a + '"' ) } , getURL : function ( a ) { var a = this . _resolveURL ( a ) ; return a ? this . _urlMap [ a ] : void console . warn ( 'Phaser.Cache.getUrl: Invalid url: "' + a + '" or Cache.autoResolveURL was false' ) } , getUrl : function ( a ) { return this . getURL ( a ) } , getKeys : function ( a ) { var c = null ; switch ( a ) { case b . Cache . CANVAS : c = this . _canvases ; break ; case b . Cache . IMAGE : c = this . _images ; break ; case b . Cache . TEXTURE : c = this . _textures ; break ; case b . Cache . SOUND : c = this . _sounds ; break ; case b . Cache . TEXT : c = this . _text ; break ; case b . Cache . PHYSICS : c = this . _physics ; break ; case b . Cache . TILEMAP : c = this . _tilemaps ; break ; case b . Cache . BINARY : c = this . _binary ; break ; case b . Cache . BITMAPDATA : c = this . _bitmapDatas ; break ; case b . Cache . BITMAPFONT : c = this . _bitmapFont ; break ; case b . Cache . JSON : c = this . _json ; break ; case b . Cache . XML : c = this . _xml } if ( c ) { var d = [ ] ; for ( var e in c ) "__default" !== e && "__missing" !== e && d . push ( e ) ; return d } } , removeCanvas : function ( a ) { delete this . _canvases [ a ] } , removeImage : function ( a , b ) { "undefined" == typeof b && ( b = ! 0 ) , delete this . _images [ a ] , b && PIXI . BaseTextureCache [ a ] . destroy ( ) } , removeSound : function ( a ) { delete this . _sounds [ a ] } , removeText : function ( a ) { delete this . _text [ a ] } , removeJSON : function ( a ) { delete this . _json [ a ] } , removeXML : function ( a ) { delete this . _xml [ a ] } , removePhysics : function ( a ) { delete this . _physics [ a ] } , removeTilemap : function ( a ) { delete this . _tilemaps [ a ] } , removeBinary : function ( a ) { delete this . _binary [ a ] } , removeBitmapData : function ( a ) { delete this . _bitmapDatas [ a ] } , removeBitmapFont : function ( a ) { delete this . _bitmapFont [ a ] } , _resolveURL : function ( a , b ) { return this . autoResolveURL ? ( this . _urlResolver . src = this . game . load . baseURL + a , this . _urlTemp = this . _urlResolver . src , this . _urlResolver . src = "" , b && ( this . _urlMap [ this . _urlTemp ] = b ) , this . _urlTemp ) : null } , destroy : function ( ) { for ( var a in this . _canvases ) delete this . _canvases [ a ] ; for ( var a in this . _images ) "__default" !== a && "__missing" !== a && delete this . _images [ a ] ; for ( var a in this . _sounds ) delete this . _sounds [ a ] ; for ( var a in this . _text ) delete this . _text [ a ] ; for ( var a in this . _json ) delete this . _json [ a ] ; for ( var a in this . _xml ) delete this . _xml [ a ] ; for ( var a in this . _textures ) delete this . _textures [ a ] ; for ( var a in this . _physics ) delete this . _physics [ a ] ; for ( var a in this . _tilemaps ) delete this . _tilemaps [ a ] ; for ( var a in this . _binary ) delete this . _binary [ a ] ; for ( var a in this . _bitmapDatas ) delete this . _bitmapDatas [ a ] ; for ( var a in this . _bitmapFont ) delete this . _bitmapFont [ a ] ; this . _urlMap = null , this . _urlResolver = null , this . _urlTemp = null } } , b . Cache . prototype . constructor = b . Cache , b . Loader = function ( a ) { this . game = a , this . isLoading = ! 1 , this . hasLoaded = ! 1 , this . progress = 0 , this . progressFloat = 0 , this . preloadSprite = null , this . crossOrigin = ! 1 , this . baseURL = "" , this . onLoadStart = new b . Signal , this . onFileStart = new b . Signal , this . onFileComplete = new b . Signal , this . onFileError = new b . Signal , this . onLoadComplete = new b . Signal , this . onPackComplete = new b . Signal , this . useXDomainRequest = ! 1 , this . _packList = [ ] , this . _packIndex = 0 , this . _fileList = [ ] , this . _fileIndex = 0 , this . _progressChunk = 0 , this . _xhr = new XMLHttpRequest , this . _ajax = null } , b . Loader . TEXTURE _ATLAS _JSON _ARRAY = 0 , b . Loader . TEXTURE _ATLAS _JSON _HASH = 1 , b . Loader . TEXTURE _ATLAS _XML _STARLING = 2 , b . Loader . PHYSICS _LIME _CORONA _JSON = 3 , b . Loader . PHYSICS _PHASER _JSON = 4 , b . Loader . prototype = { setPreloadSprite : function ( a , c ) { c = c || 0 , this . preloadSprite = { sprite : a , direction : c , width : a . width , height : a . height , rect : null } , this . preloadSprite . rect = 0 === c ? new b . Rectangle ( 0 , 0 , 1 , a . he
if ( window . PhaserGlobal . disableWebAudio === ! 0 ) return this . usingWebAudio = ! 1 , this . usingAudioTag = ! 0 , void ( this . noAudio = ! 1 ) } if ( window . AudioContext ) try { this . context = new window . AudioContext } catch ( a ) { this . context = null , this . usingWebAudio = ! 1 , this . noAudio = ! 0 } else if ( window . webkitAudioContext ) try { this . context = new window . webkitAudioContext } catch ( a ) { this . context = null , this . usingWebAudio = ! 1 , this . noAudio = ! 0 } window . Audio && null === this . context && ( this . usingWebAudio = ! 1 , this . usingAudioTag = ! 0 , this . noAudio = ! 1 ) , null !== this . context && ( this . masterGain = "undefined" == typeof this . context . createGain ? this . context . createGainNode ( ) : this . context . createGain ( ) , this . masterGain . gain . value = 1 , this . masterGain . connect ( this . context . destination ) ) } , unlock : function ( ) { if ( this . touchLocked !== ! 1 ) if ( this . game . device . webAudio === ! 1 || window . PhaserGlobal && window . PhaserGlobal . disableWebAudio === ! 0 ) this . touchLocked = ! 1 , this . _unlockSource = null , this . game . input . touch . callbackContext = null , this . game . input . touch . touchStartCallback = null , this . game . input . mouse . callbackContext = null , this . game . input . mouse . mouseDownCallback = null ; else { var a = this . context . createBuffer ( 1 , 1 , 22050 ) ; this . _unlockSource = this . context . createBufferSource ( ) , this . _unlockSource . buffer = a , this . _unlockSource . connect ( this . context . destination ) , this . _unlockSource . noteOn ( 0 ) } } , stopAll : function ( ) { for ( var a = 0 ; a < this . _sounds . length ; a ++ ) this . _sounds [ a ] && this . _sounds [ a ] . stop ( ) } , pauseAll : function ( ) { for ( var a = 0 ; a < this . _sounds . length ; a ++ ) this . _sounds [ a ] && this . _sounds [ a ] . pause ( ) } , resumeAll : function ( ) { for ( var a = 0 ; a < this . _sounds . length ; a ++ ) this . _sounds [ a ] && this . _sounds [ a ] . resume ( ) } , decode : function ( a , b ) { b = b || null ; var c = this . game . cache . getSoundData ( a ) ; if ( c && this . game . cache . isSoundDecoded ( a ) === ! 1 ) { this . game . cache . updateSound ( a , "isDecoding" , ! 0 ) ; var d = this ; this . context . decodeAudioData ( c , function ( c ) { d . game . cache . decodedSound ( a , c ) , b && d . onSoundDecode . dispatch ( a , b ) } ) } } , update : function ( ) { this . touchLocked && this . game . device . webAudio && null !== this . _unlockSource && ( this . _unlockSource . playbackState === this . _unlockSource . PLAYING _STATE || this . _unlockSource . playbackState === this . _unlockSource . FINISHED _STATE ) && ( this . touchLocked = ! 1 , this . _unlockSource = null , this . game . input . touch . callbackContext = null , this . game . input . touch . touchStartCallback = null ) ; for ( var a = 0 ; a < this . _sounds . length ; a ++ ) this . _sounds [ a ] . update ( ) } , add : function ( a , c , d , e ) { "undefined" == typeof c && ( c = 1 ) , "undefined" == typeof d && ( d = ! 1 ) , "undefined" == typeof e && ( e = this . connectToMaster ) ; var f = new b . Sound ( this . game , a , c , d , e ) ; return this . _sounds . push ( f ) , f } , addSprite : function ( a ) { var c = new b . AudioSprite ( this . game , a ) ; return c } , remove : function ( a ) { for ( var b = this . _sounds . length ; b -- ; ) if ( this . _sounds [ b ] === a ) return this . _sounds [ b ] . destroy ( ! 1 ) , this . _sounds . splice ( b , 1 ) , ! 0 ; return ! 1 } , removeByKey : function ( a ) { for ( var b = this . _sounds . length , c = 0 ; b -- ; ) this . _sounds [ b ] . key === a && ( this . _sounds [ b ] . destroy ( ! 1 ) , this . _sounds . splice ( b , 1 ) , c ++ ) ; return c } , play : function ( a , b , c ) { var d = this . add ( a , b , c ) ; return d . play ( ) , d } , setMute : function ( ) { if ( ! this . _muted ) { this . _muted = ! 0 , this . usingWebAudio && ( this . _muteVolume = this . masterGain . gain . value , this . masterGain . gain . value = 0 ) ; for ( var a = 0 ; a < this . _sounds . length ; a ++ ) this . _sounds [ a ] . usingAudioTag && ( this . _sounds [ a ] . mute = ! 0 ) } } , unsetMute : function ( ) { if ( this . _muted && ! this . _codeMuted ) { this . _muted = ! 1 , this . usingWebAudio && ( this . masterGain . gain . value = this . _muteVolume ) ; for ( var a = 0 ; a < this . _sounds . length ; a ++ ) this . _sounds [ a ] . usingAudioTag && ( this . _sounds [ a ] . mute = ! 1 ) } } , destroy : function ( ) { this . stopAll ( ) ; for ( var a = 0 ; a < this . _sounds . length ; a ++ ) this . _sounds [ a ] && this . _sounds [ a ] . destroy ( ) ; this . _sounds = [ ] , this . onSoundDecode . dispose ( ) } } , b . SoundManager . prototype . constructor = b . SoundManager , Object . defineProperty ( b . SoundManager . prototype , "mute" , { get : function ( ) { return this . _muted } , set : function ( a ) { if ( a = a || null ) { if ( this . _muted ) return ; this . _codeMuted = ! 0 , this . setMute ( ) } else { if ( ! this . _muted ) return ; this . _codeMuted = ! 1 , this . unsetMute ( ) } } } ) , Object . defineProperty ( b . SoundManager . prototype , "volume" , { get : function ( ) { return this . usingWebAudio ? this . masterGain . gain . value : this . _volume } , set : function ( a ) { if ( this . _volume = a , this . usingWebAudio ) this . masterGain . gain . value = a ; else for (
( c . faceTop || c . faceBottom ) && ( e = this . tileCheckY ( b , c ) ) } else { if ( ( c . faceTop || c . faceBottom ) && ( e = this . tileCheckY ( b , c ) , 0 !== e && ! c . intersects ( b . position . x , b . position . y , b . right , b . bottom ) ) ) return ! 0 ; ( c . faceLeft || c . faceRight ) && ( d = this . tileCheckX ( b , c ) ) } return 0 !== d || 0 !== e } , tileCheckX : function ( a , b ) { var c = 0 ; return a . deltaX ( ) < 0 && ! a . blocked . left && b . collideRight && a . checkCollision . left ? b . faceRight && a . x < b . right && ( c = a . x - b . right , c < - this . TILE _BIAS && ( c = 0 ) ) : a . deltaX ( ) > 0 && ! a . blocked . right && b . collideLeft && a . checkCollision . right && b . faceLeft && a . right > b . left && ( c = a . right - b . left , c > this . TILE _BIAS && ( c = 0 ) ) , 0 !== c && this . processTileSeparationX ( a , c ) , c } , tileCheckY : function ( a , b ) { var c = 0 ; return a . deltaY ( ) < 0 && ! a . blocked . up && b . collideDown && a . checkCollision . up ? b . faceBottom && a . y < b . bottom && ( c = a . y - b . bottom , c < - this . TILE _BIAS && ( c = 0 ) ) : a . deltaY ( ) > 0 && ! a . blocked . down && b . collideUp && a . checkCollision . down && b . faceTop && a . bottom > b . top && ( c = a . bottom - b . top , c > this . TILE _BIAS && ( c = 0 ) ) , 0 !== c && this . processTileSeparationY ( a , c ) , c } , processTileSeparationX : function ( a , b ) { 0 > b ? a . blocked . left = ! 0 : b > 0 && ( a . blocked . right = ! 0 ) , a . position . x -= b , a . velocity . x = 0 === a . bounce . x ? 0 : - a . velocity . x * a . bounce . x } , processTileSeparationY : function ( a , b ) { 0 > b ? a . blocked . up = ! 0 : b > 0 && ( a . blocked . down = ! 0 ) , a . position . y -= b , a . velocity . y = 0 === a . bounce . y ? 0 : - a . velocity . y * a . bounce . y } , getObjectsUnderPointer : function ( a , c , d , e ) { if ( 0 !== c . length && a . exists ) { this . quadTree . clear ( ) , this . quadTree . reset ( this . game . world . bounds . x , this . game . world . bounds . y , this . game . world . bounds . width , this . game . world . bounds . height , this . maxObjects , this . maxLevels ) , this . quadTree . populate ( c ) ; var f = new b . Rectangle ( a . x , a . y , 1 , 1 ) , g = [ ] ; this . _potentials = this . quadTree . retrieve ( f ) ; for ( var h = 0 , i = this . _potentials . length ; i > h ; h ++ ) this . _potentials [ h ] . hitTest ( a . x , a . y ) && ( d && d . call ( e , a , this . _potentials [ h ] . sprite ) , g . push ( this . _potentials [ h ] . sprite ) ) ; return g } } , moveToObject : function ( a , b , c , d ) { return "undefined" == typeof c && ( c = 60 ) , "undefined" == typeof d && ( d = 0 ) , this . _angle = Math . atan2 ( b . y - a . y , b . x - a . x ) , d > 0 && ( c = this . distanceBetween ( a , b ) / ( d / 1e3 ) ) , a . body . velocity . x = Math . cos ( this . _angle ) * c , a . body . velocity . y = Math . sin ( this . _angle ) * c , this . _angle } , moveToPointer : function ( a , b , c , d ) { return "undefined" == typeof b && ( b = 60 ) , c = c || this . game . input . activePointer , "undefined" == typeof d && ( d = 0 ) , this . _angle = this . angleToPointer ( a , c ) , d > 0 && ( b = this . distanceToPointer ( a , c ) / ( d / 1e3 ) ) , a . body . velocity . x = Math . cos ( this . _angle ) * b , a . body . velocity . y = Math . sin ( this . _angle ) * b , this . _angle } , moveToXY : function ( a , b , c , d , e ) { return "undefined" == typeof d && ( d = 60 ) , "undefined" == typeof e && ( e = 0 ) , this . _angle = Math . atan2 ( c - a . y , b - a . x ) , e > 0 && ( d = this . distanceToXY ( a , b , c ) / ( e / 1e3 ) ) , a . body . velocity . x = Math . cos ( this . _angle ) * d , a . body . velocity . y = Math . sin ( this . _angle ) * d , this . _angle } , velocityFromAngle : function ( a , c , d ) { return "undefined" == typeof c && ( c = 60 ) , d = d || new b . Point , d . setTo ( Math . cos ( this . game . math . degToRad ( a ) ) * c , Math . sin ( this . game . math . degToRad ( a ) ) * c ) } , velocityFromRotation : function ( a , c , d ) { return "undefined" == typeof c && ( c = 60 ) , d = d || new b . Point , d . setTo ( Math . cos ( a ) * c , Math . sin ( a ) * c ) } , accelerationFromRotation : function ( a , c , d ) { return "undefined" == typeof c && ( c = 60 ) , d = d || new b . Point , d . setTo ( Math . cos ( a ) * c , Math . sin ( a ) * c ) } , accelerateToObject : function ( a , b , c , d , e ) { return "undefined" == typeof c && ( c = 60 ) , "undefined" == typeof d && ( d = 1e3 ) , "undefined" == typeof e && ( e = 1e3 ) , this . _angle = this . angleBetween ( a , b ) , a . body . acceleration . setTo ( Math . cos ( this . _angle ) * c , Math . sin ( this . _angle ) * c ) , a . body . maxVelocity . setTo ( d , e ) , this . _angle } , accelerateToPointer : function ( a , b , c , d , e ) { return "undefined" == typeof c && ( c = 60 ) , "undefined" == typeof b && ( b = this . game . input . activePointer ) , "undefined" == typeof d && ( d = 1e3 ) , "undefined" == typeof e && ( e = 1e3 ) , this . _angle = this . angleToPointer ( a , b ) , a . body . acceleration . setTo ( Math . cos ( this . _angle ) * c , Math . sin ( this . _angle ) * c ) , a . body . maxVelocity . setTo ( d , e ) , this . _angle } , accelerateToXY : function ( a , b , c , d , e , f ) { return "undefined" == typeof d && ( d = 60 ) , "undefined" == typeof e && ( e = 1e3 ) , "undefined" == typeof f && ( f = 1e3 ) , this . _angle = this . angleToXY ( a , b , c ) , a . body . acceleration . setTo ( Math . cos ( this . _angle ) * d , Math . sin ( this . _angle ) * d ) , a . body . maxVelocity . setTo ( e , f ) , this . _angle } , distanceBetween : function ( a , b ) { return this . _dx = a . x - b . x , this
e ++ } } else for ( var f = 0 ; f < this . layers [ d ] . height ; f ++ ) for ( var g = 0 ; g < this . layers [ d ] . width ; g ++ ) if ( this . layers [ d ] . data [ f ] [ g ] . index === a ) { if ( e === b ) return this . layers [ d ] . data [ f ] [ g ] ; e ++ } return null } , getTile : function ( a , b , c , d ) { return "undefined" == typeof d && ( d = ! 1 ) , c = this . getLayer ( c ) , a >= 0 && a < this . layers [ c ] . width && b >= 0 && b < this . layers [ c ] . height ? - 1 === this . layers [ c ] . data [ b ] [ a ] . index ? d ? this . layers [ c ] . data [ b ] [ a ] : null : this . layers [ c ] . data [ b ] [ a ] : null } , getTileWorldXY : function ( a , b , c , d , e ) { return "undefined" == typeof c && ( c = this . tileWidth ) , "undefined" == typeof d && ( d = this . tileHeight ) , e = this . getLayer ( e ) , a = this . game . math . snapToFloor ( a , c ) / c , b = this . game . math . snapToFloor ( b , d ) / d , this . getTile ( a , b , e ) } , copy : function ( a , b , c , d , e ) { if ( e = this . getLayer ( e ) , ! this . layers [ e ] ) return void ( this . _results . length = 0 ) ; "undefined" == typeof a && ( a = 0 ) , "undefined" == typeof b && ( b = 0 ) , "undefined" == typeof c && ( c = this . layers [ e ] . width ) , "undefined" == typeof d && ( d = this . layers [ e ] . height ) , 0 > a && ( a = 0 ) , 0 > b && ( b = 0 ) , c > this . layers [ e ] . width && ( c = this . layers [ e ] . width ) , d > this . layers [ e ] . height && ( d = this . layers [ e ] . height ) , this . _results . length = 0 , this . _results . push ( { x : a , y : b , width : c , height : d , layer : e } ) ; for ( var f = b ; b + d > f ; f ++ ) for ( var g = a ; a + c > g ; g ++ ) this . _results . push ( this . layers [ e ] . data [ f ] [ g ] ) ; return this . _results } , paste : function ( a , b , c , d ) { if ( "undefined" == typeof a && ( a = 0 ) , "undefined" == typeof b && ( b = 0 ) , d = this . getLayer ( d ) , c && ! ( c . length < 2 ) ) { for ( var e = c [ 1 ] . x - a , f = c [ 1 ] . y - b , g = 1 ; g < c . length ; g ++ ) this . layers [ d ] . data [ f + c [ g ] . y ] [ e + c [ g ] . x ] . copy ( c [ g ] ) ; this . layers [ d ] . dirty = ! 0 , this . calculateFaces ( d ) } } , swap : function ( a , b , c , d , e , f , g ) { g = this . getLayer ( g ) , this . copy ( c , d , e , f , g ) , this . _results . length < 2 || ( this . _tempA = a , this . _tempB = b , this . _results . forEach ( this . swapHandler , this ) , this . paste ( c , d , this . _results , g ) ) } , swapHandler : function ( a ) { a . index === this . _tempA ? a . index = this . _tempB : a . index === this . _tempB && ( a . index = this . _tempA ) } , forEach : function ( a , b , c , d , e , f , g ) { g = this . getLayer ( g ) , this . copy ( c , d , e , f , g ) , this . _results . length < 2 || ( this . _results . forEach ( a , b ) , this . paste ( c , d , this . _results , g ) ) } , replace : function ( a , b , c , d , e , f , g ) { if ( g = this . getLayer ( g ) , this . copy ( c , d , e , f , g ) , ! ( this . _results . length < 2 ) ) { for ( var h = 1 ; h < this . _results . length ; h ++ ) this . _results [ h ] . index === a && ( this . _results [ h ] . index = b ) ; this . paste ( c , d , this . _results , g ) } } , random : function ( a , b , c , d , e ) { if ( e = this . getLayer ( e ) , this . copy ( a , b , c , d , e ) , ! ( this . _results . length < 2 ) ) { for ( var f = [ ] , g = 1 ; g < this . _results . length ; g ++ ) if ( this . _results [ g ] . index ) { var h = this . _results [ g ] . index ; - 1 === f . indexOf ( h ) && f . push ( h ) } for ( var i = 1 ; i < this . _results . length ; i ++ ) this . _results [ i ] . index = this . game . rnd . pick ( f ) ; this . paste ( a , b , this . _results , e ) } } , shuffle : function ( a , c , d , e , f ) { if ( f = this . getLayer ( f ) , this . copy ( a , c , d , e , f ) , ! ( this . _results . length < 2 ) ) { for ( var g = [ ] , h = 1 ; h < this . _results . length ; h ++ ) this . _results [ h ] . index && g . push ( this . _results [ h ] . index ) ; b . Utils . shuffle ( g ) ; for ( var i = 1 ; i < this . _results . length ; i ++ ) this . _results [ i ] . index = g [ i - 1 ] ; this . paste ( a , c , this . _results , f ) } } , fill : function ( a , b , c , d , e , f ) { if ( f = this . getLayer ( f ) , this . copy ( b , c , d , e , f ) , ! ( this . _results . length < 2 ) ) { for ( var g = 1 ; g < this . _results . length ; g ++ ) this . _results [ g ] . index = a ; this . paste ( b , c , this . _results , f ) } } , removeAllLayers : function ( ) { this . layers . length = 0 , this . currentLayer = 0 } , dump : function ( ) { for ( var a = "" , b = [ "" ] , c = 0 ; c < this . layers [ this . currentLayer ] . height ; c ++ ) { for ( var d = 0 ; d < this . layers [ this . currentLayer ] . width ; d ++ ) a += "%c " , b . push ( this . layers [ this . currentLayer ] . data [ c ] [ d ] > 1 ? this . debugMap [ this . layers [ this . currentLayer ] . data [ c ] [ d ] ] ? "background: " + this . debugMap [ this . layers [ this . currentLayer ] . data [ c ] [ d ] ] : "background: #ffffff" : "background: rgb(0, 0, 0)" ) ; a += "\n" } b [ 0 ] = a , console . log . apply ( console , b ) } , destroy : function ( ) { this . removeAllLayers ( ) , this . data = [ ] , this . game = null } } , b . Tilemap . prototype . constructor = b . Tilemap , Object . defineProperty ( b . Tilemap . prototype , "layer" , { get : function ( ) { return this . layers [ this . currentLayer ] } , set : function ( a ) { a !== this . currentLayer && this . setLayer ( a ) } } ) , b . TilemapLayer = function ( a , c , d , e , f ) { this . game = a , this . map = c , this . index = d , this . layer = c . layers [ d ] , this . canvas = b . Canvas . create ( e , f , "" , ! 0 ) , this . context = this . canvas . getContext ( "2d" ) , this . baseTexture = new PIXI . BaseTexture ( this . canvas ) , this . texture = new PIXI . Texture ( th
var b = this . system . bounds . y - ( this . pos . y - this . yw ) ; b > 0 ? this . reportCollisionVsWorld ( 0 , b , 0 , 1 , null ) : ( b = this . pos . y + this . yw - this . system . bounds . bottom , b > 0 && this . reportCollisionVsWorld ( 0 , - b , 0 , - 1 , null ) ) } , collideAABBVsAABB : function ( a ) { var b = this . pos , c = a , d = c . pos . x , e = c . pos . y , f = c . xw , g = c . yw , h = b . x - d , i = f + this . xw - Math . abs ( h ) ; if ( i > 0 ) { var j = b . y - e , k = g + this . yw - Math . abs ( j ) ; if ( k > 0 ) { k > i ? 0 > h ? ( i *= - 1 , k = 0 ) : k = 0 : 0 > j ? ( i = 0 , k *= - 1 ) : i = 0 ; var l = Math . sqrt ( i * i + k * k ) ; return this . reportCollisionVsBody ( i , k , i / l , k / l , c ) , Phaser . Physics . Ninja . AABB . COL _AXIS } } return ! 1 } , collideAABBVsTile : function ( a ) { var b = this . pos . x - a . pos . x , c = a . xw + this . xw - Math . abs ( b ) ; if ( c > 0 ) { var d = this . pos . y - a . pos . y , e = a . yw + this . yw - Math . abs ( d ) ; if ( e > 0 ) return e > c ? 0 > b ? ( c *= - 1 , e = 0 ) : e = 0 : 0 > d ? ( c = 0 , e *= - 1 ) : c = 0 , this . resolveTile ( c , e , this , a ) } return ! 1 } , resolveTile : function ( a , b , c , d ) { return 0 < d . id ? this . aabbTileProjections [ d . type ] ( a , b , c , d ) : ! 1 } , projAABB _Full : function ( a , b , c , d ) { var e = Math . sqrt ( a * a + b * b ) ; return c . reportCollisionVsWorld ( a , b , a / e , b / e , d ) , Phaser . Physics . Ninja . AABB . COL _AXIS } , projAABB _Half : function ( a , b , c , d ) { var e = d . signx , f = d . signy , g = c . pos . x - e * c . xw - d . pos . x , h = c . pos . y - f * c . yw - d . pos . y , i = g * e + h * f ; if ( 0 > i ) { e *= - i , f *= - i ; var j = Math . sqrt ( e * e + f * f ) , k = Math . sqrt ( a * a + b * b ) ; return j > k ? ( c . reportCollisionVsWorld ( a , b , a / k , b / k , d ) , Phaser . Physics . Ninja . AABB . COL _AXIS ) : ( c . reportCollisionVsWorld ( e , f , d . signx , d . signy , d ) , Phaser . Physics . Ninja . AABB . COL _OTHER ) } return Phaser . Physics . Ninja . AABB . COL _NONE } , projAABB _45Deg : function ( a , b , c , d ) { var e = d . signx , f = d . signy , g = c . pos . x - e * c . xw - d . pos . x , h = c . pos . y - f * c . yw - d . pos . y , i = d . sx , j = d . sy , k = g * i + h * j ; if ( 0 > k ) { i *= - k , j *= - k ; var l = Math . sqrt ( i * i + j * j ) , m = Math . sqrt ( a * a + b * b ) ; return l > m ? ( c . reportCollisionVsWorld ( a , b , a / m , b / m , d ) , Phaser . Physics . Ninja . AABB . COL _AXIS ) : ( c . reportCollisionVsWorld ( i , j , d . sx , d . sy ) , Phaser . Physics . Ninja . AABB . COL _OTHER ) } return Phaser . Physics . Ninja . AABB . COL _NONE } , projAABB _22DegS : function ( a , b , c , d ) { var e = d . signx , f = d . signy , g = c . pos . y - f * c . yw , h = d . pos . y - g ; if ( h * f > 0 ) { var i = c . pos . x - e * c . xw - ( d . pos . x + e * d . xw ) , j = c . pos . y - f * c . yw - ( d . pos . y - f * d . yw ) , k = d . sx , l = d . sy , m = i * k + j * l ; if ( 0 > m ) { k *= - m , l *= - m ; var n = Math . sqrt ( k * k + l * l ) , o = Math . sqrt ( a * a + b * b ) , p = Math . abs ( h ) ; return n > o ? o > p ? ( c . reportCollisionVsWorld ( 0 , h , 0 , h / p , d ) , Phaser . Physics . Ninja . AABB . COL _OTHER ) : ( c . reportCollisionVsWorld ( a , b , a / o , b / o , d ) , Phaser . Physics . Ninja . AABB . COL _AXIS ) : n > p ? ( c . reportCollisionVsWorld ( 0 , h , 0 , h / p , d ) , Phaser . Physics . Ninja . AABB . COL _OTHER ) : ( c . reportCollisionVsWorld ( k , l , d . sx , d . sy , d ) , Phaser . Physics . Ninja . AABB . COL _OTHER ) } } return Phaser . Physics . Ninja . AABB . COL _NONE } , projAABB _22DegB : function ( a , b , c , d ) { var e = d . signx , f = d . signy , g = c . pos . x - e * c . xw - ( d . pos . x - e * d . xw ) , h = c . pos . y - f * c . yw - ( d . pos . y + f * d . yw ) , i = d . sx , j = d . sy , k = g * i + h * j ; if ( 0 > k ) { i *= - k , j *= - k ; var l = Math . sqrt ( i * i + j * j ) , m = Math . sqrt ( a * a + b * b ) ; return l > m ? ( c . reportCollisionVsWorld ( a , b , a / m , b / m , d ) , Phaser . Physics . Ninja . AABB . COL _AXIS ) : ( c . reportCollisionVsWorld ( i , j , d . sx , d . sy , d ) , Phaser . Physics . Ninja . AABB . COL _OTHER ) } return Phaser . Physics . Ninja . AABB . COL _NONE } , projAABB _67DegS : function ( a , b , c , d ) { var e = d . signx , f = d . signy , g = c . pos . x - e * c . xw , h = d . pos . x - g ; if ( h * e > 0 ) { var i = c . pos . x - e * c . xw - ( d . pos . x - e * d . xw ) , j = c . pos . y - f * c . yw - ( d . pos . y + f * d . yw ) , k = d . sx , l = d . sy , m = i * k + j * l ; if ( 0 > m ) { k *= - m , l *= - m ; var n = Math . sqrt ( k * k + l * l ) , o = Math . sqrt ( a * a + b * b ) , p = Math . abs ( h ) ; return n > o ? o > p ? ( c . reportCollisionVsWorld ( h , 0 , h / p , 0 , d ) , Phaser . Physics . Ninja . AABB . COL _OTHER ) : ( c . reportCollisionVsWorld ( a , b , a / o , b / o , d ) , Phaser . Physics . Ninja . AABB . COL _AXIS ) : n > p ? ( c . reportCollisionVsWorld ( h , 0 , h / p , 0 , d ) , Phaser . Physics . Ninja . AABB . COL _OTHER ) : ( c . reportCollisionVsWorld ( k , l , d . sx , d . sy , d ) , Phaser . Physics . Ninja . AABB . COL _OTHER ) } } return Phaser . Physics . Ninja . AABB . COL _NONE } , projAABB _67DegB : function ( a , b , c , d ) { var e = d . signx , f = d . signy , g = c . pos . x - e * c . xw - ( d . pos . x + e * d . xw ) , h = c . pos . y - f * c . yw - ( d . pos . y - f * d . yw ) , i = d . sx , j = d . sy , k = g * i + h * j ; if ( 0 > k ) { i *= - k , j *= - k ; var l = Math . sqrt ( i * i + j * j ) , m = Math . sqrt ( a * a + b * b ) ; return l > m ? ( c . reportCollisionVsWorld ( a , b , a / m , b / m , d ) , Phaser . Physics . Ninja . AABB . COL _AXIS ) : ( c . reportCollisionVsWorld ( i , j , d . sx , d . sy , d ) , Phaser . Physics . Ninja . AABB . COL _OTHER ) } return Phaser . Physics . Ninja . AABB . COL _NONE } , projAABB _Convex : function ( a , b , c , d ) { var e = d . signx , f = d . signy , g = c . pos . x - e * c . xw - ( d . pos . x - e * d . xw ) , h = c . pos . y - f * c . yw - ( d . pos . y - f * d . yw ) , i = Math . sqrt ( g * g + h * h ) , j = 2 * d .
} } else { if ( g * c + h * d > 0 ) { var j = f . sx , k = f . sy , l = e . radius , m = e . pos . x - j * l - ( f . pos . x + g * f . xw ) , n = e . pos . y - k * l - ( f . pos . y - h * f . yw ) , o = m * j + n * k ; return 0 > o ? ( e . reportCollisionVsWorld ( - j * o , - k * o , f . sx , f . sy , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER ) : Phaser . Physics . Ninja . Circle . COL _NONE } var u = f . pos . x + c * f . xw , v = f . pos . y + d * f . yw , w = e . pos . x - u , x = e . pos . y - v , r = Math . sqrt ( w * w + x * x ) , s = e . radius - r ; if ( s > 0 ) return 0 === r ? ( w = c / Math . SQRT2 , x = d / Math . SQRT2 ) : ( w /= r , x /= r ) , e . reportCollisionVsWorld ( w * s , x * s , w , x , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } return Phaser . Physics . Ninja . Circle . COL _NONE } , destroy : function ( ) { this . body = null , this . system = null } , render : function ( a , b , c , d , e ) { var f = this . pos . x - b , g = this . pos . y - c ; a . beginPath ( ) , a . arc ( f , g , this . radius , 0 , 2 * Math . PI , ! 1 ) , e ? ( a . fillStyle = d , a . fill ( ) ) : ( a . strokeStyle = d , a . stroke ( ) ) } } ;