2015-05-06 07:00:42 +00:00
/* Phaser v2.4.0 - http://phaser.io - @photonstorm - (c) 2015 Photon Storm Ltd. */
2015-02-25 02:59:00 +00:00
2015-07-10 16:27:31 +00:00
( function ( ) { var a = this , b = b || { } ; b . WEBGL _RENDERER = 0 , b . CANVAS _RENDERER = 1 , b . VERSION = "v2.2.8" , b . _UID = 0 , "undefined" != typeof Float32Array ? ( b . Float32Array = Float32Array , b . Uint16Array = Uint16Array , b . Uint32Array = Uint32Array , b . ArrayBuffer = ArrayBuffer ) : ( b . Float32Array = Array , b . Uint16Array = Array ) , 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 . defaultRenderOptions = { view : null , transparent : ! 1 , antialias : ! 1 , preserveDrawingBuffer : ! 1 , resolution : 1 , clearBeforeRender : ! 0 , autoResize : ! 1 } , b . DisplayObject = function ( ) { this . position = new b . Point ( 0 , 0 ) , this . scale = new b . Point ( 1 , 1 ) , this . transformCallback = null , this . transformCallbackContext = null , this . pivot = new b . Point ( 0 , 0 ) , this . rotation = 0 , this . alpha = 1 , this . visible = ! 0 , this . hitArea = null , this . renderable = ! 1 , this . parent = null , this . stage = null , this . worldAlpha = 1 , this . worldTransform = new b . Matrix , this . worldPosition = new b . Point ( 0 , 0 ) , this . worldScale = new b . Point ( 1 , 1 ) , this . worldRotation = 0 , 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 . _cacheIsDirty = ! 1 } , b . DisplayObject . prototype . constructor = b . DisplayObject , b . DisplayObject . prototype . destroy = function ( ) { if ( this . children ) { for ( var a = this . children . length ; a -- ; ) this . children [ a ] . destroy ( ) ; this . children = [ ] } this . transformCallback = null , this . transformCallbackContext = null , this . hitArea = null , this . parent = null , this . stage = null , this . worldTransform = null , this . filterArea = null , this . _bounds = null , this . _currentBounds = null , this . _mask = null , this . renderable = ! 1 , this . _destroyCachedSprite ( ) } , Object . defineProperty ( b . DisplayObject . prototype , "worldVisible" , { get : function ( ) { var a = this ; do { if ( ! a . visible ) return ! 1 ; a = a . parent } while ( a ) ; return ! 0 } } ) , Object . defineProperty ( b . DisplayObject . prototype , "mask" , { get : function ( ) { return this . _mask } , set : function ( a ) { this . _mask && ( this . _mask . isMask = ! 1 ) , this . _mask = a , this . _mask && ( this . _mask . isMask = ! 0 ) } } ) , Object . defineProperty ( b . DisplayObject . prototype , "filters" , { get : function ( ) { return this . _filters } , set : function ( a ) { if ( a ) { for ( var b = [ ] , c = 0 ; c < a . length ; c ++ ) for ( var d = a [ c ] . passes , e = 0 ; e < d . length ; e ++ ) b . push ( d [ e ] ) ; this . _filterBlock = { target : this , filterPasses : b } } this . _filters = a } } ) , Object . defineProperty ( b . DisplayObject . prototype , "cacheAsBitmap" , { get : function ( ) { return this . _cacheAsBitmap } , set : function ( a ) { this . _cacheAsBitmap !== a && ( a ? this . _generateCachedSprite ( ) : this . _destroyCachedSprite ( ) , this . _cacheAsBitmap = a ) } } ) , b . DisplayObject . prototype . updateTransform = function ( a ) { if ( a || this . parent || this . game ) { var c = this . parent ; a ? c = a : this . parent || ( c = this . game . world ) ; var d , e , f , g , h , i , j = c . worldTransform , k = this . worldTransform ; this . rotation % b . PI _2 ? ( this . rotation !== this . rotationCache && ( this . rotationCache = this . rotation , this . _sr = Math . sin ( this . rotation ) , this . _cr = Math . cos ( this . rotation ) ) , d = this . _cr * this . scale . x , e = this . _sr * this . scale . x , f = - this . _sr * this . scale . y , g = this . _cr * this . scale . y , h = this . position . x , i = this . position . y , ( this . pivot . x || this . pivot . y ) && ( h -= this . pivot . x * d + this . pivot . y * f , i -= this . pivot . x * e + this . pivot . y * g ) , k . a = d * j . a + e * j . c , k . b = d * j . b + e * j . d , k . c = f * j . a + g * j . c , k . d = f * j . b + g * j . d , k . tx = h * j . a + i * j . c + j . tx , k . ty = h * j . b + i * j . d + j . ty ) : ( d = this . scale . x , g = this . scale . y , h = this . position . x - this . pivot . x * d , i = this . position . y - this . pivot . y * g , k . a = d * j . a , k . b = d * j . b , k . c = g * j . c , k . d = g * j . d , k . tx = h * j . a + i * j . c + j . tx , k . ty = h * j . b + i * j . d + j . ty ) , this . worldAlpha = this . alpha * c . worldAlpha , this . worldPosition . set ( k . tx , k . ty ) , this . worldScale . set ( Math . sqrt ( k . a * k . a + k . b * k . b ) , Math . sqrt ( k . c * k . c + k . d * k . d ) ) , this . worldRotation = Math . atan2 ( - k . c , k . d ) , this . transformCallback && this . transformCallback . call ( this . transformCallbackContext , k , j ) } } , b . DisplayObject . prototype . displayObjectUpdateTransform = b . DisplayObject . prototype . updateTransform , b . DisplayObject . prototype . getBounds = function ( a ) { return a = a , b . EmptyRectangle } , b . DisplayObject . prototype . getLocalBounds = function ( ) { return this . getBounds ( b . identityMatrix ) } , b . DisplayObject . prototype . setStageReference = function ( a ) { this . stage = a } , b . DisplayObject . prototype . preUpdate = function ( ) { } , b . DisplayObject . prototype . generateTexture = function ( a , c , d ) { var e = this . getLocalBounds ( ) , f = new b . RenderTexture ( 0 | e . width , 0 | e . height , d , c , a )
} , b . WebGLGraphics . updateGraphics = function ( a , c ) { var d = a . _webGL [ c . id ] ; d || ( d = a . _webGL [ c . id ] = { lastIndex : 0 , data : [ ] , gl : c } ) , a . dirty = ! 1 ; var e ; if ( a . clearDirty ) { for ( a . clearDirty = ! 1 , e = 0 ; e < d . data . length ; e ++ ) { var f = d . data [ e ] ; f . reset ( ) , b . WebGLGraphics . graphicsDataPool . push ( f ) } d . data = [ ] , d . lastIndex = 0 } var g ; for ( e = d . lastIndex ; e < a . graphicsData . length ; e ++ ) { var h = a . graphicsData [ e ] ; if ( h . type === b . Graphics . POLY ) { if ( h . points = h . shape . points . slice ( ) , h . shape . closed && ( h . points [ 0 ] !== h . points [ h . points . length - 2 ] || h . points [ 1 ] !== h . points [ h . points . length - 1 ] ) && h . points . push ( h . points [ 0 ] , h . points [ 1 ] ) , h . fill && h . points . length >= 6 ) if ( h . points . length < 12 ) { g = b . WebGLGraphics . switchMode ( d , 0 ) ; var i = b . WebGLGraphics . buildPoly ( h , g ) ; i || ( g = b . WebGLGraphics . switchMode ( d , 1 ) , b . WebGLGraphics . buildComplexPoly ( h , g ) ) } else g = b . WebGLGraphics . switchMode ( d , 1 ) , b . WebGLGraphics . buildComplexPoly ( h , g ) ; h . lineWidth > 0 && ( g = b . WebGLGraphics . switchMode ( d , 0 ) , b . WebGLGraphics . buildLine ( h , g ) ) } else g = b . WebGLGraphics . switchMode ( d , 0 ) , h . type === b . Graphics . RECT ? b . WebGLGraphics . buildRectangle ( h , g ) : h . type === b . Graphics . CIRC || h . type === b . Graphics . ELIP ? b . WebGLGraphics . buildCircle ( h , g ) : h . type === b . Graphics . RREC && b . WebGLGraphics . buildRoundedRectangle ( h , g ) ; d . lastIndex ++ } for ( e = 0 ; e < d . data . length ; e ++ ) g = d . data [ e ] , g . dirty && g . upload ( ) } , b . WebGLGraphics . switchMode = function ( a , c ) { var d ; return a . data . length ? ( d = a . data [ a . data . length - 1 ] , ( d . mode !== c || 1 === c ) && ( d = b . WebGLGraphics . graphicsDataPool . pop ( ) || new b . WebGLGraphicsData ( a . gl ) , d . mode = c , a . data . push ( d ) ) ) : ( d = b . WebGLGraphics . graphicsDataPool . pop ( ) || new b . WebGLGraphicsData ( a . gl ) , d . mode = c , a . data . push ( d ) ) , d . dirty = ! 0 , d } , b . WebGLGraphics . buildRectangle = function ( a , c ) { var d = a . shape , e = d . x , f = d . y , g = d . width , h = d . height ; if ( a . fill ) { var i = b . hex2rgb ( a . fillColor ) , j = a . fillAlpha , k = i [ 0 ] * j , l = i [ 1 ] * j , m = i [ 2 ] * j , n = c . points , o = c . indices , p = n . length / 6 ; n . push ( e , f ) , n . push ( k , l , m , j ) , n . push ( e + g , f ) , n . push ( k , l , m , j ) , n . push ( e , f + h ) , n . push ( k , l , m , j ) , n . push ( e + g , f + h ) , n . push ( k , l , m , j ) , o . push ( p , p , p + 1 , p + 2 , p + 3 , p + 3 ) } if ( a . lineWidth ) { var q = a . points ; a . points = [ e , f , e + g , f , e + g , f + h , e , f + h , e , f ] , b . WebGLGraphics . buildLine ( a , c ) , a . points = q } } , b . WebGLGraphics . buildRoundedRectangle = function ( a , c ) { var d = a . shape , e = d . x , f = d . y , g = d . width , h = d . height , i = d . radius , j = [ ] ; if ( j . push ( e , f + i ) , j = j . concat ( b . WebGLGraphics . quadraticBezierCurve ( e , f + h - i , e , f + h , e + i , f + h ) ) , j = j . concat ( b . WebGLGraphics . quadraticBezierCurve ( e + g - i , f + h , e + g , f + h , e + g , f + h - i ) ) , j = j . concat ( b . WebGLGraphics . quadraticBezierCurve ( e + g , f + i , e + g , f , e + g - i , f ) ) , j = j . concat ( b . WebGLGraphics . quadraticBezierCurve ( e + i , f , e , f , e , f + i ) ) , a . fill ) { var k = b . hex2rgb ( a . fillColor ) , l = a . fillAlpha , m = k [ 0 ] * l , n = k [ 1 ] * l , o = k [ 2 ] * l , p = c . points , q = c . indices , r = p . length / 6 , s = b . PolyK . Triangulate ( j ) , t = 0 ; for ( t = 0 ; t < s . length ; t += 3 ) q . push ( s [ t ] + r ) , q . push ( s [ t ] + r ) , q . push ( s [ t + 1 ] + r ) , q . push ( s [ t + 2 ] + r ) , q . push ( s [ t + 2 ] + r ) ; for ( t = 0 ; t < j . length ; t ++ ) p . push ( j [ t ] , j [ ++ t ] , m , n , o , l ) } if ( a . lineWidth ) { var u = a . points ; a . points = j , b . WebGLGraphics . buildLine ( a , c ) , a . points = u } } , b . WebGLGraphics . quadraticBezierCurve = function ( a , b , c , d , e , f ) { function g ( a , b , c ) { var d = b - a ; return a + d * c } for ( var h , i , j , k , l , m , n = 20 , o = [ ] , p = 0 , q = 0 ; n >= q ; q ++ ) p = q / n , h = g ( a , c , p ) , i = g ( b , d , p ) , j = g ( c , e , p ) , k = g ( d , f , p ) , l = g ( h , j , p ) , m = g ( i , k , p ) , o . push ( l , m ) ; return o } , b . WebGLGraphics . buildCircle = function ( a , c ) { var d , e , f = a . shape , g = f . x , h = f . y ; a . type === b . Graphics . CIRC ? ( d = f . radius , e = f . radius ) : ( d = f . width , e = f . height ) ; var i = 40 , j = 2 * Math . PI / i , k = 0 ; if ( a . fill ) { var l = b . hex2rgb ( a . fillColor ) , m = a . fillAlpha , n = l [ 0 ] * m , o = l [ 1 ] * m , p = l [ 2 ] * m , q = c . points , r = c . indices , s = q . length / 6 ; for ( r . push ( s ) , k = 0 ; i + 1 > k ; k ++ ) q . push ( g , h , n , o , p , m ) , q . push ( g + Math . sin ( j * k ) * d , h + Math . cos ( j * k ) * e , n , o , p , m ) , r . push ( s ++ , s ++ ) ; r . push ( s - 1 ) } if ( a . lineWidth ) { var t = a . points ; for ( a . points = [ ] , k = 0 ; i + 1 > k ; k ++ ) a . points . push ( g + Math . sin ( j * k ) * d , h + Math . cos ( j * k ) * e ) ; b . WebGLGraphics . buildLine ( a , c ) , a . points = t } } , b . WebGLGraphics . buildLine = function ( a , c ) { var d = 0 , e = a . points ; if ( 0 !== e . length ) { if ( a . lineWidth % 2 ) for ( d = 0 ; d < e . length ; d ++ ) e [ d ] += . 5 ; var f = new b . Point ( e [ 0 ] , e [ 1 ] ) , g = new b . Point ( e [ e . length - 2 ] , e [ e . length - 1 ] ) ; if ( f . x === g . x && f . y === g . y ) { e = e . slice ( ) , e . pop ( ) , e . pop ( ) , g = new b . Point ( e [ e . length - 2 ] , e [ e . length - 1 ] ) ; var h = g . x + . 5 * ( f . x - g . x ) , i = g . y + . 5 * ( f . y - g . y ) ; e . unshift ( h , i ) , e . push ( h , i ) } var j , k , l , m , n , o , p , q , r , s , t , u , v , w , x , y , z , A , B , C , D , E , F , G = c . points ,
var h = e , i = this . texturePool . pop ( ) ; i || ( i = new b . FilterTexture ( this . gl , this . width , this . height ) ) , i . resize ( this . width , this . height ) , a . bindFramebuffer ( a . FRAMEBUFFER , i . frameBuffer ) , a . clear ( a . COLOR _BUFFER _BIT ) , a . disable ( a . BLEND ) ; for ( var j = 0 ; j < c . filterPasses . length - 1 ; j ++ ) { var k = c . filterPasses [ j ] ; a . bindFramebuffer ( a . FRAMEBUFFER , i . frameBuffer ) , a . activeTexture ( a . TEXTURE0 ) , a . bindTexture ( a . TEXTURE _2D , h . texture ) , this . applyFilterPass ( k , d , d . width , d . height ) ; var l = h ; h = i , i = l } a . enable ( a . BLEND ) , e = h , this . texturePool . push ( i ) } var m = c . filterPasses [ c . filterPasses . length - 1 ] ; this . offsetX -= d . x , this . offsetY -= d . y ; var n = this . width , o = this . height , p = 0 , q = 0 , r = this . buffer ; if ( 0 === this . filterStack . length ) a . colorMask ( ! 0 , ! 0 , ! 0 , ! 0 ) ; else { var s = this . filterStack [ this . filterStack . length - 1 ] ; d = s . _filterArea , n = d . width , o = d . height , p = d . x , q = d . y , r = s . _glFilterTexture . frameBuffer } f . x = n / 2 , f . y = - o / 2 , g . x = p , g . y = q , d = c . _filterArea ; var t = d . x - p , u = d . y - q ; a . bindBuffer ( a . ARRAY _BUFFER , this . vertexBuffer ) , this . vertexArray [ 0 ] = t , this . vertexArray [ 1 ] = u + d . height , this . vertexArray [ 2 ] = t + d . width , this . vertexArray [ 3 ] = u + d . height , this . vertexArray [ 4 ] = t , this . vertexArray [ 5 ] = u , this . vertexArray [ 6 ] = t + d . width , this . vertexArray [ 7 ] = u , a . bufferSubData ( a . ARRAY _BUFFER , 0 , this . vertexArray ) , a . bindBuffer ( a . ARRAY _BUFFER , this . uvBuffer ) , this . uvArray [ 2 ] = d . width / this . width , this . uvArray [ 5 ] = d . height / this . height , this . uvArray [ 6 ] = d . width / this . width , this . uvArray [ 7 ] = d . height / this . height , a . bufferSubData ( a . ARRAY _BUFFER , 0 , this . uvArray ) , a . viewport ( 0 , 0 , n * this . renderSession . resolution , o * this . renderSession . resolution ) , a . bindFramebuffer ( a . FRAMEBUFFER , r ) , a . activeTexture ( a . TEXTURE0 ) , a . bindTexture ( a . TEXTURE _2D , e . texture ) , this . applyFilterPass ( m , d , n , o ) , this . texturePool . push ( e ) , c . _glFilterTexture = null } , b . WebGLFilterManager . prototype . applyFilterPass = function ( a , c , d , e ) { var f = this . gl , g = a . shaders [ f . id ] ; g || ( g = new b . PixiShader ( f ) , g . fragmentSrc = a . fragmentSrc , g . uniforms = a . uniforms , g . init ( ) , a . shaders [ f . id ] = g ) , this . renderSession . shaderManager . setShader ( g ) , f . uniform2f ( g . projectionVector , d / 2 , - e / 2 ) , f . uniform2f ( g . offsetVector , 0 , 0 ) , a . uniforms . dimensions && ( a . uniforms . dimensions . value [ 0 ] = this . width , a . uniforms . dimensions . value [ 1 ] = this . height , a . uniforms . dimensions . value [ 2 ] = this . vertexArray [ 0 ] , a . uniforms . dimensions . value [ 3 ] = this . vertexArray [ 5 ] ) , g . syncUniforms ( ) , f . bindBuffer ( f . ARRAY _BUFFER , this . vertexBuffer ) , f . vertexAttribPointer ( g . aVertexPosition , 2 , f . FLOAT , ! 1 , 0 , 0 ) , f . bindBuffer ( f . ARRAY _BUFFER , this . uvBuffer ) , f . vertexAttribPointer ( g . aTextureCoord , 2 , f . FLOAT , ! 1 , 0 , 0 ) , f . bindBuffer ( f . ARRAY _BUFFER , this . colorBuffer ) , f . vertexAttribPointer ( g . colorAttribute , 2 , f . FLOAT , ! 1 , 0 , 0 ) , f . bindBuffer ( f . ELEMENT _ARRAY _BUFFER , this . indexBuffer ) , f . drawElements ( f . TRIANGLES , 6 , f . UNSIGNED _SHORT , 0 ) , this . renderSession . drawCount ++ } , b . WebGLFilterManager . prototype . initShaderBuffers = function ( ) { var a = this . gl ; this . vertexBuffer = a . createBuffer ( ) , this . uvBuffer = a . createBuffer ( ) , this . colorBuffer = a . createBuffer ( ) , this . indexBuffer = a . createBuffer ( ) , this . vertexArray = new b . Float32Array ( [ 0 , 0 , 1 , 0 , 0 , 1 , 1 , 1 ] ) , a . bindBuffer ( a . ARRAY _BUFFER , this . vertexBuffer ) , a . bufferData ( a . ARRAY _BUFFER , this . vertexArray , a . STATIC _DRAW ) , this . uvArray = new b . Float32Array ( [ 0 , 0 , 1 , 0 , 0 , 1 , 1 , 1 ] ) , a . bindBuffer ( a . ARRAY _BUFFER , this . uvBuffer ) , a . bufferData ( a . ARRAY _BUFFER , this . uvArray , a . STATIC _DRAW ) , this . colorArray = new b . Float32Array ( [ 1 , 16777215 , 1 , 16777215 , 1 , 16777215 , 1 , 16777215 ] ) , a . bindBuffer ( a . ARRAY _BUFFER , this . colorBuffer ) , a . bufferData ( a . ARRAY _BUFFER , this . colorArray , a . STATIC _DRAW ) , a . bindBuffer ( a . ELEMENT _ARRAY _BUFFER , this . indexBuffer ) , a . bufferData ( a . ELEMENT _ARRAY _BUFFER , new Uint16Array ( [ 0 , 1 , 2 , 1 , 3 , 2 ] ) , a . STATIC _DRAW ) } , b . WebGLFilterManager . prototype . destroy = function ( ) { var a = this . gl ; this . filterStack = null , this . offsetX = 0 , this . offsetY = 0 ; for ( var b = 0 ; b < this . texturePool . length ; b ++ ) this . texturePool [ b ] . destroy ( ) ; this . texturePool = null , a . deleteBuffer ( this . vertexBuffer ) , a . deleteBuffer ( this . uvBuffer ) , a . deleteBuffer ( this . colorBuffer ) , a . deleteBuffer ( this . indexBuffer ) } , b . FilterTexture = function ( a , c , d , e ) { this . gl = a , this . frameBuffer = a . createFramebuffer ( ) , this . texture = a . createTexture ( ) , e = e || b . scaleModes . DEFAULT , a . bindTexture ( a . TEXTURE _2D , this . texture ) , a . texParameteri ( a . TEXTURE _2D , a . TEXTUR
a . transform ( D / C , G / C , E / C , H / C , F / C , I / C ) , a . drawImage ( g , 0 , 0 ) , a . restore ( ) } , b . Strip . prototype . renderStripFlat = function ( a ) { var b = this . context , c = a . vertices , 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 . Strip . prototype . getBounds = function ( a ) { for ( var c = a || this . worldTransform , d = c . a , e = c . b , f = c . c , g = c . d , h = c . tx , i = c . ty , j = - 1 / 0 , k = - 1 / 0 , l = 1 / 0 , m = 1 / 0 , n = this . vertices , o = 0 , p = n . length ; p > o ; o += 2 ) { var q = n [ o ] , r = n [ o + 1 ] , s = d * q + f * r + h , t = g * r + e * q + i ; l = l > s ? s : l , m = m > t ? t : m , j = s > j ? s : j , k = t > k ? t : k } if ( l === - 1 / 0 || 1 / 0 === k ) return b . EmptyRectangle ; var u = this . _bounds ; return u . x = l , u . width = j - l , u . y = m , u . height = k - m , this . _currentBounds = u , u } , b . Strip . DrawModes = { TRIANGLE _STRIP : 0 , TRIANGLES : 1 } , b . Rope = function ( a , c ) { b . Strip . call ( this , a ) , this . points = c , this . vertices = 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 . vertices , 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 || 128 , this . _height = d || 128 , this . tileScale = new b . Point ( 1 , 1 ) , this . tileScaleOffset = new b . Point ( 1 , 1 ) , this . tilePosition = new b . Point , this . renderable = ! 0 , this . tint = 16777215 , this . textureDebug = ! 1 , this . blendMode = b . blendModes . NORMAL , this . canvasBuffer = null , this . tilingTexture = null , this . tilePattern = null , this . refreshTexture = ! 0 , this . frameWidth = 0 , this . frameHeight = 0 } , b . TilingSprite . prototype = Object . create ( b . Sprite . prototype ) , b . TilingSprite . prototype . constructor = b . TilingSprite , 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 ) { if ( 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 . refreshTexture ) { if ( this . generateTilingTexture ( ! 0 ) , ! this . tilingTexture ) return ; this . tilingTexture . needsUpdate && ( a . renderer . updateTexture ( this . tilingTexture . baseTexture ) , this . tilingTexture . needsUpdate = ! 1 ) } a . spriteBatch . renderTilingSprite ( this ) ; for ( var b = 0 ; b < this . children . length ; b ++ ) this . children [ b ] . _renderWebGL ( a ) ; a . spriteBatch . stop ( ) , this . _filters && a . filterManager . popFilter ( ) , this . _mask && a . maskManager . popMask ( this . _mask , a ) , a . spriteBatch . start ( ) } } , b . TilingSprite . prototype . _renderCanvas = function ( a ) { if ( this . visible !== ! 1 && 0 !== this . alpha ) { var c = a . context ; this . _mask && a . maskManager . pushMask ( this . _mask , a ) , c . globalAlpha = this . worldAlpha ; var d = this . worldTransform , e = a . resolution ; if ( c . setTransform ( d . a * e , d . b * e , d . c * e , d . d * e , d . tx * e , d . ty * e ) , this . refreshTexture ) { if ( this . generateTilingTexture ( ! 1 ) , ! this . tilingTexture ) return ; this . tilePattern = c . createPattern ( this . tilingTexture . baseTexture . source , "repeat" ) } var f = a . currentBlendMode ; this . blendMode !== a . currentBlendMode && ( a . currentBlendMode = this . blendMode , c . globalCompositeOperation = b . blendModesCanvas [ a . currentBle
} , setTo : function ( a , b ) { return this . x = a || 0 , this . y = b || ( 0 !== b ? this . x : 0 ) , this } , set : function ( a , b ) { return this . x = a || 0 , this . y = b || ( 0 !== b ? this . x : 0 ) , this } , add : function ( a , b ) { return this . x += a , this . y += b , this } , subtract : function ( a , b ) { return this . x -= a , this . y -= b , this } , multiply : function ( a , b ) { return this . x *= a , this . y *= b , this } , divide : function ( a , b ) { return this . x /= a , this . y /= b , this } , clampX : function ( a , b ) { return this . x = c . Math . clamp ( this . x , a , b ) , this } , clampY : function ( a , b ) { return this . y = c . Math . clamp ( this . y , a , b ) , this } , clamp : function ( a , b ) { return this . x = c . Math . clamp ( this . x , a , b ) , this . y = c . Math . clamp ( this . y , a , b ) , this } , clone : function ( a ) { return "undefined" == typeof a || null === a ? a = new c . Point ( this . x , this . y ) : a . setTo ( this . x , this . y ) , a } , copyTo : function ( a ) { return a . x = this . x , a . y = this . y , a } , distance : function ( a , b ) { return c . Point . distance ( this , a , b ) } , equals : function ( a ) { return a . x === this . x && a . y === this . y } , angle : function ( a , b ) { return "undefined" == typeof b && ( b = ! 1 ) , b ? c . Math . radToDeg ( Math . atan2 ( a . y - this . y , a . x - this . x ) ) : Math . atan2 ( a . y - this . y , a . x - this . x ) } , rotate : function ( a , b , d , e , f ) { return c . Point . rotate ( this , a , b , d , e , f ) } , getMagnitude : function ( ) { return Math . sqrt ( this . x * this . x + this . y * this . y ) } , getMagnitudeSq : function ( ) { return this . x * this . x + this . y * this . y } , setMagnitude : function ( a ) { return this . normalize ( ) . multiply ( a , a ) } , normalize : function ( ) { if ( ! this . isZero ( ) ) { var a = this . getMagnitude ( ) ; this . x /= a , this . y /= a } return this } , isZero : function ( ) { return 0 === this . x && 0 === this . y } , dot : function ( a ) { return this . x * a . x + this . y * a . y } , cross : function ( a ) { return this . x * a . y - this . y * a . x } , perp : function ( ) { return this . setTo ( - this . y , this . x ) } , rperp : function ( ) { return this . setTo ( this . y , - this . x ) } , normalRightHand : function ( ) { return this . setTo ( - 1 * this . y , this . x ) } , floor : function ( ) { return this . setTo ( Math . floor ( this . x ) , Math . floor ( this . y ) ) } , ceil : function ( ) { return this . setTo ( Math . ceil ( this . x ) , Math . ceil ( this . y ) ) } , toString : function ( ) { return "[{Point (x=" + this . x + " y=" + this . y + ")}]" } } , c . Point . prototype . constructor = c . Point , c . Point . add = function ( a , b , d ) { return "undefined" == typeof d && ( d = new c . Point ) , d . x = a . x + b . x , d . y = a . y + b . y , d } , c . Point . subtract = function ( a , b , d ) { return "undefined" == typeof d && ( d = new c . Point ) , d . x = a . x - b . x , d . y = a . y - b . y , d } , c . Point . multiply = function ( a , b , d ) { return "undefined" == typeof d && ( d = new c . Point ) , d . x = a . x * b . x , d . y = a . y * b . y , d } , c . Point . divide = function ( a , b , d ) { return "undefined" == typeof d && ( d = new c . Point ) , d . x = a . x / b . x , d . y = a . y / b . y , d } , c . Point . equals = function ( a , b ) { return a . x === b . x && a . y === b . y } , c . Point . angle = function ( a , b ) { return Math . atan2 ( a . y - b . y , a . x - b . x ) } , c . Point . negative = function ( a , b ) { return "undefined" == typeof b && ( b = new c . Point ) , b . setTo ( - a . x , - a . y ) } , c . Point . multiplyAdd = function ( a , b , d , e ) { return "undefined" == typeof e && ( e = new c . Point ) , e . setTo ( a . x + b . x * d , a . y + b . y * d ) } , c . Point . interpolate = function ( a , b , d , e ) { return "undefined" == typeof e && ( e = new c . Point ) , e . setTo ( a . x + ( b . x - a . x ) * d , a . y + ( b . y - a . y ) * d ) } , c . Point . perp = function ( a , b ) { return "undefined" == typeof b && ( b = new c . Point ) , b . setTo ( - a . y , a . x ) } , c . Point . rperp = function ( a , b ) { return "undefined" == typeof b && ( b = new c . Point ) , b . setTo ( a . y , - a . x ) } , c . Point . distance = function ( a , b , d ) { var e = c . Math . distance ( a . x , a . y , b . x , b . y ) ; return d ? Math . round ( e ) : e } , c . Point . project = function ( a , b , d ) { "undefined" == typeof d && ( d = new c . Point ) ; var e = a . dot ( b ) / b . getMagnitudeSq ( ) ; return 0 !== e && d . setTo ( e * b . x , e * b . y ) , d } , c . Point . projectUnit = function ( a , b , d ) { "undefined" == typeof d && ( d = new c . Point ) ; var e = a . dot ( b ) ; return 0 !== e && d . setTo ( e * b . x , e * b . y ) , d } , c . Point . normalRightHand = function ( a , b ) { return "undefined" == typeof b && ( b = new c . Point ) , b . setTo ( - 1 * a . y , a . x ) } , c . Point . normalize = function ( a , b ) { "undefined" == typeof b && ( b = new c . Point ) ; var d = a . getMagnitude ( ) ; return 0 !== d && b . setTo ( a . x / d , a . y / d ) , b } , c . Point . rotate = function ( a , b , d , e , f , g ) { "undefined" == typeof f && ( f = ! 1 ) , "undefined" == typeof g && ( g = null ) , f && ( e = c . Math . degToRad ( e ) ) , null === g && ( g = Math . sqrt ( ( b - a . x ) * ( b - a . x ) + ( d - a . y ) * ( d - a . y ) ) ) ; var h = e + Math . atan2 ( a . y - d , a . x - b ) ; return a . x = b + g * Math . cos ( h ) , a . y = d + g * Math . sin ( h ) , a } , c . Point . centroid = function ( a , b ) { if ( "undefined" == typeof b && ( b = new c . Point ) , "[object Array]" !== Object . prototype . toString . call ( a ) ) throw new Error ( "Phaser.Point. Parameter 'points' must be an array" ) ; var d = a . length ; if ( 1 > d ) throw new Error ( " Phaser .
} , update : function ( a ) { if ( "undefined" != typeof a ) { var b = a . x / this . game . width , c = 1 - a . y / this . game . height ; ( b !== this . prevPoint . x || c !== this . prevPoint . y ) && ( this . uniforms . mouse . value . x = b . toFixed ( 2 ) , this . uniforms . mouse . value . y = c . toFixed ( 2 ) , this . prevPoint . set ( b , c ) ) } this . uniforms . time . value = this . game . time . totalElapsedSeconds ( ) } , destroy : function ( ) { this . game = null } } , c . Filter . prototype . constructor = c . Filter , Object . defineProperty ( c . Filter . prototype , "width" , { get : function ( ) { return this . uniforms . resolution . value . x } , set : function ( a ) { this . uniforms . resolution . value . x = a } } ) , Object . defineProperty ( c . Filter . prototype , "height" , { get : function ( ) { return this . uniforms . resolution . value . y } , set : function ( a ) { this . uniforms . resolution . value . y = a } } ) , c . Plugin = function ( a , b ) { "undefined" == typeof b && ( b = null ) , this . game = a , this . parent = b , this . active = ! 1 , this . visible = ! 1 , this . hasPreUpdate = ! 1 , this . hasUpdate = ! 1 , this . hasPostUpdate = ! 1 , this . hasRender = ! 1 , this . hasPostRender = ! 1 } , c . Plugin . prototype = { preUpdate : function ( ) { } , update : function ( ) { } , render : function ( ) { } , postRender : function ( ) { } , destroy : function ( ) { this . game = null , this . parent = null , this . active = ! 1 , this . visible = ! 1 } } , c . Plugin . prototype . constructor = c . Plugin , c . PluginManager = function ( a ) { this . game = a , this . plugins = [ ] , this . _len = 0 , this . _i = 0 } , c . PluginManager . prototype = { add : function ( a ) { var b = Array . prototype . splice . call ( arguments , 1 ) , c = ! 1 ; return "function" == typeof a ? a = new a ( this . game , this ) : ( a . game = this . game , a . parent = this ) , "function" == typeof a . preUpdate && ( a . hasPreUpdate = ! 0 , c = ! 0 ) , "function" == typeof a . update && ( a . hasUpdate = ! 0 , c = ! 0 ) , "function" == typeof a . postUpdate && ( a . hasPostUpdate = ! 0 , c = ! 0 ) , "function" == typeof a . render && ( a . hasRender = ! 0 , c = ! 0 ) , "function" == typeof a . postRender && ( a . hasPostRender = ! 0 , c = ! 0 ) , c ? ( ( a . hasPreUpdate || a . hasUpdate || a . hasPostUpdate ) && ( a . active = ! 0 ) , ( a . hasRender || a . hasPostRender ) && ( a . visible = ! 0 ) , this . _len = this . plugins . push ( a ) , "function" == typeof a . init && a . init . apply ( a , b ) , a ) : null } , remove : function ( a ) { for ( this . _i = this . _len ; this . _i -- ; ) if ( this . plugins [ this . _i ] === a ) return a . destroy ( ) , this . plugins . splice ( this . _i , 1 ) , void this . _len -- } , removeAll : function ( ) { for ( this . _i = this . _len ; this . _i -- ; ) this . plugins [ this . _i ] . destroy ( ) ; this . plugins . length = 0 , this . _len = 0 } , preUpdate : function ( ) { for ( this . _i = this . _len ; this . _i -- ; ) this . plugins [ this . _i ] . active && this . plugins [ this . _i ] . hasPreUpdate && this . plugins [ this . _i ] . preUpdate ( ) } , update : function ( ) { for ( this . _i = this . _len ; this . _i -- ; ) this . plugins [ this . _i ] . active && this . plugins [ this . _i ] . hasUpdate && this . plugins [ this . _i ] . update ( ) } , postUpdate : function ( ) { for ( this . _i = this . _len ; this . _i -- ; ) this . plugins [ this . _i ] . active && this . plugins [ this . _i ] . hasPostUpdate && this . plugins [ this . _i ] . postUpdate ( ) } , render : function ( ) { for ( this . _i = this . _len ; this . _i -- ; ) this . plugins [ this . _i ] . visible && this . plugins [ this . _i ] . hasRender && this . plugins [ this . _i ] . render ( ) } , postRender : function ( ) { for ( this . _i = this . _len ; this . _i -- ; ) this . plugins [ this . _i ] . visible && this . plugins [ this . _i ] . hasPostRender && this . plugins [ this . _i ] . postRender ( ) } , destroy : function ( ) { this . removeAll ( ) , this . game = null } } , c . PluginManager . prototype . constructor = c . PluginManager , c . Stage = function ( a ) { this . game = a , PIXI . Stage . call ( this , 0 ) , this . name = "_stage_root" , this . disableVisibilityChange = ! 1 , this . exists = ! 0 , this . currentRenderOrderID = 0 , this . _hiddenVar = "hidden" , this . _onChange = null , this . _backgroundColor = 0 , a . config && this . parseConfig ( a . config ) } , c . Stage . prototype = Object . create ( PIXI . Stage . prototype ) , c . Stage . prototype . constructor = c . Stage , c . Stage . prototype . parseConfig = function ( a ) { a . disableVisibilityChange && ( this . disableVisibilityChange = a . disableVisibilityChange ) , a . backgroundColor && ( this . backgroundColor = a . backgroundColor ) } , c . Stage . prototype . boot = function ( ) { c . DOM . getOffset ( this . game . canvas , this . offset ) , c . Canvas . setUserSelect ( this . game . canvas , "none" ) , c . Canvas . setTouchAction ( this . game . canvas , "none" ) , this . checkVisibility ( ) } , c . Stage . prototype . preUpdate = function ( ) { this . currentRenderOrderID = 0 ; for ( var a = 0 ; a < this . children . length ; a ++ ) this . children [ a ] . preUpdate ( ) } , c . Stage . prototype . update = function ( ) { for ( var a = this . children . length ; a -- ; ) this . children [ a ] . update ( ) } , c . Stage . prototype . postUpdate = function ( ) { if ( this . game . world . camera . target ) { this . game . wor
"" !== this . game . parent && ( "string" == typeof this . game . parent ? d = document . getElementById ( this . game . parent ) : this . game . parent && 1 === this . game . parent . nodeType && ( d = this . game . parent ) ) , d ? ( this . parentNode = d , this . parentIsWindow = ! 1 , this . getParentBounds ( this . _parentBounds ) , e . width = this . _parentBounds . width , e . height = this . _parentBounds . height , this . offset . set ( this . _parentBounds . x , this . _parentBounds . y ) ) : ( this . parentNode = null , this . parentIsWindow = ! 0 , e . width = this . dom . visualBounds . width , e . height = this . dom . visualBounds . height , this . offset . set ( 0 , 0 ) ) ; var f = 0 , g = 0 ; "number" == typeof a ? f = a : ( this . parentScaleFactor . x = parseInt ( a , 10 ) / 100 , f = e . width * this . parentScaleFactor . x ) , "number" == typeof b ? g = b : ( this . parentScaleFactor . y = parseInt ( b , 10 ) / 100 , g = e . height * this . parentScaleFactor . y ) , this . _gameSize . setTo ( 0 , 0 , f , g ) , this . updateDimensions ( f , g , ! 1 ) } , _gameResumed : function ( ) { this . queueUpdate ( ! 0 ) } , setGameSize : function ( a , b ) { this . _gameSize . setTo ( 0 , 0 , a , b ) , this . currentScaleMode !== c . ScaleManager . RESIZE && this . updateDimensions ( a , b , ! 0 ) , this . queueUpdate ( ! 0 ) } , setUserScale : function ( a , b , c , d ) { this . _userScaleFactor . setTo ( a , b ) , this . _userScaleTrim . setTo ( 0 | c , 0 | d ) , this . queueUpdate ( ! 0 ) } , setResizeCallback : function ( a , b ) { this . onResize = a , this . onResizeContext = b } , signalSizeChange : function ( ) { if ( ! c . Rectangle . sameDimensions ( this , this . _lastReportedCanvasSize ) || ! c . Rectangle . sameDimensions ( this . game , this . _lastReportedGameSize ) ) { var a = this . width , b = this . height ; this . _lastReportedCanvasSize . setTo ( 0 , 0 , a , b ) , this . _lastReportedGameSize . setTo ( 0 , 0 , this . game . width , this . game . height ) , this . grid . onResize ( a , b ) , this . onSizeChange . dispatch ( this , a , b ) , this . currentScaleMode === c . ScaleManager . RESIZE && ( this . game . state . resize ( a , b ) , this . game . load . resize ( a , 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 ( ) { if ( ! ( this . game . time . time < this . _lastUpdate + this . _updateThrottle ) ) { var a = this . _updateThrottle ; this . _updateThrottleReset = a >= 400 ? 0 : 100 , this . dom . getOffset ( this . game . canvas , this . offset ) ; var b = this . _parentBounds . width , d = this . _parentBounds . height , e = this . getParentBounds ( this . _parentBounds ) , f = e . width !== b || e . height !== d , g = this . updateOrientationState ( ) ; ( f || g ) && ( this . onResize && this . onResize . call ( this . onResizeContext , this , e ) , this . updateLayout ( ) , this . signalSizeChange ( ) ) ; var h = 2 * this . _updateThrottle ; this . _updateThrottle < a && ( h = Math . min ( a , this . _updateThrottleReset ) ) , this . _updateThrottle = c . Math . clamp ( h , 25 , this . trackParentInterval ) , this . _lastUpdate = this . game . time . time } } , pauseUpdate : function ( ) { this . preUpdate ( ) , this . _updateThrottle = 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 . updateScalingAndBounds ( ) , 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 ) ) } , updateScalingAndBounds : function ( ) { this . scaleFactor . x = this . game . width / this . width , this . scaleFactor . y = this . game . height / this . height , this . scaleFactorInversed . x = this . width / this . game . width , this . scaleFactorInversed . y = this . height / this . game . height , this . aspectRatio = this . width / this . height , this . game . canvas && this . dom . getOffset ( this . game . canvas , this . offset ) , this . bounds . setTo ( this . offset . x , this . offset . y , this . width , this . height ) , this . game . input && this . game . input . scale && this . game . input . scale . setTo ( this . scaleFactor . x , this . scaleFactor . y ) } , forceOrientation : function ( a , b ) { "undefined" == typeof b && ( b = ! 1 ) , this . forceLandscape = a , this . forcePortrait = b , this . queueUpdate ( ! 0 ) } , classifyOrientation : function ( a ) { return "portrait-primary" === a || "portrait-secondary" === a ? "portrait" : "landscape-primary" === a || "landscape-secondary" === a ? "landscape" : null } , updateOrientationState : function ( ) { var a = this . screenOrientation , b = this . incorrectOrientation ; this . screenOrientation = this . dom . getScreenOrientation ( this . compatibility . orientationFallback ) , this . incorrectOrientation = this . forceLandscape && ! this . isLandscape || this . forcePortrait && ! this . isPortrait ; var c = a !=
} , c . Mouse . NO _BUTTON = - 1 , c . Mouse . LEFT _BUTTON = 0 , c . Mouse . MIDDLE _BUTTON = 1 , c . Mouse . RIGHT _BUTTON = 2 , c . Mouse . WHEEL _UP = 1 , c . Mouse . WHEEL _DOWN = - 1 , c . Mouse . prototype = { start : function ( ) { if ( ( ! this . game . device . android || this . game . device . chrome !== ! 1 ) && null === this . _onMouseDown ) { var b = this ; this . _onMouseDown = function ( a ) { return b . onMouseDown ( a ) } , this . _onMouseMove = function ( a ) { return b . onMouseMove ( a ) } , this . _onMouseUp = function ( a ) { return b . onMouseUp ( a ) } , this . _onMouseUpGlobal = function ( a ) { return b . onMouseUpGlobal ( a ) } , this . _onMouseOut = function ( a ) { return b . onMouseOut ( a ) } , this . _onMouseOver = function ( a ) { return b . onMouseOver ( a ) } , this . _onMouseWheel = function ( a ) { return b . onMouseWheel ( a ) } , 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 ( "mouseover" , this . _onMouseOver , ! 0 ) , this . game . canvas . addEventListener ( "mouseout" , this . _onMouseOut , ! 0 ) ) ; var c = this . game . device . wheelEvent ; c && ( this . game . canvas . addEventListener ( c , this . _onMouseWheel , ! 0 ) , "mousewheel" === c ? this . _wheelEvent = new a ( - 1 / 40 , 1 ) : "DOMMouseScroll" === c && ( this . _wheelEvent = new a ( 1 , 1 ) ) ) } } , onMouseDown : function ( a ) { this . event = a , this . capture && a . preventDefault ( ) , this . button = a . button , this . mouseDownCallback && this . mouseDownCallback . call ( this . callbackContext , a ) , this . game . input . enabled && this . enabled && ( a . identifier = 0 , this . game . input . mousePointer . start ( a ) ) } , onMouseMove : function ( a ) { this . event = a , this . capture && a . preventDefault ( ) , this . mouseMoveCallback && this . mouseMoveCallback . call ( this . callbackContext , a ) , this . game . input . enabled && this . enabled && ( a . identifier = 0 , this . game . input . mousePointer . move ( a ) ) } , onMouseUp : function ( a ) { this . event = a , this . capture && a . preventDefault ( ) , this . button = c . Mouse . NO _BUTTON , this . mouseUpCallback && this . mouseUpCallback . call ( this . callbackContext , a ) , this . game . input . enabled && this . enabled && ( a . identifier = 0 , this . game . input . mousePointer . stop ( a ) ) } , onMouseUpGlobal : function ( a ) { this . game . input . mousePointer . withinGame || ( this . button = c . Mouse . NO _BUTTON , this . mouseUpCallback && this . mouseUpCallback . call ( this . callbackContext , a ) , a . identifier = 0 , this . game . input . mousePointer . stop ( a ) ) } , onMouseOut : function ( a ) { this . event = a , this . capture && a . preventDefault ( ) , this . game . input . mousePointer . withinGame = ! 1 , this . mouseOutCallback && this . mouseOutCallback . call ( this . callbackContext , a ) , this . game . input . enabled && this . enabled && this . stopOnGameOut && ( a . identifier = 0 , this . game . input . mousePointer . stop ( a ) ) } , onMouseWheel : function ( a ) { this . _wheelEvent && ( a = this . _wheelEvent . bindEvent ( a ) ) , this . event = a , this . capture && a . preventDefault ( ) , this . wheelDelta = c . Math . clamp ( - a . deltaY , - 1 , 1 ) , this . mouseWheelCallback && this . mouseWheelCallback . call ( this . callbackContext , a ) } , onMouseOver : function ( a ) { this . event = a , this . capture && a . preventDefault ( ) , this . game . input . mousePointer . withinGame = ! 0 , this . mouseOverCallback && this . mouseOverCallback . call ( this . callbackContext , a ) , ! this . game . input . enabled || ! this . enabled } , requestPointerLock : function ( ) { if ( this . game . device . pointerLock ) { var a = this . game . canvas ; a . requestPointerLock = a . requestPointerLock || a . mozRequestPointerLock || a . webkitRequestPointerLock , a . requestPointerLock ( ) ; var b = this ; this . _pointerLockChange = function ( a ) { return b . pointerLockChange ( a ) } , document . addEventListener ( "pointerlockchange" , this . _pointerLockChange , ! 0 ) , document . addEventListener ( "mozpointerlockchange" , this . _pointerLockChange , ! 0 ) , document . addEventListener ( "webkitpointerlockchange" , this . _pointerLockChange , ! 0 ) } } , pointerLockChange : function ( a ) { var b = this . game . canvas ; document . pointerLockElement === b || document . mozPointerLockElement === b || document . webkitPointerLockElement === b ? ( this . locked = ! 0 , this . pointerLock . dispatch ( ! 0 , a ) ) : ( this . locked = ! 1 , this . pointerLock . dispatch ( ! 1 , a ) ) } , releasePointerLock : function ( ) { document . exitPointerLock = document . exitPointerLock || document . mozExitPointerLock || document . webkitExitPointerLock , document . exitPointerLock ( ) , document . removeEventListener ( "pointerlockchange" , this . _pointerLockChange , ! 0 ) , document . removeEventListen
} , globalToLocalX : function ( a ) { return this . scaleLayer && ( a -= this . game . scale . grid . boundsFluid . x , a *= this . game . scale . grid . scaleFluidInversed . x ) , a } , globalToLocalY : function ( a ) { return this . scaleLayer && ( a -= this . game . scale . grid . boundsFluid . y , a *= this . game . scale . grid . scaleFluidInversed . y ) , a } , stopDrag : function ( a ) { this . isDragged = ! 1 , this . _draggedPointerID = - 1 , this . _pointerData [ a . id ] . isDragged = ! 1 , this . _dragPhase = ! 1 , this . snapOnRelease && ( this . sprite . fixedToCamera ? ( this . sprite . cameraOffset . x = Math . round ( ( this . sprite . cameraOffset . x - this . snapOffsetX % this . snapX ) / this . snapX ) * this . snapX + this . snapOffsetX % this . snapX , this . sprite . cameraOffset . y = Math . round ( ( this . sprite . cameraOffset . y - this . snapOffsetY % this . snapY ) / this . snapY ) * this . snapY + this . snapOffsetY % this . snapY ) : ( this . sprite . x = Math . round ( ( this . sprite . x - this . snapOffsetX % this . snapX ) / this . snapX ) * this . snapX + this . snapOffsetX % this . snapX , this . sprite . y = Math . round ( ( this . sprite . y - this . snapOffsetY % this . snapY ) / this . snapY ) * this . snapY + this . snapOffsetY % this . snapY ) ) , this . sprite . events . onDragStop$dispatch ( this . sprite , a ) , this . checkPointerOver ( a ) === ! 1 && this . _pointerOutHandler ( a ) } , setDragLock : function ( a , b ) { "undefined" == typeof a && ( a = ! 0 ) , "undefined" == typeof b && ( b = ! 0 ) , this . allowHorizontalDrag = a , this . allowVerticalDrag = b } , enableSnap : function ( a , b , c , d , e , f ) { "undefined" == typeof c && ( c = ! 0 ) , "undefined" == typeof d && ( d = ! 1 ) , "undefined" == typeof e && ( e = 0 ) , "undefined" == typeof f && ( f = 0 ) , this . snapX = a , this . snapY = b , this . snapOffsetX = e , this . snapOffsetY = f , this . snapOnDrag = c , this . snapOnRelease = d } , disableSnap : function ( ) { this . snapOnDrag = ! 1 , this . snapOnRelease = ! 1 } , checkBoundsRect : function ( ) { this . sprite . fixedToCamera ? ( this . sprite . cameraOffset . x < this . boundsRect . left ? this . sprite . cameraOffset . x = this . boundsRect . left : this . sprite . cameraOffset . x + this . sprite . width > this . boundsRect . right && ( this . sprite . cameraOffset . x = this . boundsRect . right - this . sprite . width ) , this . sprite . cameraOffset . y < this . boundsRect . top ? this . sprite . cameraOffset . y = this . boundsRect . top : this . sprite . cameraOffset . y + this . sprite . height > this . boundsRect . bottom && ( this . sprite . cameraOffset . y = this . boundsRect . bottom - this . sprite . height ) ) : ( this . sprite . left < this . boundsRect . left ? this . sprite . x = this . boundsRect . x + this . sprite . offsetX : this . sprite . right > this . boundsRect . right && ( this . sprite . x = this . boundsRect . right - ( this . sprite . width - this . sprite . offsetX ) ) , this . sprite . top < this . boundsRect . top ? this . sprite . y = this . boundsRect . top + this . sprite . offsetY : this . sprite . bottom > this . boundsRect . bottom && ( this . sprite . y = this . boundsRect . bottom - ( this . sprite . height - this . sprite . offsetY ) ) ) } , checkBoundsSprite : function ( ) { this . sprite . fixedToCamera && this . boundsSprite . fixedToCamera ? ( this . sprite . cameraOffset . x < this . boundsSprite . cameraOffset . x ? this . sprite . cameraOffset . x = this . boundsSprite . cameraOffset . x : this . sprite . cameraOffset . x + this . sprite . width > this . boundsSprite . cameraOffset . x + this . boundsSprite . width && ( this . sprite . cameraOffset . x = this . boundsSprite . cameraOffset . x + this . boundsSprite . width - this . sprite . width ) , this . sprite . cameraOffset . y < this . boundsSprite . cameraOffset . y ? this . sprite . cameraOffset . y = this . boundsSprite . cameraOffset . y : this . sprite . cameraOffset . y + this . sprite . height > this . boundsSprite . cameraOffset . y + this . boundsSprite . height && ( this . sprite . cameraOffset . y = this . boundsSprite . cameraOffset . y + this . boundsSprite . height - this . sprite . height ) ) : ( this . sprite . left < this . boundsSprite . left ? this . sprite . x = this . boundsSprite . left + this . sprite . offsetX : this . sprite . right > this . boundsSprite . right && ( this . sprite . x = this . boundsSprite . right - ( this . sprite . width - this . sprite . offsetX ) ) , this . sprite . top < this . boundsSprite . top ? this . sprite . y = this . boundsSprite . top + this . sprite . offsetY : this . sprite . bottom > this . boundsSprite . bottom && ( this . sprite . y = this . boundsSprite . bottom - ( this . sprite . height - this . sprite . offsetY ) ) ) } } , c . InputHandler . prototype . constructor = c . InputHandler , c . Component = function ( ) { } , c . Component . Angle = function ( ) { } , c . Component . Angle . prototype = { angle : { get : function ( ) { return c . Math . wrapAngle ( c . Math . radToDeg ( this . rotation ) ) } , set : function ( a ) { this . rotation = c . Math . degToRad ( c . Math . wrapAngle ( a ) ) } } } , c . Component . Animation = function ( ) { } , c . Component . Animation . prototype = { play : function ( a , b , c , d ) { return this . animatio
} , c . Button . prototype . setOverSound = function ( a , b ) { this . setStateSound ( f , a , b ) } , c . Button . prototype . setOutSound = function ( a , b ) { this . setStateSound ( g , a , b ) } , c . Button . prototype . setDownSound = function ( a , b ) { this . setStateSound ( h , a , b ) } , c . Button . prototype . setUpSound = function ( a , b ) { this . setStateSound ( i , a , b ) } , c . Button . prototype . onInputOverHandler = function ( a , b ) { b . justReleased ( ) || ( this . changeStateFrame ( f ) , ( ! this . onOverMouseOnly || b . isMouse ) && ( this . playStateSound ( f ) , this . onInputOver && this . onInputOver . dispatch ( this , b ) ) ) } , c . Button . prototype . onInputOutHandler = function ( a , b ) { this . changeStateFrame ( g ) , this . playStateSound ( g ) , this . onInputOut && this . onInputOut . dispatch ( this , b ) } , c . Button . prototype . onInputDownHandler = function ( a , b ) { this . changeStateFrame ( h ) , this . playStateSound ( h ) , this . onInputDown && this . onInputDown . dispatch ( this , b ) } , c . Button . prototype . onInputUpHandler = function ( a , b , c ) { if ( this . playStateSound ( i ) , this . onInputUp && this . onInputUp . dispatch ( this , b , c ) , ! this . freezeFrames ) if ( this . forceOut ) this . changeStateFrame ( g ) ; else { var d = this . changeStateFrame ( i ) ; d || this . changeStateFrame ( c ? f : g ) } } , c . SpriteBatch = function ( a , b , d , e ) { ( "undefined" == typeof b || null === b ) && ( b = a . world ) , PIXI . SpriteBatch . call ( this ) , c . Group . call ( this , a , b , d , e ) , this . type = c . SPRITEBATCH } , c . SpriteBatch . prototype = c . Utils . extend ( ! 0 , c . SpriteBatch . prototype , c . Group . prototype , PIXI . SpriteBatch . prototype ) , c . SpriteBatch . prototype . constructor = c . SpriteBatch , c . Particle = function ( a , b , d , e , f ) { c . Sprite . call ( this , a , b , d , e , f ) , this . autoScale = ! 1 , this . scaleData = null , this . _s = 0 , this . autoAlpha = ! 1 , this . alphaData = null , this . _a = 0 } , c . Particle . prototype = Object . create ( c . Sprite . prototype ) , c . Particle . prototype . constructor = c . Particle , c . Particle . prototype . update = function ( ) { this . autoScale && ( this . _s -- , this . _s ? this . scale . set ( this . scaleData [ this . _s ] . x , this . scaleData [ this . _s ] . y ) : this . autoScale = ! 1 ) , this . autoAlpha && ( this . _a -- , this . _a ? this . alpha = this . alphaData [ this . _a ] . v : this . autoAlpha = ! 1 ) } , c . Particle . prototype . onEmit = function ( ) { } , c . Particle . prototype . setAlphaData = function ( a ) { this . alphaData = a , this . _a = a . length - 1 , this . alpha = this . alphaData [ this . _a ] . v , this . autoAlpha = ! 0 } , c . Particle . prototype . setScaleData = function ( a ) { this . scaleData = a , this . _s = a . length - 1 , this . scale . set ( this . scaleData [ this . _s ] . x , this . scaleData [ this . _s ] . y ) , this . autoScale = ! 0 } , c . Particle . prototype . reset = function ( a , b , d ) { return c . Component . Reset . prototype . reset . call ( this , a , b , d ) , this . alpha = 1 , this . scale . set ( 1 ) , this . autoScale = ! 1 , this . autoAlpha = ! 1 , this } , c . Device = function ( ) { this . deviceReadyAt = 0 , this . initialized = ! 1 , this . desktop = ! 1 , this . iOS = ! 1 , this . cocoonJS = ! 1 , this . cocoonJSApp = ! 1 , this . cordova = ! 1 , this . node = ! 1 , this . nodeWebkit = ! 1 , this . electron = ! 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 . canvasBitBltShift = null , this . webGL = ! 1 , this . file = ! 1 , this . fileSystem = ! 1 , this . localStorage = ! 1 , this . worker = ! 1 , this . css3D = ! 1 , this . pointerLock = ! 1 , this . typedArray = ! 1 , this . vibration = ! 1 , this . getUserMedia = ! 0 , this . quirksMode = ! 1 , this . touch = ! 1 , this . mspointer = ! 1 , this . wheelEvent = null , this . arora = ! 1 , this . chrome = ! 1 , this . chromeVersion = 0 , this . epiphany = ! 1 , this . firefox = ! 1 , this . firefoxVersion = 0 , 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 . oggVideo = ! 1 , this . h264Video = ! 1 , this . mp4Video = ! 1 , this . webmVideo = ! 1 , this . vp9Video = ! 1 , this . hlsVideo = ! 1 , this . iPhone = ! 1 , this . iPhone4 = ! 1 , this . iPad = ! 1 , this . pixelRatio = 0 , this . littleEndian = ! 1 , this . LITTLE _ENDIAN = ! 1 , this . support32bit = ! 1 , this . fullscreen = ! 1 , this . requestFullscreen = "" , this . cancelFullscreen = "" , this . fullscreenKeyboard = ! 1 } , c . Device = new c . Device , c . Device . onInitialized = new c . Signal , c . Device . whenReady = function ( a , b , c ) { var d = this . _readyCheck ; if ( this . deviceReadyAt || ! d ) a . call ( b , this ) ; else if ( d . _monitor || c ) d . _queue = d . _queue || [ ] , d . _queue . push ( [ a , b ] ) ; else { d . _monitor = d . bind ( this ) , d . _queue = d . _queue || [ ] , d . _queue . push ( [ a , b ] ) ; var e = "undefined" != typeof window . cordova , f = navigator . isCocoonJS ; " complet
var h = a ; h += 0 === this . _now ? this . game . time . time : this . _now ; var i = new c . TimerEvent ( this , a , h , d , b , 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 . time + ( 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 . events [ this . _i ] . pendingDelete ; ) 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 ] . args ) ) : this . events [ this . _i ] . repeatCount > 0 ? ( this . events [ this . _i ] . repeatCount -- , this . events [ this . _i ] . tick = this . _newTick , this . events [ this . _i ] . callback . apply ( this . events [ this . _i ] . callbackContext , this . events [ this . _i ] . args ) ) : ( this . _marked ++ , this . events [ this . _i ] . pendingDelete = ! 0 , this . events [ this . _i ] . callback . apply ( this . events [ this . _i ] . callbackContext , this . events [ this . _i ] . args ) ) , this . _i ++ ; this . events . length > this . _marked ? this . order ( ) : ( this . expired = ! 0 , this . onComplete . dispatch ( this ) ) } return this . expired && this . autoDestroy ? ! 1 : ! 0 } , pause : function ( ) { this . running && ( this . _codePaused = ! 0 , this . paused || ( this . _pauseStarted = this . game . time . time , this . paused = ! 0 ) ) } , _pause : function ( ) { ! this . paused && this . running && ( this . _pauseStarted = this . game . time . time , this . paused = ! 0 ) } , adjustEvents : function ( a ) { for ( var b = 0 ; b < this . events . length ; b ++ ) if ( ! this . events [ b ] . pendingDelete ) { var c = this . events [ b ] . tick - a ; 0 > c && ( c = 0 ) , this . events [ b ] . tick = this . _now + c } var d = this . nextTick - a ; this . nextTick = 0 > d ? this . _now : this . _now + d } , resume : function ( ) { if ( this . paused ) { var a = this . game . time . time ; this . _pauseTotal += a - this . _now , this . _now = a , this . adjustEvents ( this . _pauseStarted ) , this . paused = ! 1 , this . _codePaused = ! 1 } } , _resume : function ( ) { this . _codePaused || this . resume ( ) } , removeAll : function ( ) { this . onComplete . removeAll ( ) , this . events . length = 0 , this . _len = 0 , this . _i = 0 } , destroy : function ( ) { this . onComplete . removeAll ( ) , this . running = ! 1 , this . events = [ ] , this . _len = 0 , this . _i = 0 } } , Object . defineProperty ( c . Timer . prototype , "next" , { get : function ( ) { return this . nextTick } } ) , Object . defineProperty ( c . Timer . prototype , "duration" , { get : function ( ) { return this . running && this . nextTick > this . _now ? this . nextTick - this . _now : 0 } } ) , Object . defineProperty ( c . Timer . prototype , "length" , { get : function ( ) { return this . events . length } } ) , Object . defineProperty ( c . Timer . prototype , "ms" , { get : function ( ) { return this . running ? this . _now - this . _started - this . _pauseTotal : 0 } } ) , Object . defineProperty ( c . Timer . prototype , "seconds" , { get : function ( ) { return this . running ? . 001 * this . ms : 0 } } ) , c . Timer . prototype . constructor = c . Timer , c . TimerEvent = function ( a , b , c , d , e , f , g , h ) { this . timer = a , this . delay = b , this . tick = c , this . repeatCount = d - 1 , this . loop = e , this . callback = f , this . callbackContext = g , this . args = h , this . pendingDelete = ! 1 } , c . TimerEvent . prototype . constructor
for ( var b = [ this . _canvases , this . _sounds , this . _videos , this . _text , this . _json , this . _xml , this . _textures , this . _physics , this . _tilemaps , this . _binary , this . _bitmapDatas , this . _bitmapFont ] , c = 0 ; c < b . length ; c ++ ) for ( var a in b [ c ] ) delete b [ c ] [ a ] ; this . _urlMap = null , this . _urlResolver = null , this . _urlTemp = null } } , c . Cache . prototype . constructor = c . Cache , c . Loader = function ( a ) { this . game = a , this . resetLocked = ! 1 , this . isLoading = ! 1 , this . hasLoaded = ! 1 , this . preloadSprite = null , this . crossOrigin = ! 1 , this . baseURL = "" , this . onLoadStart = new c . Signal , this . onLoadComplete = new c . Signal , this . onPackComplete = new c . Signal , this . onFileStart = new c . Signal , this . onFileComplete = new c . Signal , this . onFileError = new c . Signal , this . useXDomainRequest = ! 1 , this . _warnedAboutXDomainRequest = ! 1 , this . enableParallel = ! 0 , this . maxParallelDownloads = 4 , this . _withSyncPointDepth = 0 , this . _fileList = [ ] , this . _flightQueue = [ ] , this . _processingHead = 0 , this . _fileLoadStarted = ! 1 , this . _totalPackCount = 0 , this . _totalFileCount = 0 , this . _loadedPackCount = 0 , this . _loadedFileCount = 0 } , c . Loader . TEXTURE _ATLAS _JSON _ARRAY = 0 , c . Loader . TEXTURE _ATLAS _JSON _HASH = 1 , c . Loader . TEXTURE _ATLAS _XML _STARLING = 2 , c . Loader . PHYSICS _LIME _CORONA _JSON = 3 , c . Loader . PHYSICS _PHASER _JSON = 4 , c . Loader . prototype = { setPreloadSprite : function ( a , b ) { b = b || 0 , this . preloadSprite = { sprite : a , direction : b , width : a . width , height : a . height , rect : null } , this . preloadSprite . rect = 0 === b ? new c . Rectangle ( 0 , 0 , 1 , a . height ) : new c . Rectangle ( 0 , 0 , a . width , 1 ) , a . crop ( this . preloadSprite . rect ) , a . visible = ! 0 } , resize : function ( ) { this . preloadSprite && this . preloadSprite . height !== this . preloadSprite . sprite . height && ( this . preloadSprite . rect . height = this . preloadSprite . sprite . height ) } , checkKeyExists : function ( a , b ) { return this . getAssetIndex ( a , b ) > - 1 } , getAssetIndex : function ( a , b ) { for ( var c = - 1 , d = 0 ; d < this . _fileList . length ; d ++ ) { var e = this . _fileList [ d ] ; if ( e . type === a && e . key === b && ( c = d , ! e . loaded && ! e . loading ) ) break } return c } , getAsset : function ( a , b ) { var c = this . getAssetIndex ( a , b ) ; return c > - 1 ? { index : c , file : this . _fileList [ c ] } : ! 1 } , reset : function ( a , b ) { "undefined" == typeof b && ( b = ! 1 ) , this . resetLocked || ( a && ( this . preloadSprite = null ) , this . isLoading = ! 1 , this . _processingHead = 0 , this . _fileList . length = 0 , this . _flightQueue . length = 0 , this . _fileLoadStarted = ! 1 , this . _totalFileCount = 0 , this . _totalPackCount = 0 , this . _loadedPackCount = 0 , this . _loadedFileCount = 0 , b && ( this . onLoadStart . removeAll ( ) , this . onLoadComplete . removeAll ( ) , this . onPackComplete . removeAll ( ) , this . onFileStart . removeAll ( ) , this . onFileComplete . removeAll ( ) , this . onFileError . removeAll ( ) ) ) } , addToFileList : function ( a , b , c , d , e , f ) { if ( "undefined" == typeof e && ( e = ! 1 ) , "undefined" == typeof b || "" === b ) return console . warn ( "Phaser.Loader: Invalid or no key given of type " + a ) , this ; if ( "undefined" == typeof c || null === c ) { if ( ! f ) return console . warn ( "Phaser.Loader: No URL given for file type: " + a + " key: " + b ) , this ; c = b + f } var g = { type : a , key : b , url : c , syncPoint : this . _withSyncPointDepth > 0 , data : null , loading : ! 1 , loaded : ! 1 , error : ! 1 } ; if ( d ) for ( var h in d ) g [ h ] = d [ h ] ; var i = this . getAssetIndex ( a , b ) ; if ( e && i > - 1 ) { var j = this . _fileList [ i ] ; j . loading || j . loaded ? ( this . _fileList . push ( g ) , this . _totalFileCount ++ ) : this . _fileList [ i ] = g } else - 1 === i && ( this . _fileList . push ( g ) , this . _totalFileCount ++ ) ; return this } , replaceInFileList : function ( a , b , c , d ) { return this . addToFileList ( a , b , c , d , ! 0 ) } , pack : function ( a , b , c , d ) { if ( "undefined" == typeof b && ( b = null ) , "undefined" == typeof c && ( c = null ) , "undefined" == typeof d && ( d = null ) , ! b && ! c ) return console . warn ( "Phaser.Loader.pack - Both url and data are null. One must be set." ) , this ; var e = { type : "packfile" , key : a , url : b , syncPoint : ! 0 , data : null , loading : ! 1 , loaded : ! 1 , error : ! 1 , callbackContext : d } ; c && ( "string" == typeof c && ( c = JSON . parse ( c ) ) , e . data = c || { } , e . loaded = ! 0 ) ; for ( var f = 0 ; f < this . _fileList . length + 1 ; f ++ ) { var g = this . _fileList [ f ] ; if ( ! g || ! g . loaded && ! g . loading && "packfile" !== g . type ) { this . _fileList . splice ( f , 1 , e ) , this . _totalPackCount ++ ; break } } return this } , image : function ( a , b , c ) { return this . addToFileList ( "image" , a , b , void 0 , c , ".png" ) } , text : function ( a , b , c ) { return this . addToFileList ( "text" , a , b , void 0 , c , ".txt" ) } , json : function ( a , b , c ) { return this . addToFileList ( "json" , a , b , void 0 , c , ".json" ) } , xml : function ( a , b , c ) { return this . addToFileList ( "xml" , a , b , void 0 , c , ".xml" ) } , script : functi
return c . Color . getColor ( i , j , k ) } , interpolateRGB : function ( a , b , d , e , f , g , h , i ) { var j = ( e - a ) * i / h + a , k = ( f - b ) * i / h + b , l = ( g - d ) * i / h + d ; return c . Color . getColor ( j , k , l ) } , getRandomColor : function ( a , b , d ) { if ( "undefined" == typeof a && ( a = 0 ) , "undefined" == typeof b && ( b = 255 ) , "undefined" == typeof d && ( d = 255 ) , b > 255 || a > b ) return c . Color . getColor ( 255 , 255 , 255 ) ; var e = a + Math . round ( Math . random ( ) * ( b - a ) ) , f = a + Math . round ( Math . random ( ) * ( b - a ) ) , g = a + Math . round ( Math . random ( ) * ( b - a ) ) ; return c . Color . getColor32 ( d , e , f , g ) } , getRGB : function ( a ) { return a > 16777215 ? { alpha : a >>> 24 , red : a >> 16 & 255 , green : a >> 8 & 255 , blue : 255 & a , a : a >>> 24 , r : a >> 16 & 255 , g : a >> 8 & 255 , b : 255 & a } : { alpha : 255 , red : a >> 16 & 255 , green : a >> 8 & 255 , blue : 255 & a , a : 255 , r : a >> 16 & 255 , g : a >> 8 & 255 , b : 255 & a } } , getWebRGB : function ( a ) { if ( "object" == typeof a ) return "rgba(" + a . r . toString ( ) + "," + a . g . toString ( ) + "," + a . b . toString ( ) + "," + ( a . a / 255 ) . toString ( ) + ")" ; var b = c . Color . getRGB ( a ) ; return "rgba(" + b . r . toString ( ) + "," + b . g . toString ( ) + "," + b . b . toString ( ) + "," + ( b . a / 255 ) . toString ( ) + ")" } , getAlpha : function ( a ) { return a >>> 24 } , getAlphaFloat : function ( a ) { return ( a >>> 24 ) / 255 } , getRed : function ( a ) { return a >> 16 & 255 } , getGreen : function ( a ) { return a >> 8 & 255 } , getBlue : function ( a ) { return 255 & a } , blendNormal : function ( a ) { return a } , blendLighten : function ( a , b ) { return b > a ? b : a } , blendDarken : function ( a , b ) { return b > a ? a : b } , blendMultiply : function ( a , b ) { return a * b / 255 } , blendAverage : function ( a , b ) { return ( a + b ) / 2 } , blendAdd : function ( a , b ) { return Math . min ( 255 , a + b ) } , blendSubtract : function ( a , b ) { return Math . max ( 0 , a + b - 255 ) } , blendDifference : function ( a , b ) { return Math . abs ( a - b ) } , blendNegation : function ( a , b ) { return 255 - Math . abs ( 255 - a - b ) } , blendScreen : function ( a , b ) { return 255 - ( ( 255 - a ) * ( 255 - b ) >> 8 ) } , blendExclusion : function ( a , b ) { return a + b - 2 * a * b / 255 } , blendOverlay : function ( a , b ) { return 128 > b ? 2 * a * b / 255 : 255 - 2 * ( 255 - a ) * ( 255 - b ) / 255 } , blendSoftLight : function ( a , b ) { return 128 > b ? 2 * ( ( a >> 1 ) + 64 ) * ( b / 255 ) : 255 - 2 * ( 255 - ( ( a >> 1 ) + 64 ) ) * ( 255 - b ) / 255 } , blendHardLight : function ( a , b ) { return c . Color . blendOverlay ( b , a ) } , blendColorDodge : function ( a , b ) { return 255 === b ? b : Math . min ( 255 , ( a << 8 ) / ( 255 - b ) ) } , blendColorBurn : function ( a , b ) { return 0 === b ? b : Math . max ( 0 , 255 - ( 255 - a << 8 ) / b ) } , blendLinearDodge : function ( a , b ) { return c . Color . blendAdd ( a , b ) } , blendLinearBurn : function ( a , b ) { return c . Color . blendSubtract ( a , b ) } , blendLinearLight : function ( a , b ) { return 128 > b ? c . Color . blendLinearBurn ( a , 2 * b ) : c . Color . blendLinearDodge ( a , 2 * ( b - 128 ) ) } , blendVividLight : function ( a , b ) { return 128 > b ? c . Color . blendColorBurn ( a , 2 * b ) : c . Color . blendColorDodge ( a , 2 * ( b - 128 ) ) } , blendPinLight : function ( a , b ) { return 128 > b ? c . Color . blendDarken ( a , 2 * b ) : c . Color . blendLighten ( a , 2 * ( b - 128 ) ) } , blendHardMix : function ( a , b ) { return c . Color . blendVividLight ( a , b ) < 128 ? 0 : 255 } , blendReflect : function ( a , b ) { return 255 === b ? b : Math . min ( 255 , a * a / ( 255 - b ) ) } , blendGlow : function ( a , b ) { return c . Color . blendReflect ( b , a ) } , blendPhoenix : function ( a , b ) { return Math . min ( a , b ) - Math . max ( a , b ) + 255 } } , c . LinkedList = function ( ) { this . next = null , this . prev = null , this . first = null , this . last = null , this . total = 0 } , c . LinkedList . prototype = { add : function ( a ) { return 0 === this . total && null === this . first && null === this . last ? ( this . first = a , this . last = a , this . next = a , a . prev = this , this . total ++ , a ) : ( this . last . next = a , a . prev = this . last , this . last = a , this . total ++ , a ) } , reset : function ( ) { this . first = null , this . last = null , this . next = null , this . prev = null , this . total = 0 } , remove : function ( a ) { return 1 === this . total ? ( this . reset ( ) , void ( a . next = a . prev = null ) ) : ( a === this . first ? this . first = this . first . next : a === this . last && ( this . last = this . last . prev ) , a . prev && ( a . prev . next = a . next ) , a . next && ( a . next . prev = a . prev ) , a . next = a . prev = null , null === this . first && ( this . last = null ) , void this . total -- ) } , callAll : function ( a ) { if ( this . first && this . last ) { var b = this . first ; do b && b [ a ] && b [ a ] . call ( b ) , b = b . next ; while ( b != this . last . next ) } } } , c . LinkedList . prototype . constructor = c . LinkedList , c . Physics = function ( a , b ) { b = b || { } , this . game = a , this . config = b , this . arcade = null , this . p2 = null , this . ninja = null , this . box2d = null , this . chipmunk = null , this . matter = null , this . parseConfig ( ) } , c . Physics . ARCADE = 0 , c . Physics . P2JS = 1 , c . Physics . NINJA = 2 , c . Physics . BOX2D = 3 , c . Physics . CHIPMUNK = 4 , c . Physics . MATTERJS = 5 , c . Physics . prototype = { parseConfig : function ( ) { this . config . hasOwnProperty ( "arcade" ) && this . config . arcade !== ! 0 || ! c . Physics . ha
2015-02-25 02:59:00 +00:00
//# sourceMappingURL=phaser-minimum.map