2015-07-23 15:02:45 +00:00
/* Phaser v2.4.1 - http://phaser.io - @photonstorm - (c) 2015 Photon Storm Ltd. */
2015-02-25 02:59:00 +00:00
2015-07-23 15:02:45 +00:00
( function ( ) { var a = this , b = b || { } ; return 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 . _currentBounds = null , 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 . RenderTex
2015-07-22 14:31:30 +00:00
} , 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 ,
2015-07-23 15:02:45 +00:00
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 . TEXTURE _MAG _FILTER , e === b . scaleModes . LINEAR ? a . LINEAR : a . NEAREST ) , a . texParameteri ( a . TEXTURE _2D , a . TEXTURE _MIN _FILTER , e === b . scaleModes . LINEAR ? a . LINEAR : a . NEAREST ) , a . texParameteri ( a . TEXTURE _2D , a . TEXTURE _WRAP _S , a . CLAMP _TO _EDGE ) , a . texParameteri ( a . TEXTURE _2D , a . TEXTURE _WRAP _T , a . CLAMP _TO _EDGE ) , a . bindFra
} , 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 . currentBlendMode ] ) ; var g = this . tilePosition , h = this . tileScale ; g . x %= this . tilingTexture . baseTexture . width , g . y %= this . tilingTexture . baseTexture . height , c . scale ( h . x , h . y ) , c . translate ( g . x + this . anchor . x * - this . _width , g . y + this . anchor . y * - this . _height ) , c . fillStyle = this . tilePattern ; var i = - g . x , j = - g . y , k = this . _width / h . x , l = this . _height / h . y ; a . roundPixels , c . fillRect ( i , j , k , l ) , c . scale ( 1 / h . x , 1 / h . y ) , c . translate ( - g . x + this . anchor . x * this . _width , - g . y + this . anchor . y * this . _height ) , this . _mask && a . maskManager . popMask ( a ) ; for ( var m = 0 ; m < this . children . length ; m ++ ) this . children [ m ] . _renderCanvas ( a ) ; f !== this . blendMode && ( a . currentBlendMode = f , c . globalCompositeOperation = b . blendModesCanvas [ f ] ) } } , b . TilingSprite . prototype . onTextureUpdate = function ( ) { } , b . TilingSprite . prototype . generateTilingTexture = function ( a ) { if ( this . texture . baseTexture . hasLoaded ) { var c = this . texture , d = c . frame , e = this . _frame . sourceSizeW , f = this . _frame . sourceSizeH , g = 0 , h = 0 ; this . _frame . trimmed && ( g = this . _frame . spriteSourceSizeX , h = this . _frame . spriteSourceSizeY ) , a && ( e = b . getNextPowerOfTwo ( e ) , f = b . getNextPowerOfTwo ( f ) ) , this . canvasBuffer ? ( this . canvasBuffer . resize ( e , f ) , this . tilingTexture . baseTexture . width = e , this . tilingTexture . baseTexture . height = f , this . tilingTexture . needsUpdate = ! 0 ) : ( this . canvasBuffer = new b . CanvasBuffer ( e , f ) , this . tilingTexture = b . Texture . fromCanvas ( this . canvasBuffer . canvas ) , this . tilingTexture = b . Texture . fromCanvas ( this . canvasBuffer . canvas ) , this . tilingTexture . isTiling = ! 0 , this . tilingTexture . needsUpdate = ! 0 ) , this . textureDebug && ( this . canvasBuffer . context . strokeStyle = "#00ff00" , this . canvasBuffer . context . strokeRect ( 0 , 0 , e , f ) ) ; var i = c . crop . width , j = c . crop . height ; ( i !== e || j !== f ) && ( i = e , j = f ) , this . canvasBuffer . context . drawImage ( c . baseTexture . source , c . crop . x , c . crop . y , c . crop . width , c . crop . height , g , h , i , j ) , this . tileScaleOffset . x = d . width / e , this . tileScaleOffset . y = d . height / f , this . refreshTexture = ! 1 , this . tilingTexture . baseTexture . _powerOf2 = ! 0 } } , b . TilingSprite . prototype . getBounds = function ( ) { var a = this . _width , b = this . _height , c = a * ( 1 - this . anchor . x ) , d = a * - this . anchor . x , e = b * ( 1 - this . anchor . y ) , f = b * - this . anchor . y , g = this . worldTransform , h = g . a , i = g . b , j = g . c , k = g . d , l = g . tx , m = g . ty , n = h * d + j * f + l , o = k * f + i * d + m , p = h * c + j * f + l , q = k * f + i * c + m , r = h * c + j * e + l , s = k * e + i * c + m , t = h * d + j * e + l , u = k * e + i * d + m , v = - 1 / 0 , w = - 1 / 0 , x = 1 / 0 , y = 1 / 0 ; x = x > n ? n : x , x = x > p ? p : x , x = x > r ? r : x , x = x > t ? t : x , y = y > o ? o : y , y = y > q ? q : y , y = y > s ? s : y , y = y > u ? u : y , v = n > v ? n : v , v = p > v ? p : v , v = r > v ? r : v , v = t > v ? t : v , w = o > w ? o : w , w = q > w ? q : w , w = s > w ? s : w , w = u > w ? u : w ; var z = this . _bounds ; return z . x = x , z . width = v - x , z . y = y , z . height = w - y , this . _currentBounds = z , z } , b . TilingSprite . prototype . destroy = function ( ) { b . Sprite . prototype . destroy . call ( thi
} , c . 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 ) } , c . Rectangle . intersectsRaw = function ( a , b , c , d , e , f ) { return void 0 === f && ( f = 0 ) , ! ( b > a . right + f || c < a . left - f || d > a . bottom + f || e < a . top - f ) } , c . Rectangle . union = function ( a , b , d ) { return void 0 === d && ( d = new c . Rectangle ) , d . setTo ( Math . min ( a . x , b . x ) , Math . min ( a . y , b . y ) , Math . max ( a . right , b . right ) - Math . min ( a . left , b . left ) , Math . max ( a . bottom , b . bottom ) - Math . min ( a . top , b . top ) ) } , c . Rectangle . aabb = function ( a , b ) { void 0 === b && ( b = new c . 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 ) } ) , b . setTo ( e , g , d - e , f - g ) , b } , PIXI . Rectangle = c . Rectangle , PIXI . EmptyRectangle = new c . Rectangle ( 0 , 0 , 0 , 0 ) , c . RoundedRectangle = function ( a , b , d , e , f ) { void 0 === a && ( a = 0 ) , void 0 === b && ( b = 0 ) , void 0 === d && ( d = 0 ) , void 0 === e && ( e = 0 ) , void 0 === f && ( f = 20 ) , this . x = a , this . y = b , this . width = d , this . height = e , this . radius = f || 20 , this . type = c . ROUNDEDRECTANGLE } , c . RoundedRectangle . prototype = { clone : function ( ) { return new c . RoundedRectangle ( this . x , this . y , this . width , this . height , this . radius ) } , contains : function ( a , b ) { if ( this . width <= 0 || this . height <= 0 ) return ! 1 ; var c = this . x ; if ( a >= c && a <= c + this . width ) { var d = this . y ; if ( b >= d && b <= d + this . height ) return ! 0 } return ! 1 } } , c . RoundedRectangle . prototype . constructor = c . RoundedRectangle , PIXI . RoundedRectangle = c . RoundedRectangle , c . Camera = function ( a , b , d , e , f , g ) { this . game = a , this . world = a . world , this . id = 0 , this . view = new c . Rectangle ( d , e , f , g ) , this . bounds = new c . Rectangle ( d , e , f , g ) , this . deadzone = null , this . visible = ! 0 , this . roundPx = ! 0 , this . atLimit = { x : ! 1 , y : ! 1 } , this . target = null , this . displayObject = null , this . scale = null , this . totalInView = 0 , this . _targetPosition = new c . Point , this . _edge = 0 , this . _position = new c . Point } , c . Camera . FOLLOW _LOCKON = 0 , c . Camera . FOLLOW _PLATFORMER = 1 , c . Camera . FOLLOW _TOPDOWN = 2 , c . Camera . FOLLOW _TOPDOWN _TIGHT = 3 , c . Camera . prototype = { preUpdate : function ( ) { this . totalInView = 0 } , follow : function ( a , b ) { void 0 === b && ( b = c . Camera . FOLLOW _LOCKON ) , this . target = a ; var d ; switch ( b ) { case c . Camera . FOLLOW _PLATFORMER : var e = this . width / 8 , f = this . height / 3 ; this . deadzone = new c . Rectangle ( ( this . width - e ) / 2 , ( this . height - f ) / 2 - . 25 * f , e , f ) ; break ; case c . Camera . FOLLOW _TOPDOWN : d = Math . max ( this . width , this . height ) / 4 , this . deadzone = new c . Rectangle ( ( this . width - d ) / 2 , ( this . height - d ) / 2 , d , d ) ; break ; case c . Camera . FOLLOW _TOPDOWN _TIGHT : d = Math . max ( this . width , this . height ) / 8 , this . deadzone = new c . Rectangle ( ( this . width - d ) / 2 , ( this . height - d ) / 2 , d , d ) ; break ; case c . Camera . FOLLOW _LOCKON : this . deadzone = null ; break ; default : this . deadzone = null } } , unfollow : function ( ) { this . target = null } , focusOn : function ( a ) { this . setPosition ( Math . round ( a . x - this . view . halfWidth ) , Math . round ( a . y - this . view . halfHeight ) ) } , focusOnXY : function ( a , b ) { this . setPosition ( Math . round ( a - this . view . halfWidth ) , Math . round ( b - this . view . halfHeight ) ) } , update : function ( ) { this . target && this . updateTarget ( ) , this . bounds && this . checkBounds ( ) , this . roundPx && this . view . floor ( ) , this . displayObject . position . x = - this . view . x , this . displayObject . position . y = - this . view . y } , updateTarget : function ( ) { this . _targetPosition . copyFrom ( this . target ) , this . target . parent && this . _targetPosition . multiply ( this . target . parent . worldTransform . a , this . target . parent . worldTransform . d ) , this . deadzone ? ( this . _edge = this . _targetPosition . x - this . view . x , this . _edge < this . deadzone . left ? this . view . x = this . _targetPosition . x - this . deadzone . left : this . _edge > this . deadzone . right && ( this . view . x = this . _targetPosition . x - this . deadzone . right ) , this . _edge = this . _targetPosition . y - this . view . y , this . _edge < this . deadzone . top ? this . view . y = this . _targetPosition . y - this . deadzone . top : this . _edge > this . deadzone . bottom && ( this . view . y = this . _targetPosition . y - this . deadzone . bottom ) ) : ( this . view . x = this . _targetPosition . x - this . view . halfWidth , this . view . y = this . _targetPosition . y - this . view . halfHeight ) } , setBoundsToWorld : function ( ) { this . bounds . copyFrom ( this . game . world . bounds ) } , checkBounds : function ( ) { this . atLimit . x = ! 1 , this . atLimit . y = ! 1 , this . view . x <= this . bounds . x && ( this . atLimit . x = ! 0 , this . view . x = this . bounds . x ) , this . view . right >= this . bounds . right && ( this . atLimit . x = ! 0 , this . view . x =
} , c . Group . prototype . checkProperty = function ( a , b , d , e ) { return void 0 === e && ( e = ! 1 ) , ! c . Utils . getProperty ( a , b ) && e ? ! 1 : c . Utils . getProperty ( a , b ) !== d ? ! 1 : ! 0 } , c . Group . prototype . set = function ( a , b , c , d , e , f , g ) { return void 0 === g && ( g = ! 1 ) , b = b . split ( "." ) , void 0 === d && ( d = ! 1 ) , void 0 === e && ( e = ! 1 ) , ( d === ! 1 || d && a . alive ) && ( e === ! 1 || e && a . visible ) ? this . setProperty ( a , b , c , f , g ) : void 0 } , c . Group . prototype . setAll = function ( a , b , c , d , e , f ) { void 0 === c && ( c = ! 1 ) , void 0 === d && ( d = ! 1 ) , void 0 === f && ( f = ! 1 ) , a = a . split ( "." ) , e = e || 0 ; for ( var g = 0 ; g < this . children . length ; g ++ ) ( ! c || c && this . children [ g ] . alive ) && ( ! d || d && this . children [ g ] . visible ) && this . setProperty ( this . children [ g ] , a , b , e , f ) } , c . Group . prototype . setAllChildren = function ( a , b , d , e , f , g ) { void 0 === d && ( d = ! 1 ) , void 0 === e && ( e = ! 1 ) , void 0 === g && ( g = ! 1 ) , f = f || 0 ; for ( var h = 0 ; h < this . children . length ; h ++ ) ( ! d || d && this . children [ h ] . alive ) && ( ! e || e && this . children [ h ] . visible ) && ( this . children [ h ] instanceof c . Group ? this . children [ h ] . setAllChildren ( a , b , d , e , f , g ) : this . setProperty ( this . children [ h ] , a . split ( "." ) , b , f , g ) ) } , c . Group . prototype . checkAll = function ( a , b , c , d , e ) { void 0 === c && ( c = ! 1 ) , void 0 === d && ( d = ! 1 ) , void 0 === e && ( e = ! 1 ) ; for ( var f = 0 ; f < this . children . length ; f ++ ) if ( ( ! c || c && this . children [ f ] . alive ) && ( ! d || d && this . children [ f ] . visible ) && ! this . checkProperty ( this . children [ f ] , a , b , e ) ) return ! 1 ; return ! 0 } , c . Group . prototype . addAll = function ( a , b , c , d ) { this . setAll ( a , b , c , d , 1 ) } , c . Group . prototype . subAll = function ( a , b , c , d ) { this . setAll ( a , b , c , d , 2 ) } , c . Group . prototype . multiplyAll = function ( a , b , c , d ) { this . setAll ( a , b , c , d , 3 ) } , c . Group . prototype . divideAll = function ( a , b , c , d ) { this . setAll ( a , b , c , d , 4 ) } , c . Group . prototype . callAllExists = function ( a , b ) { var c ; if ( arguments . length > 2 ) { c = [ ] ; for ( var d = 2 ; d < arguments . length ; d ++ ) c . push ( arguments [ d ] ) } for ( var d = 0 ; d < this . children . length ; d ++ ) this . children [ d ] . exists === b && this . children [ d ] [ a ] && this . children [ d ] [ a ] . apply ( this . children [ d ] , c ) } , c . Group . prototype . callbackFromArray = function ( a , b , c ) { if ( 1 == c ) { if ( a [ b [ 0 ] ] ) return a [ b [ 0 ] ] } else if ( 2 == c ) { if ( a [ b [ 0 ] ] [ b [ 1 ] ] ) return a [ b [ 0 ] ] [ b [ 1 ] ] } else if ( 3 == c ) { if ( a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] ) return a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] } else if ( 4 == c ) { if ( a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] [ b [ 3 ] ] ) return a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] [ b [ 3 ] ] } else if ( a [ b ] ) return a [ b ] ; return ! 1 } , c . Group . prototype . callAll = function ( a , b ) { if ( void 0 !== a ) { a = a . split ( "." ) ; var c = a . length ; if ( void 0 === b || null === b || "" === b ) b = null ; else if ( "string" == typeof b ) { b = b . split ( "." ) ; var d = b . length } var e ; if ( arguments . length > 2 ) { e = [ ] ; for ( var f = 2 ; f < arguments . length ; f ++ ) e . push ( arguments [ f ] ) } for ( var g = null , h = null , f = 0 ; f < this . children . length ; f ++ ) g = this . callbackFromArray ( this . children [ f ] , a , c ) , b && g ? ( h = this . callbackFromArray ( this . children [ f ] , b , d ) , g && g . apply ( h , e ) ) : g && g . apply ( this . children [ f ] , e ) } } , c . Group . prototype . preUpdate = function ( ) { if ( this . pendingDestroy ) return this . destroy ( ) , ! 1 ; if ( ! this . exists || ! this . parent . exists ) return this . renderOrderID = - 1 , ! 1 ; for ( var a = this . children . length ; a -- ; ) this . children [ a ] . preUpdate ( ) ; return ! 0 } , c . Group . prototype . update = function ( ) { for ( var a = this . children . length ; a -- ; ) this . children [ a ] . update ( ) } , c . Group . prototype . postUpdate = function ( ) { this . fixedToCamera && ( this . x = this . game . camera . view . x + this . cameraOffset . x , this . y = this . game . camera . view . y + this . cameraOffset . y ) ; for ( var a = this . children . length ; a -- ; ) this . children [ a ] . postUpdate ( ) } , c . Group . prototype . filter = function ( a , b ) { for ( var d = - 1 , e = this . children . length , f = [ ] ; ++ d < e ; ) { var g = this . children [ d ] ; ( ! b || b && g . exists ) && a ( g , d , this . children ) && f . push ( g ) } return new c . ArraySet ( f ) } , c . Group . prototype . forEach = function ( a , b , c ) { if ( void 0 === c && ( c = ! 1 ) , arguments . length <= 3 ) for ( var d = 0 ; d < this . children . length ; d ++ ) ( ! c || c && this . children [ d ] . exists ) && a . call ( b , this . children [ d ] ) ; else { for ( var e = [ null ] , d = 3 ; d < arguments . length ; d ++ ) e . push ( arguments [ d ] ) ; for ( var d = 0 ; d < this . children . length ; d ++ ) ( ! c || c && this . children [ d ] . exists ) && ( e [ 0 ] = this . children [ d ] , a . apply ( b , e ) ) } } , c . Group . prototype . forEachExists = function ( a , b ) { var d ; if ( arguments . length > 2 ) { d = [ null ] ; for ( var e = 2 ; e < arguments . length ; e ++ ) d . push ( arguments [ e ] ) } this . iterate ( "exists" , ! 0 , c . Group . RETURN _TOTAL , a , b , d ) } , c . Group . prototype . forEachAlive = function ( a , b ) { var d ; if ( arguments . length > 2 ) { d = [ null ] ; for ( var e = 2 ; e < arguments . length ; e ++ ) d . push ( arguments [ e ] ) } this . iterate ( "alive" , ! 0 , c . Group . RETURN _TO
2015-07-24 12:28:55 +00:00
} } , c . ScaleManager . prototype . constructor = c . ScaleManager , Object . defineProperty ( c . ScaleManager . prototype , "boundingParent" , { get : function ( ) { if ( this . parentIsWindow || this . isFullScreen && ! this . _createdFullScreenTarget ) return null ; var a = this . game . canvas && this . game . canvas . parentNode ; return a || null } } ) , Object . defineProperty ( c . ScaleManager . prototype , "scaleMode" , { get : function ( ) { return this . _scaleMode } , set : function ( a ) { return a !== this . _scaleMode && ( this . isFullScreen || ( this . updateDimensions ( this . _gameSize . width , this . _gameSize . height , ! 0 ) , this . queueUpdate ( ! 0 ) ) , this . _scaleMode = a ) , this . _scaleMode } } ) , Object . defineProperty ( c . ScaleManager . prototype , "fullScreenScaleMode" , { get : function ( ) { return this . _fullScreenScaleMode } , set : function ( a ) { return a !== this . _fullScreenScaleMode && ( this . isFullScreen ? ( this . prepScreenMode ( ! 1 ) , this . _fullScreenScaleMode = a , this . prepScreenMode ( ! 0 ) , this . queueUpdate ( ! 0 ) ) : this . _fullScreenScaleMode = a ) , this . _fullScreenScaleMode } } ) , Object . defineProperty ( c . ScaleManager . prototype , "currentScaleMode" , { get : function ( ) { return this . isFullScreen ? this . _fullScreenScaleMode : this . _scaleMode } } ) , Object . defineProperty ( c . ScaleManager . prototype , "pageAlignHorizontally" , { get : function ( ) { return this . _pageAlignHorizontally } , set : function ( a ) { a !== this . _pageAlignHorizontally && ( this . _pageAlignHorizontally = a , this . queueUpdate ( ! 0 ) ) } } ) , Object . defineProperty ( c . ScaleManager . prototype , "pageAlignVertically" , { get : function ( ) { return this . _pageAlignVertically } , set : function ( a ) { a !== this . _pageAlignVertically && ( this . _pageAlignVertically = a , this . queueUpdate ( ! 0 ) ) } } ) , Object . defineProperty ( c . ScaleManager . prototype , "isFullScreen" , { get : function ( ) { return ! ! ( document . fullscreenElement || document . webkitFullscreenElement || document . mozFullScreenElement || document . msFullscreenElement ) } } ) , Object . defineProperty ( c . ScaleManager . prototype , "isPortrait" , { get : function ( ) { return "portrait" === this . classifyOrientation ( this . screenOrientation ) } } ) , Object . defineProperty ( c . ScaleManager . prototype , "isLandscape" , { get : function ( ) { return "landscape" === this . classifyOrientation ( this . screenOrientation ) } } ) , Object . defineProperty ( c . ScaleManager . prototype , "isGamePortrait" , { get : function ( ) { return this . height > this . width } } ) , Object . defineProperty ( c . ScaleManager . prototype , "isGameLandscape" , { get : function ( ) { return this . width > this . height } } ) , c . Game = function ( a , b , d , e , f , g , h , i ) { return this . id = c . GAMES . push ( this ) - 1 , this . config = null , this . physicsConfig = i , this . parent = "" , this . width = 800 , this . height = 600 , this . resolution = 1 , this . _width = 800 , this . _height = 600 , this . transparent = ! 1 , this . antialias = ! 0 , this . preserveDrawingBuffer = ! 1 , this . renderer = null , this . renderType = c . AUTO , this . state = null , this . isBooted = ! 1 , this . isRunning = ! 1 , this . raf = null , this . add = null , this . make = null , this . cache = null , this . input = null , this . load = null , this . math = null , this . net = null , this . scale = null , this . sound = null , this . stage = null , this . time = null , this . tweens = null , this . world = null , this . physics = null , this . plugins = null , this . rnd = null , this . device = c . Device , this . camera = null , this . canvas = null , this . context = null , this . debug = null , this . particles = null , this . create = null , this . lockRender = ! 1 , this . stepping = ! 1 , this . pendingStep = ! 1 , this . stepCount = 0 , this . onPause = null , this . onResume = null , this . onBlur = null , this . onFocus = null , this . _paused = ! 1 , this . _codePaused = ! 1 , this . currentUpdateID = 0 , this . updatesThisFrame = 1 , this . _deltaTime = 0 , this . _lastCount = 0 , this . _spiraling = 0 , this . _kickstart = ! 0 , this . fpsProblemNotifier = new c . Signal , this . forceSingleUpdate = ! 1 , this . _nextFpsNotification = 0 , 1 === arguments . length && "object" == typeof arguments [ 0 ] ? this . parseConfig ( arguments [ 0 ] ) : ( this . config = { enableDebug : ! 0 } , "undefined" != typeof a && ( this . _width = a ) , "undefined" != typeof b && ( this . _height = b ) , "undefined" != typeof d && ( this . renderType = d ) , "undefined" != typeof e && ( this . parent = e ) , "undefined" != typeof g && ( this . transparent = g ) , "undefined" != typeof h && ( this . antialias = h ) , this . rnd = new c . RandomDataGenerator ( [ ( Date . now ( ) * Math . random ( ) ) . toString ( ) ] ) , this . state = new c . StateManager ( this , f ) ) , this . device . whenReady ( this . boot , this ) , this } , c . Game . prototype = { parseConfig : function ( a ) { this . config = a , void 0 === a . enableDebug && ( this . config . enableDebug = ! 0 ) , a . width && ( this . _width = a . width ) , a . height && ( this . _he
} , start : function ( a ) { return a . pointerId && ( this . pointerId = a . pointerId ) , this . identifier = a . identifier , this . target = a . target , this . isMouse ? this . updateButtons ( a ) : ( this . isDown = ! 0 , this . isUp = ! 1 ) , this . _history = [ ] , this . active = ! 0 , this . withinGame = ! 0 , this . dirty = ! 1 , this . _clickTrampolines = null , this . _trampolineTargetObject = null , this . msSinceLastClick = this . game . time . time - this . timeDown , this . timeDown = this . game . time . time , this . _holdSent = ! 1 , this . move ( a , ! 0 ) , this . positionDown . setTo ( this . x , this . y ) , ( this . game . input . multiInputOverride === c . Input . MOUSE _OVERRIDES _TOUCH || this . game . input . multiInputOverride === c . Input . MOUSE _TOUCH _COMBINE || this . game . input . multiInputOverride === c . Input . TOUCH _OVERRIDES _MOUSE && 0 === this . game . input . totalActivePointers ) && ( this . game . input . x = this . x , this . game . input . y = this . y , this . game . input . position . setTo ( this . x , this . y ) , this . game . input . onDown . dispatch ( this , a ) , this . game . input . resetSpeed ( this . x , this . y ) ) , this . _stateReset = ! 1 , this . totalTouches ++ , null !== this . targetObject && this . targetObject . _touchedHandler ( this ) , this } , update : function ( ) { this . active && ( this . dirty && ( this . game . input . interactiveItems . total > 0 && this . processInteractiveObjects ( ! 1 ) , this . dirty = ! 1 ) , this . _holdSent === ! 1 && this . duration >= this . game . input . holdRate && ( ( this . game . input . multiInputOverride === c . Input . MOUSE _OVERRIDES _TOUCH || this . game . input . multiInputOverride === c . Input . MOUSE _TOUCH _COMBINE || this . game . input . multiInputOverride === c . Input . TOUCH _OVERRIDES _MOUSE && 0 === this . game . input . totalActivePointers ) && this . game . input . onHold . dispatch ( this ) , this . _holdSent = ! 0 ) , this . game . input . recordPointerHistory && this . game . time . time >= this . _nextDrop && ( this . _nextDrop = this . game . time . time + this . game . input . recordRate , this . _history . push ( { x : this . position . x , y : this . position . y } ) , this . _history . length > this . game . input . recordLimit && this . _history . shift ( ) ) ) } , move : function ( a , b ) { if ( ! this . game . input . pollLocked ) { if ( void 0 === b && ( b = ! 1 ) , void 0 !== a . button && ( this . button = a . button ) , b && this . updateButtons ( a ) , this . clientX = a . clientX , this . clientY = a . clientY , this . pageX = a . pageX , this . pageY = a . pageY , this . screenX = a . screenX , this . screenY = a . screenY , this . isMouse && this . game . input . mouse . locked && ! b && ( this . rawMovementX = a . movementX || a . mozMovementX || a . webkitMovementX || 0 , this . rawMovementY = a . movementY || a . mozMovementY || a . webkitMovementY || 0 , this . movementX += this . rawMovementX , this . movementY += this . rawMovementY ) , this . x = ( this . pageX - this . game . scale . offset . x ) * this . game . input . scale . x , this . y = ( this . pageY - this . game . scale . offset . y ) * this . game . input . scale . y , this . position . setTo ( this . x , this . y ) , this . circle . x = this . x , this . circle . y = this . y , ( this . game . input . multiInputOverride === c . Input . MOUSE _OVERRIDES _TOUCH || this . game . input . multiInputOverride === c . Input . MOUSE _TOUCH _COMBINE || this . game . input . multiInputOverride === c . Input . TOUCH _OVERRIDES _MOUSE && 0 === this . game . input . totalActivePointers ) && ( this . game . input . activePointer = this , this . game . input . x = this . x , this . game . input . y = this . y , this . game . input . position . setTo ( this . game . input . x , this . game . input . y ) , this . game . input . circle . x = this . game . input . x , this . game . input . circle . y = this . game . input . y ) , this . withinGame = this . game . scale . bounds . contains ( this . pageX , this . pageY ) , this . game . paused ) return this ; for ( var d = this . game . input . moveCallbacks . length ; d -- ; ) this . game . input . moveCallbacks [ d ] . callback . call ( this . game . input . moveCallbacks [ d ] . context , this , this . x , this . y , b ) ; return null !== this . targetObject && this . targetObject . isDragged === ! 0 ? this . targetObject . update ( this ) === ! 1 && ( this . targetObject = null ) : this . game . input . interactiveItems . total > 0 && this . processInteractiveObjects ( b ) , this } } , processInteractiveObjects : function ( a ) { for ( var b = Number . MAX _VALUE , c = - 1 , d = null , e = this . game . input . interactiveItems . first ; e ; ) e . checked = ! 1 , e . validForInput ( c , b , ! 1 ) && ( e . checked = ! 0 , ( a && e . checkPointerDown ( this , ! 0 ) || ! a && e . checkPointerOver ( this , ! 0 ) ) && ( b = e . sprite . renderOrderID , c = e . priorityID , d = e ) ) , e = this . game . input . interactiveItems . next ; for ( var e = this . game . input . interactiveItems . first ; e ; ) ! e . checked && e . validForInput ( c , b , ! 0 ) && ( a && e . checkPointerDown ( this , ! 1 ) || ! a && e . checkPointerOver ( this , ! 1 ) ) && ( b = e . sprite . renderOrderID , c = e . priorityID , d = e ) , e = this . game . input . interactiveItems . next ; return null === d ? this . targetObject && ( this . tar
} , c . SinglePad . prototype = { addCallbacks : function ( a , b ) { "undefined" != typeof b && ( this . onConnectCallback = "function" == typeof b . onConnect ? b . onConnect : this . onConnectCallback , this . onDisconnectCallback = "function" == typeof b . onDisconnect ? b . onDisconnect : this . onDisconnectCallback , this . onDownCallback = "function" == typeof b . onDown ? b . onDown : this . onDownCallback , this . onUpCallback = "function" == typeof b . onUp ? b . onUp : this . onUpCallback , this . onAxisCallback = "function" == typeof b . onAxis ? b . onAxis : this . onAxisCallback , this . onFloatCallback = "function" == typeof b . onFloat ? b . onFloat : this . onFloatCallback ) } , getButton : function ( a ) { return this . _buttons [ a ] ? this . _buttons [ a ] : null } , pollStatus : function ( ) { if ( this . connected && this . game . input . enabled && this . game . input . gamepad . enabled && ( ! this . _rawPad . timestamp || this . _rawPad . timestamp !== this . _prevTimestamp ) ) { for ( var a = 0 ; a < this . _buttonsLen ; a ++ ) { var b = isNaN ( this . _rawPad . buttons [ a ] ) ? this . _rawPad . buttons [ a ] . value : this . _rawPad . buttons [ a ] ; b !== this . _buttons [ a ] . value && ( 1 === b ? this . processButtonDown ( a , b ) : 0 === b ? this . processButtonUp ( a , b ) : this . processButtonFloat ( a , b ) ) } for ( var c = 0 ; c < this . _axesLen ; c ++ ) { var d = this . _rawPad . axes [ c ] ; d > 0 && d > this . deadZone || 0 > d && d < - this . deadZone ? this . processAxisChange ( c , d ) : this . processAxisChange ( c , 0 ) } this . _prevTimestamp = this . _rawPad . timestamp } } , connect : function ( a ) { var b = ! this . connected ; this . connected = ! 0 , this . index = a . index , this . _rawPad = a , this . _buttons = [ ] , this . _buttonsLen = a . buttons . length , this . _axes = [ ] , this . _axesLen = a . axes . length ; for ( var d = 0 ; d < this . _axesLen ; d ++ ) this . _axes [ d ] = a . axes [ d ] ; for ( var e in a . buttons ) e = parseInt ( e , 10 ) , this . _buttons [ e ] = new c . DeviceButton ( this , e ) ; b && this . _padParent . onConnectCallback && this . _padParent . onConnectCallback . call ( this . _padParent . callbackContext , this . index ) , b && this . onConnectCallback && this . onConnectCallback . call ( this . callbackContext ) } , disconnect : function ( ) { var a = this . connected , b = this . index ; this . connected = ! 1 , this . index = null , this . _rawPad = void 0 ; for ( var c = 0 ; c < this . _buttonsLen ; c ++ ) this . _buttons [ c ] . destroy ( ) ; this . _buttons = [ ] , this . _buttonsLen = 0 , this . _axes = [ ] , this . _axesLen = 0 , a && this . _padParent . onDisconnectCallback && this . _padParent . onDisconnectCallback . call ( this . _padParent . callbackContext , b ) , a && this . onDisconnectCallback && this . onDisconnectCallback . call ( this . callbackContext ) } , destroy : function ( ) { this . _rawPad = void 0 ; for ( var a = 0 ; a < this . _buttonsLen ; a ++ ) this . _buttons [ a ] . destroy ( ) ; this . _buttons = [ ] , this . _buttonsLen = 0 , this . _axes = [ ] , this . _axesLen = 0 , this . onConnectCallback = null , this . onDisconnectCallback = null , this . onDownCallback = null , this . onUpCallback = null , this . onAxisCallback = null , this . onFloatCallback = null } , processAxisChange : function ( a , b ) { this . _axes [ a ] !== b && ( this . _axes [ a ] = b , this . _padParent . onAxisCallback && this . _padParent . onAxisCallback . call ( this . _padParent . callbackContext , this , a , b ) , this . onAxisCallback && this . onAxisCallback . call ( this . callbackContext , this , a , b ) ) } , processButtonDown : function ( a , b ) { this . _padParent . onDownCallback && this . _padParent . onDownCallback . call ( this . _padParent . callbackContext , a , b , this . index ) , this . onDownCallback && this . onDownCallback . call ( this . callbackContext , a , b ) , this . _buttons [ a ] && this . _buttons [ a ] . start ( null , b ) } , processButtonUp : function ( a , b ) { this . _padParent . onUpCallback && this . _padParent . onUpCallback . call ( this . _padParent . callbackContext , a , b , this . index ) , this . onUpCallback && this . onUpCallback . call ( this . callbackContext , a , b ) , this . _buttons [ a ] && this . _buttons [ a ] . stop ( null , b ) } , processButtonFloat : function ( a , b ) { this . _padParent . onFloatCallback && this . _padParent . onFloatCallback . call ( this . _padParent . callbackContext , a , b , this . index ) , this . onFloatCallback && this . onFloatCallback . call ( this . callbackContext , a , b ) , this . _buttons [ a ] && this . _buttons [ a ] . padFloat ( b ) } , axis : function ( a ) { return this . _axes [ a ] ? this . _axes [ a ] : ! 1 } , isDown : function ( a ) { return this . _buttons [ a ] ? this . _buttons [ a ] . isDown : ! 1 } , isUp : function ( a ) { return this . _buttons [ a ] ? this . _buttons [ a ] . isUp : ! 1 } , justReleased : function ( a , b ) { return this . _buttons [ a ] ? this . _buttons [ a ] . justReleased ( b ) : void 0 } , justPressed : function ( a , b ) { return this . _buttons [ a ] ? this . _buttons [ a ] . justPressed ( b ) : void 0 } , buttonValue : function ( a ) { return this . _buttons [ a ] ? this . _buttons [ a ] . value : null } , reset : function ( ) { for (
} , filter : function ( a ) { var b = Array . prototype . splice . call ( arguments , 1 ) , a = new c . Filter [ a ] ( this . game ) ; return a . init . apply ( a , b ) , a } } , c . GameObjectCreator . prototype . constructor = c . GameObjectCreator , c . Sprite = function ( a , b , d , e , f ) { b = b || 0 , d = d || 0 , e = e || null , f = f || null , this . type = c . SPRITE , this . physicsType = c . SPRITE , PIXI . Sprite . call ( this , PIXI . TextureCache . _ _default ) , c . Component . Core . init . call ( this , a , b , d , e , f ) } , c . Sprite . prototype = Object . create ( PIXI . Sprite . prototype ) , c . Sprite . prototype . constructor = c . Sprite , c . Component . Core . install . call ( c . Sprite . prototype , [ "Angle" , "Animation" , "AutoCull" , "Bounds" , "BringToTop" , "Crop" , "Delta" , "Destroy" , "FixedToCamera" , "Health" , "InCamera" , "InputEnabled" , "InWorld" , "LifeSpan" , "LoadTexture" , "Overlap" , "PhysicsBody" , "Reset" , "ScaleMinMax" , "Smoothed" ] ) , c . Sprite . prototype . preUpdatePhysics = c . Component . PhysicsBody . preUpdate , c . Sprite . prototype . preUpdateLifeSpan = c . Component . LifeSpan . preUpdate , c . Sprite . prototype . preUpdateInWorld = c . Component . InWorld . preUpdate , c . Sprite . prototype . preUpdateCore = c . Component . Core . preUpdate , c . Sprite . prototype . preUpdate = function ( ) { return this . preUpdatePhysics ( ) && this . preUpdateLifeSpan ( ) && this . preUpdateInWorld ( ) ? this . preUpdateCore ( ) : ! 1 } , c . Image = function ( a , b , d , e , f ) { b = b || 0 , d = d || 0 , e = e || null , f = f || null , this . type = c . IMAGE , PIXI . Sprite . call ( this , PIXI . TextureCache . _ _default ) , c . Component . Core . init . call ( this , a , b , d , e , f ) } , c . Image . prototype = Object . create ( PIXI . Sprite . prototype ) , c . Image . prototype . constructor = c . Image , c . Component . Core . install . call ( c . Image . prototype , [ "Angle" , "Animation" , "AutoCull" , "Bounds" , "BringToTop" , "Crop" , "Destroy" , "FixedToCamera" , "InputEnabled" , "LifeSpan" , "LoadTexture" , "Overlap" , "Reset" , "Smoothed" ] ) , c . Image . prototype . preUpdateInWorld = c . Component . InWorld . preUpdate , c . Image . prototype . preUpdateCore = c . Component . Core . preUpdate , c . Image . prototype . preUpdate = function ( ) { return this . preUpdateInWorld ( ) ? this . preUpdateCore ( ) : ! 1 } , c . TileSprite = function ( a , b , d , e , f , g , h ) { b = b || 0 , d = d || 0 , e = e || 256 , f = f || 256 , g = g || null , h = h || null , this . type = c . TILESPRITE , this . physicsType = c . SPRITE , this . _scroll = new c . Point ; var i = a . cache . getImage ( "__default" , ! 0 ) ; PIXI . TilingSprite . call ( this , new PIXI . Texture ( i . base ) , e , f ) , c . Component . Core . init . call ( this , a , b , d , g , h ) } , c . TileSprite . prototype = Object . create ( PIXI . TilingSprite . prototype ) , c . TileSprite . prototype . constructor = c . TileSprite , c . Component . Core . install . call ( c . TileSprite . prototype , [ "Angle" , "Animation" , "AutoCull" , "Bounds" , "BringToTop" , "Destroy" , "FixedToCamera" , "Health" , "InCamera" , "InputEnabled" , "InWorld" , "LifeSpan" , "LoadTexture" , "Overlap" , "PhysicsBody" , "Reset" , "Smoothed" ] ) , c . TileSprite . prototype . preUpdatePhysics = c . Component . PhysicsBody . preUpdate , c . TileSprite . prototype . preUpdateLifeSpan = c . Component . LifeSpan . preUpdate , c . TileSprite . prototype . preUpdateInWorld = c . Component . InWorld . preUpdate , c . TileSprite . prototype . preUpdateCore = c . Component . Core . preUpdate , c . TileSprite . prototype . preUpdate = function ( ) { return 0 !== this . _scroll . x && ( this . tilePosition . x += this . _scroll . x * this . game . time . physicsElapsed ) , 0 !== this . _scroll . y && ( this . tilePosition . y += this . _scroll . y * this . game . time . physicsElapsed ) , this . preUpdatePhysics ( ) && this . preUpdateLifeSpan ( ) && this . preUpdateInWorld ( ) ? this . preUpdateCore ( ) : ! 1 } , c . TileSprite . prototype . autoScroll = function ( a , b ) { this . _scroll . set ( a , b ) } , c . TileSprite . prototype . stopScroll = function ( ) { this . _scroll . set ( 0 , 0 ) } , c . TileSprite . prototype . destroy = function ( a ) { c . Component . Destroy . prototype . destroy . call ( this , a ) , PIXI . TilingSprite . prototype . destroy . call ( this ) } , c . TileSprite . prototype . reset = function ( a , b ) { return c . Component . Reset . prototype . reset . call ( this , a , b ) , this . tilePosition . x = 0 , this . tilePosition . y = 0 , this } , c . Rope = function ( a , b , d , e , f , g ) { this . points = [ ] , this . points = g , this . _hasUpdateAnimation = ! 1 , this . _updateAnimationCallback = null , b = b || 0 , d = d || 0 , e = e || null , f = f || null , this . type = c . ROPE , this . _scroll = new c . Point , PIXI . Rope . call ( this , PIXI . TextureCache . _ _default , this . points ) , c . Component . Core . init . call ( this , a , b , d , e , f ) } , c . Rope . prototype = Object . create ( PIXI . Rope . prototype ) , c . Rope . prototype . constructor = c . Rope , c . Component . Core . install . call ( c . Rope . prototype , [ "Angle" , "Animation" , "AutoCull" , "Bounds" , "BringToTop" , "Crop" , "Delta" , "Destroy" , " FixedToCame
var d = a . resolution ; b . setTransform ( c . a * d , c . b * d , c . c * d , c . d * d , c . tx * d , c . ty * d ) , PIXI . CanvasGraphics . renderGraphics ( this , b ) ; for ( var e = 0 ; e < this . children . length ; e ++ ) this . children [ e ] . _renderCanvas ( a ) ; this . _mask && a . maskManager . popMask ( a ) } } , PIXI . Graphics . prototype . getBounds = function ( a ) { if ( ! this . _currentBounds ) { if ( ! this . renderable ) return PIXI . EmptyRectangle ; this . dirty && ( this . updateLocalBounds ( ) , this . webGLDirty = ! 0 , this . cachedSpriteDirty = ! 0 , this . dirty = ! 1 ) ; var b = this . _localBounds , c = b . x , d = b . width + b . x , e = b . y , f = b . height + b . y , g = a || this . worldTransform , h = g . a , i = g . b , j = g . c , k = g . d , l = g . tx , m = g . ty , n = h * d + j * f + l , o = k * f + i * d + m , p = h * c + j * f + l , q = k * f + i * c + m , r = h * c + j * e + l , s = k * e + i * c + m , t = h * d + j * e + l , u = k * e + i * d + m , v = n , w = o , x = n , y = o ; x = x > p ? p : x , x = x > r ? r : x , x = x > t ? t : x , y = y > q ? q : y , y = y > s ? s : y , y = y > u ? u : y , v = p > v ? p : v , v = r > v ? r : v , v = t > v ? t : v , w = q > w ? q : w , w = s > w ? s : w , w = u > w ? u : w , this . _bounds . x = x , this . _bounds . width = v - x , this . _bounds . y = y , this . _bounds . height = w - y , this . _currentBounds = this . _bounds } return this . _currentBounds } , PIXI . Graphics . prototype . containsPoint = function ( a ) { this . worldTransform . applyInverse ( a , tempPoint ) ; for ( var b = this . graphicsData , c = 0 ; c < b . length ; c ++ ) { var d = b [ c ] ; if ( d . fill && d . shape && d . shape . contains ( tempPoint . x , tempPoint . y ) ) return ! 0 } return ! 1 } , PIXI . Graphics . prototype . updateLocalBounds = function ( ) { var a = 1 / 0 , b = - 1 / 0 , d = 1 / 0 , e = - 1 / 0 ; if ( this . graphicsData . length ) for ( var f , g , h , i , j , k , l = 0 ; l < this . graphicsData . length ; l ++ ) { var m = this . graphicsData [ l ] , n = m . type , o = m . lineWidth ; if ( f = m . shape , n === PIXI . Graphics . RECT || n === PIXI . Graphics . RREC ) h = f . x - o / 2 , i = f . y - o / 2 , j = f . width + o , k = f . height + o , a = a > h ? h : a , b = h + j > b ? h + j : b , d = d > i ? i : d , e = i + k > e ? i + k : e ; else if ( n === PIXI . Graphics . CIRC ) h = f . x , i = f . y , j = f . radius + o / 2 , k = f . radius + o / 2 , a = a > h - j ? h - j : a , b = h + j > b ? h + j : b , d = d > i - k ? i - k : d , e = i + k > e ? i + k : e ; else if ( n === PIXI . Graphics . ELIP ) h = f . x , i = f . y , j = f . width + o / 2 , k = f . height + o / 2 , a = a > h - j ? h - j : a , b = h + j > b ? h + j : b , d = d > i - k ? i - k : d , e = i + k > e ? i + k : e ; else { g = f . points ; for ( var p = 0 ; p < g . length ; p ++ ) g [ p ] instanceof c . Point ? ( h = g [ p ] . x , i = g [ p ] . y ) : ( h = g [ p ] , i = g [ p + 1 ] , p < g . length - 1 && p ++ ) , a = a > h - o ? h - o : a , b = h + o > b ? h + o : b , d = d > i - o ? i - o : d , e = i + o > e ? i + o : e } } else a = 0 , b = 0 , d = 0 , e = 0 ; var q = this . boundsPadding ; this . _localBounds . x = a - q , this . _localBounds . width = b - a + 2 * q , this . _localBounds . y = d - q , this . _localBounds . height = e - d + 2 * q } , PIXI . Graphics . prototype . _generateCachedSprite = function ( ) { var a = this . getLocalBounds ( ) ; if ( this . _cachedSprite ) this . _cachedSprite . buffer . resize ( a . width , a . height ) ; else { var b = new PIXI . CanvasBuffer ( a . width , a . height ) , c = PIXI . Texture . fromCanvas ( b . canvas ) ; this . _cachedSprite = new PIXI . Sprite ( c ) , this . _cachedSprite . buffer = b , this . _cachedSprite . worldTransform = this . worldTransform } this . _cachedSprite . anchor . x = - ( a . x / a . width ) , this . _cachedSprite . anchor . y = - ( a . y / a . height ) , this . _cachedSprite . buffer . context . translate ( - a . x , - a . y ) , this . worldAlpha = 1 , PIXI . CanvasGraphics . renderGraphics ( this , this . _cachedSprite . buffer . context ) , this . _cachedSprite . alpha = this . alpha } , PIXI . Graphics . prototype . updateCachedSpriteTexture = function ( ) { var a = this . _cachedSprite , b = a . texture , c = a . buffer . canvas ; b . baseTexture . width = c . width , b . baseTexture . height = c . height , b . crop . width = b . frame . width = c . width , b . crop . height = b . frame . height = c . height , a . _width = c . width , a . _height = c . height , b . baseTexture . dirty ( ) } , PIXI . Graphics . prototype . destroyCachedSprite = function ( ) { this . _cachedSprite . texture . destroy ( ! 0 ) , this . _cachedSprite = null } , PIXI . Graphics . prototype . drawShape = function ( a ) { this . currentPath && this . currentPath . shape . points . length <= 2 && this . graphicsData . pop ( ) , this . currentPath = null , a instanceof c . Polygon && ( a = a . clone ( ) , a . flatten ( ) ) ; var b = new PIXI . GraphicsData ( this . lineWidth , this . lineColor , this . lineAlpha , this . fillColor , this . fillAlpha , this . filling , a ) ; return this . graphicsData . push ( b ) , b . type === PIXI . Graphics . POLY && ( b . shape . closed = this . filling , this . currentPath = b ) , this . dirty = ! 0 , b } , Object . defineProperty ( PIXI . Graphics . prototype , "cacheAsBitmap" , { get : function ( ) { return this . _cacheAsBitmap } , set : function ( a ) { this . _cacheAsBitmap = a , this . _cacheAsBitmap ? this . _generateCachedSprite ( ) : ( this . destroyCachedSprite ( ) , this . dirty = ! 0 ) } } ) , PIXI . GraphicsData = function ( a , b , c , d , e , f , g ) { this . lineWidth = a , this . lineColor = b , this . lineAlpha = c , this . _lineTint = b , this . fillColor = d , this . fillAlpha = e , this . _fillTint = d , this . fill = f , this . shape = g , this . type = g .
this . buildRetroFontText ( ) } } , Object . defineProperty ( c . RetroFont . prototype , "text" , { get : function ( ) { return this . _text } , set : function ( a ) { var b ; b = this . autoUpperCase ? a . toUpperCase ( ) : a , b !== this . _text && ( this . _text = b , this . removeUnsupportedCharacters ( this . multiLine ) , this . buildRetroFontText ( ) ) } } ) , Object . defineProperty ( c . RetroFont . prototype , "smoothed" , { get : function ( ) { return this . stamp . smoothed } , set : function ( a ) { this . stamp . smoothed = a , this . buildRetroFontText ( ) } } ) , c . Rope = function ( a , b , d , e , f , g ) { this . points = [ ] , this . points = g , this . _hasUpdateAnimation = ! 1 , this . _updateAnimationCallback = null , b = b || 0 , d = d || 0 , e = e || null , f = f || null , this . type = c . ROPE , this . _scroll = new c . Point , PIXI . Rope . call ( this , PIXI . TextureCache . _ _default , this . points ) , c . Component . Core . init . call ( this , a , b , d , e , f ) } , c . Rope . prototype = Object . create ( PIXI . Rope . prototype ) , c . Rope . prototype . constructor = c . Rope , c . Component . Core . install . call ( c . Rope . prototype , [ "Angle" , "Animation" , "AutoCull" , "Bounds" , "BringToTop" , "Crop" , "Delta" , "Destroy" , "FixedToCamera" , "InputEnabled" , "InWorld" , "LifeSpan" , "LoadTexture" , "Overlap" , "PhysicsBody" , "Reset" , "ScaleMinMax" , "Smoothed" ] ) , c . Rope . prototype . preUpdatePhysics = c . Component . PhysicsBody . preUpdate , c . Rope . prototype . preUpdateLifeSpan = c . Component . LifeSpan . preUpdate , c . Rope . prototype . preUpdateInWorld = c . Component . InWorld . preUpdate , c . Rope . prototype . preUpdateCore = c . Component . Core . preUpdate , c . Rope . prototype . preUpdate = function ( ) { return 0 !== this . _scroll . x && ( this . tilePosition . x += this . _scroll . x * this . game . time . physicsElapsed ) , 0 !== this . _scroll . y && ( this . tilePosition . y += this . _scroll . y * this . game . time . physicsElapsed ) , this . preUpdatePhysics ( ) && this . preUpdateLifeSpan ( ) && this . preUpdateInWorld ( ) ? this . preUpdateCore ( ) : ! 1 } , c . Rope . prototype . update = function ( ) { this . _hasUpdateAnimation && this . updateAnimation . call ( this ) } , c . Rope . prototype . reset = function ( a , b ) { return c . Component . Reset . prototype . reset . call ( this , a , b ) , this . tilePosition . x = 0 , this . tilePosition . y = 0 , this } , Object . defineProperty ( c . 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 ( c . Rope . prototype , "segments" , { get : function ( ) { for ( var a , b , d , e , f , g , h , i , j = [ ] , k = 0 ; k < this . points . length ; k ++ ) a = 4 * k , b = this . vertices [ a ] * this . scale . x , d = this . vertices [ a + 1 ] * this . scale . y , e = this . vertices [ a + 4 ] * this . scale . x , f = this . vertices [ a + 3 ] * this . scale . y , g = c . Math . difference ( b , e ) , h = c . Math . difference ( d , f ) , b += this . world . x , d += this . world . y , i = new c . Rectangle ( b , d , g , h ) , j . push ( i ) ; return j } } ) , c . TileSprite = function ( a , b , d , e , f , g , h ) { b = b || 0 , d = d || 0 , e = e || 256 , f = f || 256 , g = g || null , h = h || null , this . type = c . TILESPRITE , this . physicsType = c . SPRITE , this . _scroll = new c . Point ; var i = a . cache . getImage ( "__default" , ! 0 ) ; PIXI . TilingSprite . call ( this , new PIXI . Texture ( i . base ) , e , f ) , c . Component . Core . init . call ( this , a , b , d , g , h ) } , c . TileSprite . prototype = Object . create ( PIXI . TilingSprite . prototype ) , c . TileSprite . prototype . constructor = c . TileSprite , c . Component . Core . install . call ( c . TileSprite . prototype , [ "Angle" , "Animation" , "AutoCull" , "Bounds" , "BringToTop" , "Destroy" , "FixedToCamera" , "Health" , "InCamera" , "InputEnabled" , "InWorld" , "LifeSpan" , "LoadTexture" , "Overlap" , "PhysicsBody" , "Reset" , "Smoothed" ] ) , c . TileSprite . prototype . preUpdatePhysics = c . Component . PhysicsBody . preUpdate , c . TileSprite . prototype . preUpdateLifeSpan = c . Component . LifeSpan . preUpdate , c . TileSprite . prototype . preUpdateInWorld = c . Component . InWorld . preUpdate , c . TileSprite . prototype . preUpdateCore = c . Component . Core . preUpdate , c . TileSprite . prototype . preUpdate = function ( ) { return 0 !== this . _scroll . x && ( this . tilePosition . x += this . _scroll . x * this . game . time . physicsElapsed ) , 0 !== this . _scroll . y && ( this . tilePosition . y += this . _scroll . y * this . game . time . physicsElapsed ) , this . preUpdatePhysics ( ) && this . preUpdateLifeSpan ( ) && this . preUpdateInWorld ( ) ? this . preUpdateCore ( ) : ! 1 } , c . TileSprite . prototype . autoScroll = function ( a , b ) { this . _scroll . set ( a , b ) } , c . TileSprite . prototype . stopScroll = function ( ) { this . _scroll . set ( 0 , 0 ) } , c . TileSprite . prototype . destroy = function ( a ) { c . Component . Destroy . prototype . destroy . call ( this , a ) , PIXI . TilingSprite . prototype . dest
} , c . TweenManager . prototype = { getAll : function ( ) { return this . _tweens } , removeAll : function ( ) { for ( var a = 0 ; a < this . _tweens . length ; a ++ ) this . _tweens [ a ] . pendingDelete = ! 0 ; this . _add = [ ] } , removeFrom : function ( a , b ) { void 0 === b && ( b = ! 0 ) ; var d , e ; if ( Array . isArray ( a ) ) for ( d = 0 , e = a . length ; e > d ; d ++ ) this . removeFrom ( a [ d ] ) ; else if ( a . type === c . GROUP && b ) for ( var d = 0 , e = a . children . length ; e > d ; d ++ ) this . removeFrom ( a . children [ d ] ) ; else { for ( d = 0 , e = this . _tweens . length ; e > d ; d ++ ) a === this . _tweens [ d ] . target && this . remove ( this . _tweens [ d ] ) ; for ( d = 0 , e = this . _add . length ; e > d ; d ++ ) a === this . _add [ d ] . target && this . remove ( this . _add [ d ] ) } } , add : function ( a ) { a . _manager = this , this . _add . push ( a ) } , create : function ( a ) { return new c . Tween ( a , this . game , this ) } , remove : function ( a ) { var b = this . _tweens . indexOf ( a ) ; - 1 !== b ? this . _tweens [ b ] . pendingDelete = ! 0 : ( b = this . _add . indexOf ( a ) , - 1 !== b && ( this . _add [ b ] . pendingDelete = ! 0 ) ) } , update : function ( ) { var a = this . _add . length , b = this . _tweens . length ; if ( 0 === b && 0 === a ) return ! 1 ; for ( var c = 0 ; b > c ; ) this . _tweens [ c ] . update ( this . game . time . time ) ? c ++ : ( this . _tweens . splice ( c , 1 ) , b -- ) ; return a > 0 && ( this . _tweens = this . _tweens . concat ( this . _add ) , this . _add . length = 0 ) , ! 0 } , isTweening : function ( a ) { return this . _tweens . some ( function ( b ) { return b . target === a } ) } , _pauseAll : function ( ) { for ( var a = this . _tweens . length - 1 ; a >= 0 ; a -- ) this . _tweens [ a ] . _pause ( ) } , _resumeAll : function ( ) { for ( var a = this . _tweens . length - 1 ; a >= 0 ; a -- ) this . _tweens [ a ] . _resume ( ) } , pauseAll : function ( ) { for ( var a = this . _tweens . length - 1 ; a >= 0 ; a -- ) this . _tweens [ a ] . pause ( ) } , resumeAll : function ( ) { for ( var a = this . _tweens . length - 1 ; a >= 0 ; a -- ) this . _tweens [ a ] . resume ( ! 0 ) } } , c . TweenManager . prototype . constructor = c . TweenManager , c . Tween = function ( a , b , d ) { this . game = b , this . target = a , this . manager = d , this . timeline = [ ] , this . reverse = ! 1 , this . timeScale = 1 , this . repeatCounter = 0 , this . pendingDelete = ! 1 , this . onStart = new c . Signal , this . onLoop = new c . Signal , this . onRepeat = new c . Signal , this . onChildComplete = new c . Signal , this . onComplete = new c . Signal , this . isRunning = ! 1 , this . current = 0 , this . properties = { } , this . chainedTween = null , this . isPaused = ! 1 , this . _onUpdateCallback = null , this . _onUpdateCallbackContext = null , this . _pausedTime = 0 , this . _codePaused = ! 1 , this . _hasStarted = ! 1 } , c . Tween . prototype = { to : function ( a , b , d , e , f , g , h ) { return ( void 0 === b || 0 >= b ) && ( b = 1e3 ) , ( void 0 === d || null === d ) && ( d = c . Easing . Default ) , void 0 === e && ( e = ! 1 ) , void 0 === f && ( f = 0 ) , void 0 === g && ( g = 0 ) , void 0 === h && ( h = ! 1 ) , "string" == typeof d && this . manager . easeMap [ d ] && ( d = this . manager . easeMap [ d ] ) , this . isRunning ? ( console . warn ( "Phaser.Tween.to cannot be called after Tween.start" ) , this ) : ( this . timeline . push ( new c . TweenData ( this ) . to ( a , b , d , f , g , h ) ) , e && this . start ( ) , this ) } , from : function ( a , b , d , e , f , g , h ) { return void 0 === b && ( b = 1e3 ) , ( void 0 === d || null === d ) && ( d = c . Easing . Default ) , void 0 === e && ( e = ! 1 ) , void 0 === f && ( f = 0 ) , void 0 === g && ( g = 0 ) , void 0 === h && ( h = ! 1 ) , "string" == typeof d && this . manager . easeMap [ d ] && ( d = this . manager . easeMap [ d ] ) , this . isRunning ? ( console . warn ( "Phaser.Tween.from cannot be called after Tween.start" ) , this ) : ( this . timeline . push ( new c . TweenData ( this ) . from ( a , b , d , f , g , h ) ) , e && this . start ( ) , this ) } , start : function ( a ) { if ( void 0 === a && ( a = 0 ) , null === this . game || null === this . target || 0 === this . timeline . length || this . isRunning ) return this ; for ( var b = 0 ; b < this . timeline . length ; b ++ ) for ( var c in this . timeline [ b ] . vEnd ) this . properties [ c ] = this . target [ c ] || 0 , Array . isArray ( this . properties [ c ] ) || ( this . properties [ c ] *= 1 ) ; for ( var b = 0 ; b < this . timeline . length ; b ++ ) this . timeline [ b ] . loadValues ( ) ; return this . manager . add ( this ) , this . isRunning = ! 0 , ( 0 > a || a > this . timeline . length - 1 ) && ( a = 0 ) , this . current = a , this . timeline [ this . current ] . start ( ) , this } , stop : function ( a ) { return void 0 === a && ( a = ! 1 ) , this . isRunning = ! 1 , this . _onUpdateCallback = null , this . _onUpdateCallbackContext = null , a && ( this . onComplete . dispatch ( this . target , this ) , this . chainedTween && this . chainedTween . start ( ) ) , this . manager . remove ( this ) , this } , updateTweenData : function ( a , b , c ) { if ( 0 === this . timeline . length ) return this ; if ( void 0 === c && ( c = 0 ) , - 1 === c ) for ( var d = 0 ; d < this . timeline . length ; d ++ ) this . timeline [ d ] [ a ] = b ; else this . timeline [ c ] [ a ] = b ; return this } , delay : function ( a , b ) { return this . updateTweenData ( "delay" , a , b ) } , repeat : function ( a , b , c ) { return void 0 === b && ( b = 0 ) , this . updateTweenData ( "repeatCounter" , a , c ) , t
} , c . Frame . prototype = { resize : function ( a , b ) { this . width = a , this . height = b , this . centerX = Math . floor ( a / 2 ) , this . centerY = Math . floor ( b / 2 ) , this . distance = c . Math . distance ( 0 , 0 , a , b ) , this . sourceSizeW = a , this . sourceSizeH = b , this . right = this . x + a , this . bottom = this . y + b } , setTrim : function ( a , b , c , d , e , f , g ) { this . trimmed = a , a && ( this . sourceSizeW = b , this . sourceSizeH = c , this . centerX = Math . floor ( b / 2 ) , this . centerY = Math . floor ( c / 2 ) , this . spriteSourceSizeX = d , this . spriteSourceSizeY = e , this . spriteSourceSizeW = f , this . spriteSourceSizeH = g ) } , clone : function ( ) { var a = new c . Frame ( this . index , this . x , this . y , this . width , this . height , this . name ) ; for ( var b in this ) this . hasOwnProperty ( b ) && ( a [ b ] = this [ b ] ) ; return a } , getRect : function ( a ) { return void 0 === a ? a = new c . Rectangle ( this . x , this . y , this . width , this . height ) : a . setTo ( this . x , this . y , this . width , this . height ) , a } } , c . Frame . prototype . constructor = c . Frame , c . FrameData = function ( ) { this . _frames = [ ] , this . _frameNames = [ ] } , c . FrameData . prototype = { addFrame : function ( a ) { return a . index = this . _frames . length , this . _frames . push ( a ) , "" !== a . name && ( this . _frameNames [ a . name ] = a . index ) , a } , getFrame : function ( a ) { return a >= this . _frames . length && ( a = 0 ) , this . _frames [ a ] } , getFrameByName : function ( a ) { return "number" == typeof this . _frameNames [ a ] ? this . _frames [ this . _frameNames [ a ] ] : null } , checkFrameName : function ( a ) { return null == this . _frameNames [ a ] ? ! 1 : ! 0 } , clone : function ( ) { for ( var a = new c . FrameData , b = 0 ; b < this . _frames . length ; b ++ ) a . _frames . push ( this . _frames [ b ] . clone ( ) ) ; for ( var d in this . _frameNames ) this . _frameNames . hasOwnProperty ( d ) && a . _frameNames . push ( this . _frameNames [ d ] ) ; return a } , getFrameRange : function ( a , b , c ) { void 0 === c && ( c = [ ] ) ; for ( var d = a ; b >= d ; d ++ ) c . push ( this . _frames [ d ] ) ; return c } , getFrames : function ( a , b , c ) { if ( void 0 === b && ( b = ! 0 ) , void 0 === c && ( c = [ ] ) , void 0 === a || 0 === a . length ) for ( var d = 0 ; d < this . _frames . length ; d ++ ) c . push ( this . _frames [ d ] ) ; else for ( var d = 0 ; d < a . length ; d ++ ) c . push ( b ? this . getFrame ( a [ d ] ) : this . getFrameByName ( a [ d ] ) ) ; return c } , getFrameIndexes : function ( a , b , c ) { if ( void 0 === b && ( b = ! 0 ) , void 0 === c && ( c = [ ] ) , void 0 === a || 0 === a . length ) for ( var d = 0 ; d < this . _frames . length ; d ++ ) c . push ( this . _frames [ d ] . index ) ; else for ( var d = 0 ; d < a . length ; d ++ ) b ? c . push ( this . _frames [ a [ d ] ] . index ) : this . getFrameByName ( a [ d ] ) && c . push ( this . getFrameByName ( a [ d ] ) . index ) ; return c } } , c . FrameData . prototype . constructor = c . FrameData , Object . defineProperty ( c . FrameData . prototype , "total" , { get : function ( ) { return this . _frames . length } } ) , c . AnimationParser = { spriteSheet : function ( a , b , d , e , f , g , h ) { var i = b ; if ( "string" == typeof b && ( i = a . cache . getImage ( b ) ) , null === i ) return null ; var j = i . width , k = i . height ; 0 >= d && ( d = Math . floor ( - j / Math . min ( - 1 , d ) ) ) , 0 >= e && ( e = Math . floor ( - k / Math . min ( - 1 , e ) ) ) ; var l = Math . floor ( ( j - g ) / ( d + h ) ) , m = Math . floor ( ( k - g ) / ( e + h ) ) , n = l * m ; if ( - 1 !== f && ( n = f ) , 0 === j || 0 === k || d > j || e > k || 0 === n ) return console . warn ( "Phaser.AnimationParser.spriteSheet: '" + b + "'s width/height zero or width/height < given frameWidth/frameHeight" ) , null ; for ( var o = new c . FrameData , p = g , q = g , r = 0 ; n > r ; r ++ ) o . addFrame ( new c . Frame ( r , p , q , d , e , "" ) ) , p += d + h , p + d > j && ( p = g , q += e + h ) ; return o } , JSONData : function ( a , b ) { if ( ! b . frames ) return console . warn ( "Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array" ) , void console . log ( b ) ; for ( var d , e = new c . FrameData , f = b . frames , g = 0 ; g < f . length ; g ++ ) d = e . addFrame ( new c . Frame ( g , f [ g ] . frame . x , f [ g ] . frame . y , f [ g ] . frame . w , f [ g ] . frame . h , f [ g ] . filename ) ) , f [ g ] . trimmed && d . setTrim ( f [ g ] . trimmed , f [ g ] . sourceSize . w , f [ g ] . sourceSize . h , f [ g ] . spriteSourceSize . x , f [ g ] . spriteSourceSize . y , f [ g ] . spriteSourceSize . w , f [ g ] . spriteSourceSize . h ) ; return e } , JSONDataHash : function ( a , b ) { if ( ! b . frames ) return console . warn ( "Phaser.AnimationParser.JSONDataHash: Invalid Texture Atlas JSON given, missing 'frames' object" ) , void console . log ( b ) ; var d , e = new c . FrameData , f = b . frames , g = 0 ; for ( var h in f ) d = e . addFrame ( new c . Frame ( g , f [ h ] . frame . x , f [ h ] . frame . y , f [ h ] . frame . w , f [ h ] . frame . h , h ) ) , f [ h ] . trimmed && d . setTrim ( f [ h ] . trimmed , f [ h ] . sourceSize . w , f [ h ] . sourceSize . h , f [ h ] . spriteSourceSize . x , f [ h ] . spriteSourceSize . y , f [ h ] . spriteSourceSize . w , f [ h ] . spriteSourceSize . h ) , g ++ ; return e } , XMLData : function ( a , b ) { if ( ! b . getElementsByTagName ( "TextureAtlas" ) ) return void console . warn ( " Phaser . AnimationParser . XMLData : Invalid Texture Atlas XML
} catch ( b ) { g . asyncComplete ( a , b . message || "Exception" ) } } , a . requestObject = f , a . requestUrl = b , setTimeout ( function ( ) { f . send ( ) } , 0 ) } , getVideoURL : function ( a ) { for ( var b = 0 ; b < a . length ; b ++ ) { var c , d = a [ b ] ; if ( d . uri ) d = d . uri , c = d . type ; else { if ( 0 === d . indexOf ( "blob:" ) || 0 === d . indexOf ( "data:" ) ) return d ; d . indexOf ( "?" ) >= 0 && ( d = d . substr ( 0 , d . indexOf ( "?" ) ) ) ; var e = d . substr ( ( Math . max ( 0 , d . lastIndexOf ( "." ) ) || 1 / 0 ) + 1 ) ; c = e . toLowerCase ( ) } if ( this . game . device . canPlayVideo ( c ) ) return a [ b ] } return null } , getAudioURL : function ( a ) { if ( this . game . sound . noAudio ) return null ; for ( var b = 0 ; b < a . length ; b ++ ) { var c , d = a [ b ] ; if ( d . uri ) d = d . uri , c = d . type ; else { if ( 0 === d . indexOf ( "blob:" ) || 0 === d . indexOf ( "data:" ) ) return d ; d . indexOf ( "?" ) >= 0 && ( d = d . substr ( 0 , d . indexOf ( "?" ) ) ) ; var e = d . substr ( ( Math . max ( 0 , d . lastIndexOf ( "." ) ) || 1 / 0 ) + 1 ) ; c = e . toLowerCase ( ) } if ( this . game . device . canPlayAudio ( c ) ) return a [ b ] } return null } , fileError : function ( a , b , c ) { var d = a . requestUrl || this . transformUrl ( a . url , a ) , e = "error loading asset from URL " + d ; ! c && b && ( c = b . status ) , c && ( e = e + " (" + c + ")" ) , this . asyncComplete ( a , e ) } , fileComplete : function ( a , b ) { var d = ! 0 ; switch ( a . type ) { case "packfile" : var e = JSON . parse ( b . responseText ) ; a . data = e || { } ; break ; case "image" : this . cache . addImage ( a . key , a . url , a . data ) ; break ; case "spritesheet" : this . cache . addSpriteSheet ( a . key , a . url , a . data , a . frameWidth , a . frameHeight , a . frameMax , a . margin , a . spacing ) ; break ; case "textureatlas" : if ( null == a . atlasURL ) this . cache . addTextureAtlas ( a . key , a . url , a . data , a . atlasData , a . format ) ; else if ( d = ! 1 , a . format == c . Loader . TEXTURE _ATLAS _JSON _ARRAY || a . format == c . Loader . TEXTURE _ATLAS _JSON _HASH ) this . xhrLoad ( a , this . transformUrl ( a . atlasURL , a ) , "text" , this . jsonLoadComplete ) ; else { if ( a . format != c . Loader . TEXTURE _ATLAS _XML _STARLING ) throw new Error ( "Phaser.Loader. Invalid Texture Atlas format: " + a . format ) ; this . xhrLoad ( a , this . transformUrl ( a . atlasURL , a ) , "text" , this . xmlLoadComplete ) } break ; case "bitmapfont" : a . atlasURL ? ( d = ! 1 , this . xhrLoad ( a , this . transformUrl ( a . atlasURL , a ) , "text" , function ( a , b ) { var c ; try { c = JSON . parse ( b . responseText ) } catch ( d ) { } c ? ( a . atlasType = "json" , this . jsonLoadComplete ( a , b ) ) : ( a . atlasType = "xml" , this . xmlLoadComplete ( a , b ) ) } ) ) : this . cache . addBitmapFont ( a . key , a . url , a . data , a . atlasData , a . atlasType , a . xSpacing , a . ySpacing ) ; break ; case "video" : if ( a . asBlob ) try { a . data = new Blob ( [ new Uint8Array ( b . response ) ] ) } catch ( f ) { throw new Error ( "Phaser.Loader. Unable to parse video file as Blob: " + a . key ) } this . cache . addVideo ( a . key , a . url , a . data , a . asBlob ) ; break ; case "audio" : this . game . sound . usingWebAudio ? ( a . data = b . response , this . cache . addSound ( a . key , a . url , a . data , ! 0 , ! 1 ) , a . autoDecode && this . game . sound . decode ( a . key ) ) : this . cache . addSound ( a . key , a . url , a . data , ! 1 , ! 0 ) ; break ; case "text" : a . data = b . responseText , this . cache . addText ( a . key , a . url , a . data ) ; break ; case "shader" : a . data = b . responseText , this . cache . addShader ( a . key , a . url , a . data ) ; break ; case "physics" : var e = JSON . parse ( b . responseText ) ; this . cache . addPhysicsData ( a . key , a . url , e , a . format ) ; break ; case "script" : a . data = document . createElement ( "script" ) , a . data . language = "javascript" , a . data . type = "text/javascript" , a . data . defer = ! 1 , a . data . text = b . responseText , document . head . appendChild ( a . data ) , a . callback && ( a . data = a . callback . call ( a . callbackContext , a . key , b . responseText ) ) ; break ; case "binary" : a . data = a . callback ? a . callback . call ( a . callbackContext , a . key , b . response ) : b . response , this . cache . addBinary ( a . key , a . data ) } d && this . asyncComplete ( a ) } , jsonLoadComplete : function ( a , b ) { var c = JSON . parse ( b . responseText ) ; "tilemap" === a . type ? this . cache . addTilemap ( a . key , a . url , c , a . format ) : "bitmapfont" === a . type ? this . cache . addBitmapFont ( a . key , a . url , a . data , c , a . atlasType , a . xSpacing , a . ySpacing ) : "json" === a . type ? this . cache . addJSON ( a . key , a . url , c ) : this . cache . addTextureAtlas ( a . key , a . url , a . data , c , a . format ) , this . asyncComplete ( a ) } , csvLoadComplete : function ( a , b ) { var c = b . responseText ; this . cache . addTilemap ( a . key , a . url , c , a . format ) , this . asyncComplete ( a ) } , xmlLoadComplete : function ( a , b ) { var c = b . responseText , d = this . parseXml ( c ) ; if ( ! d ) { var e = b . responseType || b . contentType ; return console . warn ( "Phaser.Loader - " + a . key + ": invalid XML (" + e + ")" ) , void this . asyncComplete ( a , "invalid XML" ) } "bitmapfont" === a . type ? this . cache . addBitmapFont ( a . key , a . url , a . data , d , a . atlasType , a . xSpacing , a . ySpacing ) : "textureatlas" =
} , bodyInfo : function ( a , b , d , e ) { a . body && ( this . start ( b , d , e , 210 ) , a . body . type === c . Physics . ARCADE ? c . Physics . Arcade . Body . renderBodyInfo ( this , a . body ) : a . body . type === c . Physics . BOX2D && this . game . physics . box2d . renderBodyInfo ( this , a . body ) , this . stop ( ) ) } , box2dWorld : function ( ) { this . start ( ) , this . context . translate ( - this . game . camera . view . x , - this . game . camera . view . y , 0 ) , this . game . physics . box2d . renderDebugDraw ( this . context ) , this . stop ( ) } , box2dBody : function ( a , b ) { this . start ( ) , c . Physics . Box2D . renderBody ( this . context , a , b ) , this . stop ( ) } } , c . Utils . Debug . prototype . constructor = c . Utils . Debug , c . ArraySet = function ( a ) { this . position = 0 , this . list = a || [ ] } , c . ArraySet . prototype = { add : function ( a ) { return this . exists ( a ) || this . list . push ( a ) , a } , getIndex : function ( a ) { return this . list . indexOf ( a ) } , getByKey : function ( a , b ) { for ( var c = this . list . length ; c -- ; ) if ( this . list [ c ] [ a ] === b ) return this . list [ c ] ; return null } , exists : function ( a ) { return this . list . indexOf ( a ) > - 1 } , reset : function ( ) { this . list . length = 0 } , remove : function ( a ) { var b = this . list . indexOf ( a ) ; return b > - 1 ? ( this . list . splice ( b , 1 ) , a ) : void 0 } , setAll : function ( a , b ) { for ( var c = this . list . length ; c -- ; ) this . list [ c ] && ( 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 ) } , removeAll : function ( a ) { void 0 === a && ( a = ! 1 ) ; for ( var b = this . list . length ; b -- ; ) if ( this . list [ b ] ) { var c = this . remove ( this . list [ b ] ) ; a && c . destroy ( ) } this . position = 0 , this . list = [ ] } } , Object . defineProperty ( c . ArraySet . prototype , "total" , { get : function ( ) { return this . list . length } } ) , Object . defineProperty ( c . ArraySet . prototype , "first" , { get : function ( ) { return this . position = 0 , this . list . length > 0 ? this . list [ 0 ] : null } } ) , Object . defineProperty ( c . ArraySet . prototype , "next" , { get : function ( ) { return this . position < this . list . length ? ( this . position ++ , this . list [ this . position ] ) : null } } ) , c . ArraySet . prototype . constructor = c . ArraySet , c . ArrayUtils = { getRandomItem : function ( a , b , c ) { if ( null == a ) return null ; void 0 === b && ( b = 0 ) , void 0 === c && ( c = a . length ) ; var d = b + Math . floor ( Math . random ( ) * c ) ; return void 0 === a [ d ] ? null : a [ d ] } , removeRandomItem : function ( a , b , c ) { if ( null == a ) return null ; void 0 === b && ( b = 0 ) , void 0 === c && ( c = a . length ) ; var d = b + Math . floor ( Math . random ( ) * c ) ; if ( d < a . length ) { var e = a . splice ( d , 1 ) ; return void 0 === e [ 0 ] ? null : e [ 0 ] } return null } , shuffle : function ( a ) { for ( var b = a . length - 1 ; b > 0 ; b -- ) { var c = Math . floor ( Math . random ( ) * ( b + 1 ) ) , d = a [ b ] ; a [ b ] = a [ c ] , a [ c ] = d } return a } , transposeMatrix : function ( a ) { for ( var b = a . length , c = a [ 0 ] . length , d = new Array ( c ) , e = 0 ; c > e ; e ++ ) { d [ e ] = new Array ( b ) ; for ( var f = b - 1 ; f > - 1 ; f -- ) d [ e ] [ f ] = a [ f ] [ e ] } return d } , rotateMatrix : function ( a , b ) { if ( "string" != typeof b && ( b = ( b % 360 + 360 ) % 360 ) , 90 === b || - 270 === b || "rotateLeft" === b ) a = c . ArrayUtils . transposeMatrix ( a ) , a = a . reverse ( ) ; else if ( - 90 === b || 270 === b || "rotateRight" === b ) a = a . reverse ( ) , a = c . ArrayUtils . transposeMatrix ( a ) ; else if ( 180 === Math . abs ( b ) || "rotate180" === b ) { for ( var d = 0 ; d < a . length ; d ++ ) a [ d ] . reverse ( ) ; a = a . reverse ( ) } return a } , findClosest : function ( a , b ) { if ( ! b . length ) return 0 / 0 ; if ( 1 === b . length || a < b [ 0 ] ) return b [ 0 ] ; for ( var c = 1 ; b [ c ] < a ; ) c ++ ; var d = b [ c - 1 ] , e = c < b . length ? b [ c ] : Number . POSITIVE _INFINITY ; return a - d >= e - a ? e : d } , rotate : function ( a ) { var b = a . shift ( ) ; return a . push ( b ) , b } , numberArray : function ( a , b ) { for ( var c = [ ] , d = a ; b >= d ; d ++ ) c . push ( d ) ; return c } , numberArrayStep : function ( a , b , d ) { a = + a || 0 ; var e = typeof b ; "number" !== e && "string" !== e || ! d || d [ b ] !== a || ( b = d = null ) , d = null == d ? 1 : + d || 0 , null === b ? ( b = a , a = 0 ) : b = + b || 0 ; for ( var f = - 1 , g = Math . max ( c . Math . roundAwayFromZero ( ( b - a ) / ( d || 1 ) ) , 0 ) , h = new Array ( g ) ; ++ f < g ; ) h [ f ] = a , a += d ; return h } } , c . Color = { packPixel : function ( a , b , d , e ) { return c . Device . LITTLE _ENDIAN ? ( e << 24 | d << 16 | b << 8 | a ) >>> 0 : ( a << 24 | b << 16 | d << 8 | e ) >>> 0 } , unpackPixel : function ( a , b , d , e ) { return ( void 0 === b || null === b ) && ( b = c . Color . createColor ( ) ) , ( void 0 === d || null === d ) && ( d = ! 1 ) , ( void 0 === e || null === e ) && ( e = ! 1 ) , c . Device . LITTLE _ENDIAN ? ( b . a = ( 4278190080 & a ) >>> 24 , b . b = ( 16711680 & a ) >>> 16 , b . g = ( 65280 & a ) >>> 8 , b . r = 255 & a ) : ( b . r = ( 4278190080 & a ) >>> 24 , b . g = ( 16711680 & a ) >>> 16 , b . b = ( 65280 & a ) >>> 8 , b . a = 255 & a ) , b . color = a , b . rgba = "rgba(" + b . r + "," + b . g + "," + b . b + "," + b . a / 255 + ")" , d && c . Color . RGBtoHSL ( b . r , b . g , b . b , b ) , e && c . Color . RGBtoHSV ( b . r , b . g , b . b , b ) , b } , fromRGBA : function ( a , b ) { return b |
2015-07-22 14:31:30 +00:00
} , setSize : function ( a , b , c , d ) { void 0 === c && ( c = this . offset . x ) , void 0 === d && ( d = this . offset . y ) , this . sourceWidth = a , this . sourceHeight = b , this . width = this . sourceWidth * this . _sx , this . height = this . sourceHeight * this . _sy , this . halfWidth = Math . floor ( this . width / 2 ) , this . halfHeight = Math . floor ( this . height / 2 ) , this . offset . setTo ( c , d ) , this . center . setTo ( this . position . x + this . halfWidth , this . position . y + this . halfHeight ) } , reset : function ( a , b ) { this . velocity . set ( 0 ) , this . acceleration . set ( 0 ) , this . speed = 0 , this . angularVelocity = 0 , this . angularAcceleration = 0 , this . position . x = a - this . sprite . anchor . x * this . width + this . offset . x , this . position . y = b - this . sprite . anchor . y * this . height + this . offset . y , this . prev . x = this . position . x , this . prev . y = this . position . y , this . rotation = this . sprite . angle , this . preRotation = this . rotation , this . _sx = this . sprite . scale . x , this . _sy = this . sprite . scale . y , this . center . setTo ( this . position . x + this . halfWidth , this . position . y + this . halfHeight ) } , hitTest : function ( a , b ) { return c . Rectangle . contains ( this , a , b ) } , onFloor : function ( ) { return this . blocked . down } , onWall : function ( ) { return this . blocked . left || this . blocked . right } , deltaAbsX : function ( ) { return this . deltaX ( ) > 0 ? this . deltaX ( ) : - this . deltaX ( ) } , deltaAbsY : function ( ) { return this . deltaY ( ) > 0 ? this . deltaY ( ) : - this . deltaY ( ) } , deltaX : function ( ) { return this . position . x - this . prev . x } , deltaY : function ( ) { return this . position . y - this . prev . y } , deltaZ : function ( ) { return this . rotation - this . preRotation } } , Object . defineProperty ( c . Physics . Arcade . Body . prototype , "bottom" , { get : function ( ) { return this . position . y + this . height } } ) , Object . defineProperty ( c . Physics . Arcade . Body . prototype , "right" , { get : function ( ) { return this . position . x + this . width } } ) , Object . defineProperty ( c . Physics . Arcade . Body . prototype , "x" , { get : function ( ) { return this . position . x } , set : function ( a ) { this . position . x = a } } ) , Object . defineProperty ( c . Physics . Arcade . Body . prototype , "y" , { get : function ( ) { return this . position . y } , set : function ( a ) { this . position . y = a } } ) , c . Physics . Arcade . Body . render = function ( a , b , c , d ) { void 0 === d && ( d = ! 0 ) , c = c || "rgba(0,255,0,0.4)" , d ? ( a . fillStyle = c , a . fillRect ( b . position . x - b . game . camera . x , b . position . y - b . game . camera . y , b . width , b . height ) ) : ( a . strokeStyle = c , a . strokeRect ( b . position . x - b . game . camera . x , b . position . y - b . game . camera . y , b . width , b . height ) ) } , c . Physics . Arcade . Body . renderBodyInfo = function ( a , b ) { a . line ( "x: " + b . x . toFixed ( 2 ) , "y: " + b . y . toFixed ( 2 ) , "width: " + b . width , "height: " + b . height ) , a . line ( "velocity x: " + b . velocity . x . toFixed ( 2 ) , "y: " + b . velocity . y . toFixed ( 2 ) , "deltaX: " + b . _dx . toFixed ( 2 ) , "deltaY: " + b . _dy . toFixed ( 2 ) ) , a . line ( "acceleration x: " + b . acceleration . x . toFixed ( 2 ) , "y: " + b . acceleration . y . toFixed ( 2 ) , "speed: " + b . speed . toFixed ( 2 ) , "angle: " + b . angle . toFixed ( 2 ) ) , a . line ( "gravity x: " + b . gravity . x , "y: " + b . gravity . y , "bounce x: " + b . bounce . x . toFixed ( 2 ) , "y: " + b . bounce . y . toFixed ( 2 ) ) , a . line ( "touching left: " + b . touching . left , "right: " + b . touching . right , "up: " + b . touching . up , "down: " + b . touching . down ) , a . line ( "blocked left: " + b . blocked . left , "right: " + b . blocked . right , "up: " + b . blocked . up , "down: " + b . blocked . down ) } , c . Physics . Arcade . Body . prototype . constructor = c . Physics . Arcade . Body , c . Physics . Arcade . TilemapCollision = function ( ) { } , c . Physics . Arcade . TilemapCollision . prototype = { TILE _BIAS : 16 , collideSpriteVsTilemapLayer : function ( a , b , c , d , e , f ) { if ( a . body ) { var g = b . getTiles ( a . body . position . x - a . body . tilePadding . x , a . body . position . y - a . body . tilePadding . y , a . body . width + a . body . tilePadding . x , a . body . height + a . body . tilePadding . y , ! 1 , ! 1 ) ; if ( 0 !== g . length ) for ( var h = 0 ; h < g . length ; h ++ ) d ? d . call ( e , a , g [ h ] ) && this . separateTile ( h , a . body , g [ h ] , f ) && ( this . _total ++ , c && c . call ( e , a , g [ h ] ) ) : this . separateTile ( h , a . body , g [ h ] , f ) && ( this . _total ++ , c && c . call ( e , a , g [ h ] ) ) } } , collideGroupVsTilemapLayer : function ( a , b , c , d , e , f ) { if ( 0 !== a . length ) for ( var g = 0 ; g < a . children . length ; g ++ ) a . children [ g ] . exists && this . collideSpriteVsTilemapLayer ( a . children [ g ] , b , c , d , e , f ) } , separateTile : function ( a , b , c , d ) { if ( ! b . enable ) return ! 1 ; if ( ! c . intersects ( b . position . x , b . position . y , b . right , b . bottom ) ) return ! 1 ; if ( d ) return ! 0 ; if ( c . collisionCallback && ! c . collisionCallback . call ( c . collisionCallbackContext , b . sprite , c ) ) return ! 1 ; if ( c . layer . callbacks [ c . index ] && ! c . layer . callbacks [ c . index ] . callback . call ( c . layer . callbacks [ c . index ] . callbac
2015-07-24 12:28:55 +00:00
} } } , Object . defineProperty ( c . TilemapLayer . prototype , "wrap" , { get : function ( ) { return this . _wrap } , set : function ( a ) { this . _wrap = a , this . dirty = ! 0 } } ) , Object . defineProperty ( c . TilemapLayer . prototype , "scrollX" , { get : function ( ) { return this . _scrollX } , set : function ( a ) { this . _scrollX = a } } ) , Object . defineProperty ( c . TilemapLayer . prototype , "scrollY" , { get : function ( ) { return this . _scrollY } , set : function ( a ) { this . _scrollY = a } } ) , Object . defineProperty ( c . TilemapLayer . prototype , "collisionWidth" , { get : function ( ) { return this . _mc . cw } , set : function ( a ) { this . _mc . cw = 0 | a , this . dirty = ! 0 } } ) , Object . defineProperty ( c . TilemapLayer . prototype , "collisionHeight" , { get : function ( ) { return this . _mc . ch } , set : function ( a ) { this . _mc . ch = 0 | a , this . dirty = ! 0 } } ) , c . TilemapParser = { parse : function ( a , b , d , e , f , g ) { if ( void 0 === d && ( d = 32 ) , void 0 === e && ( e = 32 ) , void 0 === f && ( f = 10 ) , void 0 === g && ( g = 10 ) , void 0 === b ) return this . getEmptyData ( ) ; if ( null === b ) return this . getEmptyData ( d , e , f , g ) ; var h = a . cache . getTilemapData ( b ) ; if ( h ) { if ( h . format === c . Tilemap . CSV ) return this . parseCSV ( b , h . data , d , e ) ; if ( ! h . format || h . format === c . Tilemap . TILED _JSON ) return this . parseTiledJSON ( h . data ) } else console . warn ( "Phaser.TilemapParser.parse - No map data found for key " + b ) } , parseCSV : function ( a , b , d , e ) { var f = this . getEmptyData ( ) ; b = b . trim ( ) ; for ( var g = [ ] , h = b . split ( "\n" ) , i = h . length , j = 0 , k = 0 ; k < h . length ; k ++ ) { g [ k ] = [ ] ; for ( var l = h [ k ] . split ( "," ) , m = 0 ; m < l . length ; m ++ ) g [ k ] [ m ] = new c . Tile ( f . layers [ 0 ] , parseInt ( l [ m ] , 10 ) , m , k , d , e ) ; 0 === j && ( j = l . length ) } return f . format = c . Tilemap . CSV , f . name = a , f . width = j , f . height = i , f . tileWidth = d , f . tileHeight = e , f . widthInPixels = j * d , f . heightInPixels = i * e , f . layers [ 0 ] . width = j , f . layers [ 0 ] . height = i , f . layers [ 0 ] . widthInPixels = f . widthInPixels , f . layers [ 0 ] . heightInPixels = f . heightInPixels , f . layers [ 0 ] . data = g , f } , getEmptyData : function ( a , b , c , d ) { var e = { } ; e . width = 0 , e . height = 0 , e . tileWidth = 0 , e . tileHeight = 0 , "undefined" != typeof a && null !== a && ( e . tileWidth = a ) , "undefined" != typeof b && null !== b && ( e . tileHeight = b ) , "undefined" != typeof c && null !== c && ( e . width = c ) , "undefined" != typeof d && null !== d && ( e . height = d ) , e . orientation = "orthogonal" , e . version = "1" , e . properties = { } , e . widthInPixels = 0 , e . heightInPixels = 0 ; var f = [ ] , g = { name : "layer" , x : 0 , y : 0 , width : 0 , height : 0 , widthInPixels : 0 , heightInPixels : 0 , alpha : 1 , visible : ! 0 , properties : { } , indexes : [ ] , callbacks : [ ] , bodies : [ ] , data : [ ] } ; return f . push ( g ) , e . layers = f , e . images = [ ] , e . objects = { } , e . collision = { } , e . tilesets = [ ] , e . tiles = [ ] , e } , parseTiledJSON : function ( a ) { function b ( a , b ) { var c = { } ; for ( var d in b ) { var e = b [ d ] ; "undefined" != typeof a [ e ] && ( c [ e ] = a [ e ] ) } return c } if ( "orthogonal" !== a . orientation ) return console . warn ( "TilemapParser.parseTiledJSON - Only orthogonal map types are supported in this version of Phaser" ) , null ; var d = { } ; d . width = a . width , d . height = a . height , d . tileWidth = a . tilewidth , d . tileHeight = a . tileheight , d . orientation = a . orientation , d . format = c . Tilemap . TILED _JSON , d . version = a . version , d . properties = a . properties , d . widthInPixels = d . width * d . tileWidth , d . heightInPixels = d . height * d . tileHeight ; for ( var e = [ ] , f = 0 ; f < a . layers . length ; f ++ ) if ( "tilelayer" === a . layers [ f ] . type ) { var g = { name : a . layers [ f ] . name , x : a . layers [ f ] . x , y : a . layers [ f ] . y , width : a . layers [ f ] . width , height : a . layers [ f ] . height , widthInPixels : a . layers [ f ] . width * a . tilewidth , heightInPixels : a . layers [ f ] . height * a . tileheight , alpha : a . layers [ f ] . opacity , visible : a . layers [ f ] . visible , properties : { } , indexes : [ ] , callbacks : [ ] , bodies : [ ] } ; a . layers [ f ] . properties && ( g . properties = a . layers [ f ] . properties ) ; for ( var h , i , j , k , l = 0 , m = [ ] , n = [ ] , o = 0 , p = a . layers [ f ] . data . length ; p > o ; o ++ ) { if ( h = 0 , i = ! 1 , k = a . layers [ f ] . data [ o ] , k > 536870912 ) switch ( j = 0 , k > 2147483648 && ( k -= 2147483648 , j += 4 ) , k > 1073741824 && ( k -= 1073741824 , j += 2 ) , k > 536870912 && ( k -= 536870912 , j += 1 ) , j ) { case 5 : h = Math . PI / 2 ; break ; case 6 : h = Math . PI ; break ; case 3 : h = 3 * Math . PI / 2 ; break ; case 4 : h = 0 , i = ! 0 ; break ; case 7 : h = Math . PI / 2 , i = ! 0 ; break ; case 2 : h = Math . PI , i = ! 0 ; break ; case 1 : h = 3 * Math . PI / 2 , i = ! 0 } k > 0 ? ( m . push ( new c . Tile ( g , k , l , n . length , a . tilewidth , a . tileheight ) ) , m [ m . length - 1 ] . rotation = h , m [ m . length - 1 ] . flipped = i ) : m . push ( new c . Tile ( g , - 1 , l , n . length , a . tilewidth , a . tileheight ) ) , l ++ , l === a . layers [ f ] . width && ( n . push ( m ) , l = 0 , m = [ ] ) } g . data = n , e . push ( g ) } d . layers = e ; for ( var q = [ ] , f = 0 ; f < a . layers . length ; f ++ ) if ( "imagelayer" === a . layers [ f ] . type ) { var r = { name : a . layers [ f
2015-02-25 02:59:00 +00:00
//# sourceMappingURL=phaser-arcade-physics.map