2016-09-21 22:22:08 +00:00
/* Phaser v3.0.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */
2015-02-25 02:59:00 +00:00
2016-09-21 22:22:08 +00:00
( function ( ) { function a ( a , b , c , e ) { var f = a . createTexture ( ) ; return a . bindTexture ( a . TEXTURE _2D , f ) , 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 . texParameteri ( a . TEXTURE _2D , a . TEXTURE _MAG _FILTER , e === d . scaleModes . LINEAR ? a . LINEAR : a . NEAREST ) , a . texParameteri ( a . TEXTURE _2D , a . TEXTURE _MIN _FILTER , e === d . scaleModes . LINEAR ? a . LINEAR : a . NEAREST ) , a . texImage2D ( a . TEXTURE _2D , 0 , a . RGBA , b , c , 0 , a . RGBA , a . UNSIGNED _BYTE , null ) , f } function b ( b , c , d , f , g ) { var h = b . createFramebuffer ( ) , i = b . createRenderbuffer ( ) , j = null , k = 0 ; return b . activeTexture ( b . TEXTURE0 + g ) , b . bindFramebuffer ( b . FRAMEBUFFER , h ) , b . bindRenderbuffer ( b . RENDERBUFFER , i ) , b . framebufferRenderbuffer ( b . FRAMEBUFFER , b . DEPTH _STENCIL _ATTACHMENT , b . RENDERBUFFER , this . renderBuffer ) , j = a ( b , c , d , f ) , b . framebufferTexture2D ( b . FRAMEBUFFER , b . COLOR _ATTACHMENT0 , b . TEXTURE _2D , j , 0 ) , k = b . checkFramebufferStatus ( b . FRAMEBUFFER ) , k !== b . FRAMEBUFFER _COMPLETE && console . error ( "Incomplete GL framebuffer. " , e [ k ] ) , h . width = c , h . height = d , h . targetTexture = j , h . renderBuffer = i , h } var c = this , d = d || { } ; d . game = null , d . WEBGL _RENDERER = 0 , d . CANVAS _RENDERER = 1 , d . VERSION = "v2.2.9" , d . _UID = 0 , "undefined" != typeof Float32Array ? ( d . Float32Array = Float32Array , d . Uint16Array = Uint16Array , d . Uint32Array = Uint32Array , d . ArrayBuffer = ArrayBuffer ) : ( d . Float32Array = Array , d . Uint16Array = Array ) , d . PI _2 = 2 * Math . PI , d . RAD _TO _DEG = 180 / Math . PI , d . DEG _TO _RAD = Math . PI / 180 , d . RETINA _PREFIX = "@2x" , d . DisplayObject = function ( ) { this . position = new d . Point ( 0 , 0 ) , this . scale = new d . Point ( 1 , 1 ) , this . pivot = new d . Point ( 0 , 0 ) , this . rotation = 0 , this . alpha = 1 , this . visible = ! 0 , this . hitArea = null , this . renderable = ! 1 , this . parent = null , this . worldAlpha = 1 , this . worldTransform = new d . Matrix , this . worldPosition = new d . Point ( 0 , 0 ) , this . worldScale = new d . Point ( 1 , 1 ) , this . worldRotation = 0 , this . filterArea = null , this . _sr = 0 , this . _cr = 1 , this . _bounds = new d . Rectangle ( 0 , 0 , 0 , 0 ) , this . _currentBounds = null , this . _mask = null , this . _cacheAsBitmap = ! 1 , this . _cacheIsDirty = ! 1 } , d . DisplayObject . prototype . constructor = d . DisplayObject , d . DisplayObject . prototype = { destroy : function ( ) { if ( this . children ) { for ( var a = this . children . length ; a -- ; ) this . children [ a ] . destroy ( ) ; this . children = [ ] } this . hitArea = null , this . parent = null , this . worldTransform = null , this . filterArea = null , this . renderable = ! 1 , this . _bounds = null , this . _currentBounds = null , this . _mask = null , this . _destroyCachedSprite ( ) } , updateTransform : function ( a ) { if ( ! a && ! this . parent && ! this . game ) return this ; var b = this . parent ; a ? b = a : this . parent || ( b = this . game . world ) ; var c , e , f , g , h , i , j = b . worldTransform , k = this . worldTransform ; return this . rotation % d . PI _2 ? ( this . rotation !== this . rotationCache && ( this . rotationCache = this . rotation , this . _sr = Math . sin ( this . rotation ) , this . _cr = Math . cos ( this . rotation ) ) , c = 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 * c + this . pivot . y * f , i -= this . pivot . x * e + this . pivot . y * g ) , k . a = c * j . a + e * j . c , k . b = c * 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 ) : ( c = this . scale . x , g = this . scale . y , h = this . position . x - this . pivot . x * c , i = this . position . y - this . pivot . y * g , k . a = c * j . a , k . b = c * 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 * b . worldAlpha , this . worldPosition . set ( k . tx , k . ty ) , this . worldScale . set ( this . scale . x * Math . sqrt ( k . a * k . a + k . c * k . c ) , this . scale . y * Math . sqrt ( k . b * k . b + k . d * k . d ) ) , this . worldRotation = Math . atan2 ( - k . c , k . d ) , this . _currentBounds = null , this . transformCallback && this . transformCallback . call ( this . transformCallbackContext , k , j ) , this } , preUpdate : function ( ) { } , generateTexture : function ( a , b , c ) { var e = this . getLocalBounds ( ) , f = new d . RenderTexture ( 0 | e . width , 0 | e . height , c , b , a ) ; return d . DisplayObject . _tempMatrix . tx = - e . x , d . DisplayObject . _tempMatrix . ty = - e . y , f . render ( this , d . DisplayObject . _tempMatrix ) , f } , updateCache : function ( ) { return this . _generateCachedSprite ( ) , this } , toGlobal : function ( a ) { return this . updateTransform ( ) , this . worldTransform . apply ( a ) } , toLocal : function ( a , b ) { return b && ( a = b . toGlobal ( a ) ) , this . updateTransform ( ) , this . worldTransform . applyInverse ( a ) } , _renderCachedSprite : function ( a ) { this . _cachedSprite . wor
this . vertexSrc = [ "//StripShader Vertex Shader." , "attribute vec2 aVertexPosition;" , "attribute vec2 aTextureCoord;" , "attribute float aTextureIndex;" , "uniform mat3 translationMatrix;" , "uniform vec2 projectionVector;" , "uniform vec2 offsetVector;" , "varying vec2 vTextureCoord;" , "varying float vTextureIndex;" , "void main(void) {" , " vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);" , " v -= offsetVector.xyx;" , " gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);" , " vTextureCoord = aTextureCoord;" , " vTextureIndex = aTextureIndex;" , "}" ] , this . init ( ) } , d . StripShader . prototype . constructor = d . StripShader , d . StripShader . prototype . init = function ( ) { var a = this . gl , b = d . compileProgram ( a , this . vertexSrc , this . fragmentSrc ) ; if ( a . useProgram ( b ) , this . uSampler = d . _enableMultiTextureToggle ? a . getUniformLocation ( b , "uSamplerArray[0]" ) : a . getUniformLocation ( b , "uSampler" ) , d . _enableMultiTextureToggle ) { var c = [ ] , e = a . createTexture ( ) ; a . activeTexture ( a . TEXTURE0 ) , a . bindTexture ( a . TEXTURE _2D , e ) , a . texImage2D ( a . TEXTURE _2D , 0 , a . RGB , 1 , 1 , 0 , a . RGB , a . UNSIGNED _BYTE , null ) ; for ( var f = 0 ; f < this . MAX _TEXTURES ; ++ f ) a . activeTexture ( a . TEXTURE0 + f ) , a . bindTexture ( a . TEXTURE _2D , e ) , c . push ( f ) ; a . activeTexture ( a . TEXTURE0 ) , a . uniform1iv ( this . uSampler , c ) } this . projectionVector = a . getUniformLocation ( b , "projectionVector" ) , this . offsetVector = a . getUniformLocation ( b , "offsetVector" ) , this . colorAttribute = a . getAttribLocation ( b , "aColor" ) , this . aTextureIndex = a . getAttribLocation ( b , "aTextureIndex" ) , this . aVertexPosition = a . getAttribLocation ( b , "aVertexPosition" ) , this . aTextureCoord = a . getAttribLocation ( b , "aTextureCoord" ) , this . attributes = [ this . aVertexPosition , this . aTextureCoord , this . aTextureIndex ] , this . translationMatrix = a . getUniformLocation ( b , "translationMatrix" ) , this . alpha = a . getUniformLocation ( b , "alpha" ) , this . program = b } , d . StripShader . prototype . destroy = function ( ) { this . gl . deleteProgram ( this . program ) , this . uniforms = null , this . gl = null , this . attribute = null } , d . PrimitiveShader = function ( a ) { this . _UID = d . _UID ++ , this . gl = a , this . program = null , this . fragmentSrc = [ "precision mediump float;" , "varying vec4 vColor;" , "void main(void) {" , " gl_FragColor = vColor;" , "}" ] , this . vertexSrc = [ "attribute vec2 aVertexPosition;" , "attribute vec4 aColor;" , "uniform mat3 translationMatrix;" , "uniform vec2 projectionVector;" , "uniform vec2 offsetVector;" , "uniform float alpha;" , "uniform float flipY;" , "uniform vec3 tint;" , "varying vec4 vColor;" , "void main(void) {" , " vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);" , " v -= offsetVector.xyx;" , " gl_Position = vec4( v.x / projectionVector.x -1.0, (v.y / projectionVector.y * -flipY) + flipY , 0.0, 1.0);" , " vColor = aColor * vec4(tint * alpha, alpha);" , "}" ] , this . init ( ) } , d . PrimitiveShader . prototype . constructor = d . PrimitiveShader , d . PrimitiveShader . prototype . init = function ( ) { var a = this . gl , b = d . compileProgram ( a , this . vertexSrc , this . fragmentSrc ) ; a . useProgram ( b ) , this . projectionVector = a . getUniformLocation ( b , "projectionVector" ) , this . offsetVector = a . getUniformLocation ( b , "offsetVector" ) , this . tintColor = a . getUniformLocation ( b , "tint" ) , this . flipY = a . getUniformLocation ( b , "flipY" ) , this . aVertexPosition = a . getAttribLocation ( b , "aVertexPosition" ) , this . colorAttribute = a . getAttribLocation ( b , "aColor" ) , this . attributes = [ this . aVertexPosition , this . colorAttribute ] , this . translationMatrix = a . getUniformLocation ( b , "translationMatrix" ) , this . alpha = a . getUniformLocation ( b , "alpha" ) , this . program = b } , d . PrimitiveShader . prototype . destroy = function ( ) { this . gl . deleteProgram ( this . program ) , this . uniforms = null , this . gl = null , this . attributes = null } , d . ComplexPrimitiveShader = function ( a ) { this . _UID = d . _UID ++ , this . gl = a , this . program = null , this . fragmentSrc = [ "precision mediump float;" , "varying vec4 vColor;" , "void main(void) {" , " gl_FragColor = vColor;" , "}" ] , this . vertexSrc = [ "attribute vec2 aVertexPosition;" , "uniform mat3 translationMatrix;" , "uniform vec2 projectionVector;" , "uniform vec2 offsetVector;" , "uniform vec3 tint;" , "uniform float alpha;" , "uniform vec3 color;" , "uniform float flipY;" , "varying vec4 vColor;" , "void main(void) {" , " vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);" , " v -= offsetVector.xyx;" ,
a . vertexAttribPointer ( this . shader . aTextureIndex , 1 , a . FLOAT , ! 1 , c , 40 ) } , d . WebGLFilterManager = function ( ) { this . filterStack = [ ] , this . offsetX = 0 , this . offsetY = 0 } , d . WebGLFilterManager . prototype . constructor = d . WebGLFilterManager , d . WebGLFilterManager . prototype . setContext = function ( a ) { this . gl = a , this . texturePool = [ ] , this . initShaderBuffers ( ) } , d . WebGLFilterManager . prototype . begin = function ( a , b ) { this . renderSession = a , this . defaultShader = a . shaderManager . defaultShader ; var c = this . renderSession . projection ; this . width = 2 * c . x , this . height = 2 * - c . y , this . buffer = b } , d . WebGLFilterManager . prototype . pushFilter = function ( a ) { var b = this . gl , c = this . renderSession . projection , e = this . renderSession . offset ; a . _filterArea = a . target . filterArea || a . target . getBounds ( ) , a . _previous _stencil _mgr = this . renderSession . stencilManager , this . renderSession . stencilManager = new d . WebGLStencilManager , this . renderSession . stencilManager . setContext ( b ) , b . disable ( b . STENCIL _TEST ) , this . filterStack . push ( a ) ; var f = a . filterPasses [ 0 ] ; this . offsetX += a . _filterArea . x , this . offsetY += a . _filterArea . y ; var g = this . texturePool . pop ( ) ; g ? g . resize ( this . width * this . renderSession . resolution , this . height * this . renderSession . resolution ) : g = new d . FilterTexture ( this . gl , this . width * this . renderSession . resolution , this . height * this . renderSession . resolution ) , b . bindTexture ( b . TEXTURE _2D , g . texture ) ; var h = a . _filterArea , i = f . padding ; h . x -= i , h . y -= i , h . width += 2 * i , h . height += 2 * i , h . x < 0 && ( h . x = 0 ) , h . width > this . width && ( h . width = this . width ) , h . y < 0 && ( h . y = 0 ) , h . height > this . height && ( h . height = this . height ) , b . bindFramebuffer ( b . FRAMEBUFFER , g . frameBuffer ) , b . viewport ( 0 , 0 , h . width * this . renderSession . resolution , h . height * this . renderSession . resolution ) , c . x = h . width / 2 , c . y = - h . height / 2 , e . x = - h . x , e . y = - h . y , b . colorMask ( ! 0 , ! 0 , ! 0 , ! 0 ) , b . clearColor ( 0 , 0 , 0 , 0 ) , b . clear ( b . COLOR _BUFFER _BIT ) , a . _glFilterTexture = g } , d . WebGLFilterManager . prototype . popFilter = function ( ) { var a = this . gl , b = this . filterStack . pop ( ) , c = b . _filterArea , e = b . _glFilterTexture , f = this . renderSession . projection , g = this . renderSession . offset ; if ( b . filterPasses . length > 1 ) { a . viewport ( 0 , 0 , c . width * this . renderSession . resolution , c . height * this . renderSession . resolution ) , a . bindBuffer ( a . ARRAY _BUFFER , this . vertexBuffer ) , this . vertexArray [ 0 ] = 0 , this . vertexArray [ 1 ] = c . height , this . vertexArray [ 2 ] = c . width , this . vertexArray [ 3 ] = c . height , this . vertexArray [ 4 ] = 0 , this . vertexArray [ 5 ] = 0 , this . vertexArray [ 6 ] = c . width , this . vertexArray [ 7 ] = 0 , a . bufferSubData ( a . ARRAY _BUFFER , 0 , this . vertexArray ) , a . bindBuffer ( a . ARRAY _BUFFER , this . uvBuffer ) , this . uvArray [ 2 ] = c . width / this . width , this . uvArray [ 5 ] = c . height / this . height , this . uvArray [ 6 ] = c . width / this . width , this . uvArray [ 7 ] = c . height / this . height , a . bufferSubData ( a . ARRAY _BUFFER , 0 , this . uvArray ) ; var h = e , i = this . texturePool . pop ( ) ; i || ( i = new d . FilterTexture ( this . gl , this . width * this . renderSession . resolution , this . height * this . renderSession . resolution ) ) , i . resize ( this . width * this . renderSession . resolution , this . height * this . renderSession . resolution ) , a . bindFramebuffer ( a . FRAMEBUFFER , i . frameBuffer ) , a . clear ( a . COLOR _BUFFER _BIT ) , a . disable ( a . BLEND ) ; for ( var j = 0 ; j < b . filterPasses . length - 1 ; j ++ ) { var k = b . filterPasses [ j ] ; a . bindFramebuffer ( a . FRAMEBUFFER , i . frameBuffer ) , a . activeTexture ( a . TEXTURE0 ) , a . bindTexture ( a . TEXTURE _2D , h . texture ) , this . applyFilterPass ( k , c , c . width , c . height ) ; var l = h ; h = i , i = l } a . enable ( a . BLEND ) , e = h , this . texturePool . push ( i ) } var m = b . filterPasses [ b . filterPasses . length - 1 ] ; this . offsetX -= c . x , this . offsetY -= c . 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 ] ; c = s . _filterArea , n = c . width , o = c . height , p = c . x , q = c . y , r = s . _glFilterTexture . frameBuffer } f . x = n / 2 , f . y = - o / 2 , g . x = p , g . y = q , c = b . _filterArea ; var t = c . x - p , u = c . y - q ; a . bindBuffer ( a . ARRAY _BUFFER , this . vertexBuffer ) , this . vertexArray [ 0 ] = t , this . vertexArray [ 1 ] = u + c . height , this . vertexArray [ 2 ] = t + c . width , this . vertexArray [ 3 ] = u + c . height , this . vertexArray [ 4 ] = t , this . vertexArray [ 5 ] = u , this . vertexArray [ 6 ] = t + c . width , this . vertexArray [ 7 ] = u , a . bufferSubData ( a . ARRAY _BUFFER , 0 , this . vertexArray ) , a . bindBuffer ( a . ARRAY _BUFFER , this . uvBuffer ) , this . uvArray [ 2 ] = c . width / this . width , this . uvArray [ 5 ] = c . height / this . height , this . uvArray [ 6 ] = c . width / this . width , this . uvA
this . tilingTexture . needsUpdate = ! 0 ) , this . textureDebug && ( this . canvasBuffer . context . strokeStyle = "#00ff00" , this . canvasBuffer . context . strokeRect ( 0 , 0 , f , g ) ) ; var j = c . crop . width , k = c . crop . height ; j === f && k === g || ( j = f , k = g ) , this . canvasBuffer . context . drawImage ( c . baseTexture . source , c . crop . x , c . crop . y , c . crop . width , c . crop . height , h , i , j , k ) , this . tileScaleOffset . x = e . width / f , this . tileScaleOffset . y = e . height / g , this . refreshTexture = ! 1 , this . tilingTexture . baseTexture . _powerOf2 = ! 0 } } , d . 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 = n < x ? n : x , x = p < x ? p : x , x = r < x ? r : x , x = t < x ? t : x , y = o < y ? o : y , y = q < y ? q : y , y = s < y ? s : y , y = u < y ? 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 } , d . TilingSprite . prototype . destroy = function ( ) { d . Sprite . prototype . destroy . call ( this ) , this . canvasBuffer && ( this . canvasBuffer . destroy ( ) , this . canvasBuffer = null ) , this . tileScale = null , this . tileScaleOffset = null , this . tilePosition = null , this . tilingTexture && ( this . tilingTexture . destroy ( ! 0 ) , this . tilingTexture = null ) } , Object . defineProperty ( d . TilingSprite . prototype , "width" , { get : function ( ) { return this . _width } , set : function ( a ) { this . _width = a } } ) , Object . defineProperty ( d . TilingSprite . prototype , "height" , { get : function ( ) { return this . _height } , set : function ( a ) { this . _height = a } } ) , "undefined" != typeof exports ? ( "undefined" != typeof module && module . exports && ( exports = module . exports = d ) , exports . PIXI = d ) : "undefined" != typeof define && define . amd ? define ( "PIXI" , function ( ) { return c . PIXI = d } ( ) ) : c . PIXI = d , d } ) . call ( this ) , function ( ) { function a ( a , b ) { this . _scaleFactor = a , this . _deltaMode = b , this . originalEvent = null } var b = this , c = c || { VERSION : "3.0.0 b1" , GAMES : [ ] , AUTO : 0 , CANVAS : 1 , WEBGL : 2 , HEADLESS : 3 , WEBGL _MULTI : 4 , NONE : 0 , LEFT : 1 , RIGHT : 2 , UP : 3 , DOWN : 4 , SPRITE : 0 , BUTTON : 1 , IMAGE : 2 , GRAPHICS : 3 , TEXT : 4 , TILESPRITE : 5 , BITMAPTEXT : 6 , GROUP : 7 , RENDERTEXTURE : 8 , TILEMAP : 9 , TILEMAPLAYER : 10 , EMITTER : 11 , POLYGON : 12 , BITMAPDATA : 13 , CANVAS _FILTER : 14 , WEBGL _FILTER : 15 , ELLIPSE : 16 , SPRITEBATCH : 17 , RETROFONT : 18 , POINTER : 19 , ROPE : 20 , CIRCLE : 21 , RECTANGLE : 22 , LINE : 23 , MATRIX : 24 , POINT : 25 , ROUNDEDRECTANGLE : 26 , CREATURE : 27 , VIDEO : 28 , PENDING _ATLAS : - 1 , HORIZONTAL : 0 , VERTICAL : 1 , LANDSCAPE : 0 , PORTRAIT : 1 , ANGLE _UP : 270 , ANGLE _DOWN : 90 , ANGLE _LEFT : 180 , ANGLE _RIGHT : 0 , ANGLE _NORTH _EAST : 315 , ANGLE _NORTH _WEST : 225 , ANGLE _SOUTH _EAST : 45 , ANGLE _SOUTH _WEST : 135 , TOP _LEFT : 0 , TOP _CENTER : 1 , TOP _RIGHT : 2 , LEFT _TOP : 3 , LEFT _CENTER : 4 , LEFT _BOTTOM : 5 , CENTER : 6 , RIGHT _TOP : 7 , RIGHT _CENTER : 8 , RIGHT _BOTTOM : 9 , BOTTOM _LEFT : 10 , BOTTOM _CENTER : 11 , BOTTOM _RIGHT : 12 , blendModes : { NORMAL : 0 , ADD : 1 , MULTIPLY : 2 , SCREEN : 3 , OVERLAY : 4 , DARKEN : 5 , LIGHTEN : 6 , COLOR _DODGE : 7 , COLOR _BURN : 8 , HARD _LIGHT : 9 , SOFT _LIGHT : 10 , DIFFERENCE : 11 , EXCLUSION : 12 , HUE : 13 , SATURATION : 14 , COLOR : 15 , LUMINOSITY : 16 } , scaleModes : { DEFAULT : 0 , LINEAR : 0 , NEAREST : 1 } , PIXI : PIXI || { } } ; if ( Math . trunc || ( Math . trunc = function ( a ) { return a < 0 ? Math . ceil ( a ) : Math . floor ( a ) } ) , Function . prototype . bind || ( Function . prototype . bind = function ( ) { var a = Array . prototype . slice ; return function ( b ) { function c ( ) { var f = e . concat ( a . call ( arguments ) ) ; d . apply ( this instanceof c ? this : b , f ) } var d = this , e = a . call ( arguments , 1 ) ; if ( "function" != typeof d ) throw new TypeError ; return c . prototype = function a ( b ) { if ( b && ( a . prototype = b ) , ! ( this instanceof a ) ) return new a } ( d . prototype ) , c } } ( ) ) , Array . isArray || ( Array . isArray = function ( a ) { return "[object Array]" === Object . prototype . toString . call ( a ) } ) , Array . prototype . forEach || ( Array . prototype . forEach = function ( a ) { "use strict" ; if ( void 0 === this || null === this ) throw new TypeError ; var b = Object ( this ) , c = b . length >>> 0 ; if ( "function" != typeof a ) throw new TypeError ; for ( var d = arguments . length >= 2 ? arguments [ 1 ] : void 0 , e = 0 ; e < c ; e ++ ) e in b && a . call ( d , b [ e ] , e , b ) } ) , "function" != typeof window . Uint32Array && "object" != typeof window . Uint32Array ) { var d = function ( a ) { var b = new Array ; window [ a ] = function ( a ) { if ( "number" == typeof a ) { Array . call ( this , a ) , this . length = a ; for ( var b = 0 ; b < this . length ; b ++ ) this [
} , 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 . NEGATIVE _INFINITY , e = Number . POSITIVE _INFINITY , f = Number . NEGATIVE _INFINITY , g = Number . POSITIVE _INFINITY ; 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 . lerp = new c . Point ( 1 , 1 ) , this . onShakeComplete = new c . Signal , this . onFlashComplete = new c . Signal , this . onFadeComplete = new c . Signal , this . fx = null , this . _targetPosition = new c . Point , this . _edge = 0 , this . _position = new c . Point , this . _shake = { intensity : 0 , duration : 0 , horizontal : ! 1 , vertical : ! 1 , shakeBounds : ! 0 , x : 0 , y : 0 } , this . _fxDuration = 0 , this . _fxType = 0 } , c . Camera . FOLLOW _LOCKON = 0 , c . Camera . FOLLOW _PLATFORMER = 1 , c . Camera . FOLLOW _TOPDOWN = 2 , c . Camera . FOLLOW _TOPDOWN _TIGHT = 3 , c . Camera . SHAKE _BOTH = 4 , c . Camera . SHAKE _HORIZONTAL = 5 , c . Camera . SHAKE _VERTICAL = 6 , c . Camera . ENABLE _FX = ! 0 , c . Camera . prototype = { boot : function ( ) { this . displayObject = this . game . world , this . scale = this . game . world . scale , this . game . camera = this , c . Graphics && c . Camera . ENABLE _FX && ( this . fx = new c . Graphics ( this . game ) , this . game . stage . addChild ( this . fx ) ) } , preUpdate : function ( ) { this . totalInView = 0 } , follow : function ( a , b , d , e ) { void 0 === b && ( b = c . Camera . FOLLOW _LOCKON ) , void 0 === d && ( d = 1 ) , void 0 === e && ( e = 1 ) , this . target = a , this . lerp . set ( d , e ) ; var f ; switch ( b ) { case c . Camera . FOLLOW _PLATFORMER : var g = this . width / 8 , h = this . height / 3 ; this . deadzone = new c . Rectangle ( ( this . width - g ) / 2 , ( this . height - h ) / 2 - . 25 * h , g , h ) ; break ; case c . Camera . FOLLOW _TOPDOWN : f = Math . max ( this . width , this . height ) / 4 , this . deadzone = new c . Rectangle ( ( this . width - f ) / 2 , ( this . height - f ) / 2 , f , f ) ; break ; case c . Camera . FOLLOW _TOPDOWN _TIGHT : f = Math . max ( this . width , this . height ) / 8 , this . deadzone = new c . Rectangle ( ( this . width - f ) / 2 , ( this . height - f ) / 2 , f , f ) ; 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 ) ) } , shake : function ( a , b , d , e , f ) { return void 0 === a && ( a = . 05 ) , void 0 === b && ( b = 500 ) , void 0 === d && ( d = ! 0 ) , void 0 === e && ( e = c . Camera . SHAKE _BOTH ) , void 0 === f && ( f = ! 0 ) , ! ( ! d && this . _shake . duration > 0 ) && ( this . _shake . intensity = a , this . _shake . duration = b , this . _shake . shakeBounds = f , this . _shake . x = 0 , this . _shake . y = 0 , this . _shake . horizontal = e === c . Camera . SHAKE _BOTH || e === c . Camera . SHAKE _HORIZONTAL , this . _shake . vertical = e === c . Camera . SHAKE _BOTH || e === c . Camera . SHAKE _VERTICAL , ! 0 ) } , flash : function ( a , b , c ) { return void 0 === a && ( a = 16777215 ) , void 0 === b && ( b = 500 ) , void 0 === c && ( c = ! 1 ) , ! ( ! this . fx || ! c && this . _fxDuration > 0 ) && ( this . fx . clear ( ) , this . fx . beginFill ( a ) , this . fx . drawRect ( 0 , 0 , this . width , this . height ) , this . fx . endFill ( ) , this . fx . alpha = 1 , this . _fxDuration = b , this . _fxType = 0 , ! 0 ) } , fade : function ( a , b , c ) { return void 0 === a && ( a = 0 ) , void 0 === b && ( b = 500 ) , void 0 === c && ( c = ! 1 ) , ! ( ! this . fx || ! c && this . _fxDuration > 0 ) && ( this
h . x === i && ( h . x = 0 , h . y += e , h . y === j ) ) return ! 0 } return ! 0 } ; c . Group . prototype . resetCursor = function ( a ) { if ( void 0 === a && ( a = 0 ) , a > this . children . length - 1 && ( a = 0 ) , this . cursor ) return this . cursorIndex = a , this . cursor = this . children [ this . cursorIndex ] , this . cursor } ; c . Group . prototype . next = function ( ) { if ( this . cursor ) return this . cursorIndex >= this . children . length - 1 ? this . cursorIndex = 0 : this . cursorIndex ++ , this . cursor = this . children [ this . cursorIndex ] , this . cursor } , c . Group . prototype . previous = function ( ) { if ( this . cursor ) return 0 === this . cursorIndex ? this . cursorIndex = this . children . length - 1 : this . cursorIndex -- , this . cursor = this . children [ this . cursorIndex ] , this . cursor } , c . Group . prototype . swap = function ( a , b ) { this . swapChildren ( a , b ) , this . updateZ ( ) } , c . Group . prototype . bringToTop = function ( a ) { return a . parent === this && this . getIndex ( a ) < this . children . length && ( this . remove ( a , ! 1 , ! 0 ) , this . add ( a , ! 0 ) ) , a } , c . Group . prototype . sendToBack = function ( a ) { return a . parent === this && this . getIndex ( a ) > 0 && ( this . remove ( a , ! 1 , ! 0 ) , this . addAt ( a , 0 , ! 0 ) ) , a } , c . Group . prototype . moveUp = function ( a ) { if ( a . parent === this && this . getIndex ( a ) < this . children . length - 1 ) { var b = this . getIndex ( a ) , c = this . getAt ( b + 1 ) ; c && this . swap ( a , c ) } return a } , c . Group . prototype . moveDown = function ( a ) { if ( a . parent === this && this . getIndex ( a ) > 0 ) { var b = this . getIndex ( a ) , c = this . getAt ( b - 1 ) ; c && this . swap ( a , c ) } return a } , c . Group . prototype . xy = function ( a , b , c ) { return a < 0 || a > this . children . length ? - 1 : ( this . getChildAt ( a ) . x = b , void ( this . getChildAt ( a ) . y = c ) ) } , c . Group . prototype . reverse = function ( ) { this . children . reverse ( ) , this . updateZ ( ) } , c . Group . prototype . getIndex = function ( a ) { return this . children . indexOf ( a ) } , c . Group . prototype . getByName = function ( a ) { for ( var b = 0 ; b < this . children . length ; b ++ ) if ( this . children [ b ] . name === a ) return this . children [ b ] ; return null } , c . Group . prototype . replace = function ( a , b ) { var d = this . getIndex ( a ) ; if ( d !== - 1 ) return b . parent && ( b . parent instanceof c . Group ? b . parent . remove ( b ) : b . parent . removeChild ( b ) ) , this . remove ( a ) , this . addAt ( b , d ) , a } , c . Group . prototype . hasProperty = function ( a , b ) { var c = b . length ; return 1 === c && b [ 0 ] in a || ( 2 === c && b [ 0 ] in a && b [ 1 ] in a [ b [ 0 ] ] || ( 3 === c && b [ 0 ] in a && b [ 1 ] in a [ b [ 0 ] ] && b [ 2 ] in a [ b [ 0 ] ] [ b [ 1 ] ] || 4 === c && b [ 0 ] in a && b [ 1 ] in a [ b [ 0 ] ] && b [ 2 ] in a [ b [ 0 ] ] [ b [ 1 ] ] && b [ 3 ] in a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] ) ) } , c . Group . prototype . setProperty = function ( a , b , c , d , e ) { if ( void 0 === e && ( e = ! 1 ) , d = d || 0 , ! this . hasProperty ( a , b ) && ( ! e || d > 0 ) ) return ! 1 ; var f = b . length ; return 1 === f ? 0 === d ? a [ b [ 0 ] ] = c : 1 === d ? a [ b [ 0 ] ] += c : 2 === d ? a [ b [ 0 ] ] -= c : 3 === d ? a [ b [ 0 ] ] *= c : 4 === d && ( a [ b [ 0 ] ] /= c ) : 2 === f ? 0 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] = c : 1 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] += c : 2 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] -= c : 3 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] *= c : 4 === d && ( a [ b [ 0 ] ] [ b [ 1 ] ] /= c ) : 3 === f ? 0 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] = c : 1 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] += c : 2 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] -= c : 3 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] *= c : 4 === d && ( a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] /= c ) : 4 === f && ( 0 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] [ b [ 3 ] ] = c : 1 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] [ b [ 3 ] ] += c : 2 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] [ b [ 3 ] ] -= c : 3 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] [ b [ 3 ] ] *= c : 4 === d && ( a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] [ b [ 3 ] ] /= c ) ) , ! 0 } , c . Group . prototype . checkProperty = function ( a , b , d , e ) { return void 0 === e && ( e = ! 1 ) , ! ( ! c . Utils . getProperty ( a , b ) && e ) && c . Utils . getProperty ( a , b ) === d } , c . Group . prototype . set = function ( a , b , c , d , e , f , g ) { if ( 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 ) ) return this . setProperty ( a , b , c , f , g ) } , 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 ( th
} return null } , getLocalPosition : function ( a , b , d ) { void 0 === d && ( d = new c . Point ) ; var e = a . worldTransform , f = 1 / ( e . a * e . d + e . c * - e . b ) ; return d . setTo ( e . d * f * b . x + - e . c * f * b . y + ( e . ty * e . c - e . tx * e . d ) * f , e . a * f * b . y + - e . b * f * b . x + ( - e . ty * e . a + e . tx * e . b ) * f ) } , hitTest : function ( a , b , d ) { if ( ! a . worldVisible ) return ! 1 ; if ( this . getLocalPosition ( a , b , this . _localPoint ) , d . copyFrom ( this . _localPoint ) , a . hitArea && a . hitArea . contains ) return a . hitArea . contains ( this . _localPoint . x , this . _localPoint . y ) ; if ( a instanceof c . TileSprite ) { var e = a . width , f = a . height , g = - e * a . anchor . x ; if ( this . _localPoint . x >= g && this . _localPoint . x < g + e ) { var h = - f * a . anchor . y ; if ( this . _localPoint . y >= h && this . _localPoint . y < h + f ) return ! 0 } } else if ( a instanceof PIXI . Sprite ) { var e = a . texture . frame . width , f = a . texture . frame . height , g = - e * a . anchor . x ; if ( this . _localPoint . x >= g && this . _localPoint . x < g + e ) { var h = - f * a . anchor . y ; if ( this . _localPoint . y >= h && this . _localPoint . y < h + f ) return ! 0 } } else if ( a instanceof c . Graphics ) for ( var i = 0 ; i < a . graphicsData . length ; i ++ ) { var j = a . graphicsData [ i ] ; if ( j . fill && j . shape && j . shape . contains ( this . _localPoint . x , this . _localPoint . y ) ) return ! 0 } for ( var i = 0 ; i < a . children . length ; i ++ ) if ( this . hitTest ( a . children [ i ] , b , d ) ) return ! 0 ; return ! 1 } , onClickTrampoline : function ( ) { this . activePointer . processClickTrampolines ( ) } } , c . Input . prototype . constructor = c . Input , Object . defineProperty ( c . Input . prototype , "x" , { get : function ( ) { return this . _x } , set : function ( a ) { this . _x = Math . floor ( a ) } } ) , Object . defineProperty ( c . Input . prototype , "y" , { get : function ( ) { return this . _y } , set : function ( a ) { this . _y = Math . floor ( a ) } } ) , Object . defineProperty ( c . Input . prototype , "pollLocked" , { get : function ( ) { return this . pollRate > 0 && this . _pollCounter < this . pollRate } } ) , Object . defineProperty ( c . Input . prototype , "totalInactivePointers" , { get : function ( ) { return this . pointers . length - this . countActivePointers ( ) } } ) , Object . defineProperty ( c . Input . prototype , "totalActivePointers" , { get : function ( ) { return this . countActivePointers ( ) } } ) , Object . defineProperty ( c . Input . prototype , "worldX" , { get : function ( ) { return this . game . camera . view . x + this . x } } ) , Object . defineProperty ( c . Input . prototype , "worldY" , { get : function ( ) { return this . game . camera . view . y + this . y } } ) , c . Mouse = function ( a ) { this . game = a , this . input = a . input , this . callbackContext = this . game , this . mouseDownCallback = null , this . mouseUpCallback = null , this . mouseOutCallback = null , this . mouseOverCallback = null , this . mouseWheelCallback = null , this . capture = ! 1 , this . button = - 1 , this . wheelDelta = 0 , this . enabled = ! 0 , this . locked = ! 1 , this . stopOnGameOut = ! 1 , this . pointerLock = new c . Signal , this . event = null , this . _onMouseDown = null , this . _onMouseMove = null , this . _onMouseUp = null , this . _onMouseOut = null , this . _onMouseOver = null , this . _onMouseWheel = null , this . _wheelEvent = null } , c . Mouse . NO _BUTTON = - 1 , c . Mouse . LEFT _BUTTON = 0 , c . Mouse . MIDDLE _BUTTON = 1 , c . Mouse . RIGHT _BUTTON = 2 , c . Mouse . BACK _BUTTON = 3 , c . Mouse . FORWARD _BUTTON = 4 , c . Mouse . WHEEL _UP = 1 , c . Mouse . WHEEL _DOWN = - 1 , c . Mouse . prototype = { start : function ( ) { if ( ( ! this . game . device . android || this . game . device . chrome !== ! 1 ) && null === this . _onMouseDown ) { var b = this ; this . _onMouseDown = function ( a ) { return b . onMouseDown ( a ) } , this . _onMouseMove = function ( a ) { return b . onMouseMove ( a ) } , this . _onMouseUp = function ( a ) { return b . onMouseUp ( a ) } , this . _onMouseUpGlobal = function ( a ) { return b . onMouseUpGlobal ( a ) } , this . _onMouseOutGlobal = function ( a ) { return b . onMouseOutGlobal ( a ) } , this . _onMouseOut = function ( a ) { return b . onMouseOut ( a ) } , this . _onMouseOver = function ( a ) { return b . onMouseOver ( a ) } , this . _onMouseWheel = function ( a ) { return b . onMouseWheel ( a ) } ; var c = this . game . canvas ; c . addEventListener ( "mousedown" , this . _onMouseDown , ! 0 ) , c . addEventListener ( "mousemove" , this . _onMouseMove , ! 0 ) , c . addEventListener ( "mouseup" , this . _onMouseUp , ! 0 ) , this . game . device . cocoonJS || ( window . addEventListener ( "mouseup" , this . _onMouseUpGlobal , ! 0 ) , window . addEventListener ( "mouseout" , this . _onMouseOutGlobal , ! 0 ) , c . addEventListener ( "mouseover" , this . _onMouseOver , ! 0 ) , c . addEventListener ( "mouseout" , this . _onMouseOut , ! 0 ) ) ; var d = this . game . device . wheelEvent ; d && ( c . addEventListener ( d , this . _onMouseWheel , ! 0 ) , "mousewheel" === d ? this . _wheelEvent = new a ( ( - . 025 ) , 1 ) : "DOMMouseScroll" === d && ( this . _wheelEvent = new a ( 1 , 1 ) ) ) } } , onMouseDown : function ( a ) { this . event = a , this . capture && a . preventDefault ( ) , this . mouseDownCal
for ( var b = 0 ; b < 10 ; b ++ ) if ( this . _pointerData [ b ] . isOut ) return ! 0 } , pointerTimeOver : function ( a ) { return a = a || 0 , this . _pointerData [ a ] . timeOver } , pointerTimeOut : function ( a ) { return a = a || 0 , this . _pointerData [ a ] . timeOut } , pointerDragged : function ( a ) { return a = a || 0 , this . _pointerData [ a ] . isDragged } , checkPointerDown : function ( a , b ) { return ! ! ( a . isDown && this . enabled && this . sprite && this . sprite . parent && this . sprite . visible && this . sprite . parent . visible && 0 !== this . sprite . worldScale . x && 0 !== this . sprite . worldScale . y ) && ( ! ! this . game . input . hitTest ( this . sprite , a , this . _tempPoint ) && ( void 0 === b && ( b = ! 1 ) , ! ( ! b && this . pixelPerfectClick ) || this . checkPixel ( this . _tempPoint . x , this . _tempPoint . y ) ) ) } , checkPointerOver : function ( a , b ) { return ! ! ( this . enabled && this . sprite && this . sprite . parent && this . sprite . visible && this . sprite . parent . visible && 0 !== this . sprite . worldScale . x && 0 !== this . sprite . worldScale . y ) && ( ! ! this . game . input . hitTest ( this . sprite , a , this . _tempPoint ) && ( void 0 === b && ( b = ! 1 ) , ! ( ! b && this . pixelPerfectOver ) || this . checkPixel ( this . _tempPoint . x , this . _tempPoint . y ) ) ) } , checkPixel : function ( a , b , c ) { if ( this . sprite . texture . baseTexture . source ) { if ( null === a && null === b ) { this . game . input . getLocalPosition ( this . sprite , c , this . _tempPoint ) ; var a = this . _tempPoint . x , b = this . _tempPoint . y } if ( 0 !== this . sprite . anchor . x && ( a -= - this . sprite . texture . frame . width * this . sprite . anchor . x ) , 0 !== this . sprite . anchor . y && ( b -= - this . sprite . texture . frame . height * this . sprite . anchor . y ) , a += this . sprite . texture . frame . x , b += this . sprite . texture . frame . y , this . sprite . texture . trim && ( a -= this . sprite . texture . trim . x , b -= this . sprite . texture . trim . y , a < this . sprite . texture . crop . x || a > this . sprite . texture . crop . right || b < this . sprite . texture . crop . y || b > this . sprite . texture . crop . bottom ) ) return this . _dx = a , this . _dy = b , ! 1 ; this . _dx = a , this . _dy = b , this . game . input . hitContext . clearRect ( 0 , 0 , 1 , 1 ) , this . game . input . hitContext . drawImage ( this . sprite . texture . baseTexture . source , a , b , 1 , 1 , 0 , 0 , 1 , 1 ) ; var d = this . game . input . hitContext . getImageData ( 0 , 0 , 1 , 1 ) ; if ( d . data [ 3 ] >= this . pixelPerfectAlpha ) return ! 0 } return ! 1 } , update : function ( a ) { if ( null !== this . sprite && void 0 !== this . sprite . parent ) return this . enabled && this . sprite . visible && this . sprite . parent . visible ? this . _pendingDrag ? ( this . _dragDistancePass || ( this . _dragDistancePass = c . Math . distance ( a . x , a . y , this . downPoint . x , this . downPoint . y ) >= this . dragDistanceThreshold ) , this . _dragDistancePass && this . _dragTimePass && this . startDrag ( a ) , ! 0 ) : this . draggable && this . _draggedPointerID === a . id ? this . updateDrag ( a , ! 1 ) : this . _pointerData [ a . id ] . isOver ? this . checkPointerOver ( a ) ? ( this . _pointerData [ a . id ] . x = a . x - this . sprite . x , this . _pointerData [ a . id ] . y = a . y - this . sprite . y , ! 0 ) : ( this . _pointerOutHandler ( a ) , ! 1 ) : void 0 : ( this . _pointerOutHandler ( a ) , ! 1 ) } , _pointerOverHandler : function ( a , b ) { if ( null !== this . sprite ) { var d = this . _pointerData [ a . id ] ; if ( d . isOver === ! 1 || a . dirty ) { var e = d . isOver === ! 1 ; d . isOver = ! 0 , d . isOut = ! 1 , d . timeOver = this . game . time . time , d . x = a . x - this . sprite . x , d . y = a . y - this . sprite . y , this . useHandCursor && d . isDragged === ! 1 && ( this . game . canvas . style . cursor = "pointer" , this . _setHandCursor = ! 0 ) , ! b && e && this . sprite && this . sprite . events && this . sprite . events . onInputOver$dispatch ( this . sprite , a ) , this . sprite . parent && this . sprite . parent . type === c . GROUP && this . sprite . parent . onChildInputOver . dispatch ( this . sprite , a ) } } } , _pointerOutHandler : function ( a , b ) { if ( null !== this . sprite ) { var d = this . _pointerData [ a . id ] ; d . isOver = ! 1 , d . isOut = ! 0 , d . timeOut = this . game . time . time , this . useHandCursor && d . isDragged === ! 1 && ( this . game . canvas . style . cursor = "default" , this . _setHandCursor = ! 1 ) , ! b && this . sprite && this . sprite . events && ( this . sprite . events . onInputOut$dispatch ( this . sprite , a ) , this . sprite && this . sprite . parent && this . sprite . parent . type === c . GROUP && this . sprite . parent . onChildInputOut . dispatch ( this . sprite , a ) ) } } , _touchedHandler : function ( a ) { if ( null !== this . sprite ) { var b = this . _pointerData [ a . id ] ; if ( ! b . isDown && b . isOver ) { if ( this . pixelPerfectClick && ! this . checkPixel ( null , null , a ) ) return ; if ( b . isDown = ! 0 , b . isUp = ! 1 , b . timeDown = this . game . time . time , this . downPoint . set ( a . x , a . y ) , a . dirty = ! 0 , this . sprite && this . sprite . events && ( this . sprite . events . onInputDown$dispatch ( this . sprite , a ) , this . sprite && this . sprite . parent && this . sprite . parent . type === c . GROUP && this . sprite . parent . onChildInputDown . dispatc
left : { get : function ( ) { return this . x - this . offsetX } , set : function ( a ) { this . x = a + this . offsetX } } , right : { get : function ( ) { return this . x + this . width - this . offsetX } , set : function ( a ) { this . x = a - this . width + this . offsetX } } , top : { get : function ( ) { return this . y - this . offsetY } , set : function ( a ) { this . y = a + this . offsetY } } , bottom : { get : function ( ) { return this . y + this . height - this . offsetY } , set : function ( a ) { this . y = a - this . height + this . offsetY } } , alignIn : function ( a , b , d , e ) { switch ( void 0 === d && ( d = 0 ) , void 0 === e && ( e = 0 ) , b ) { default : case c . TOP _LEFT : this . left = a . left - d , this . top = a . top - e ; break ; case c . TOP _CENTER : this . centerX = a . centerX + d , this . top = a . top - e ; break ; case c . TOP _RIGHT : this . right = a . right + d , this . top = a . top - e ; break ; case c . LEFT _CENTER : this . left = a . left - d , this . centerY = a . centerY + e ; break ; case c . CENTER : this . centerX = a . centerX + d , this . centerY = a . centerY + e ; break ; case c . RIGHT _CENTER : this . right = a . right + d , this . centerY = a . centerY + e ; break ; case c . BOTTOM _LEFT : this . left = a . left - d , this . bottom = a . bottom + e ; break ; case c . BOTTOM _CENTER : this . centerX = a . centerX + d , this . bottom = a . bottom + e ; break ; case c . BOTTOM _RIGHT : this . right = a . right + d , this . bottom = a . bottom + e } return this } , alignTo : function ( a , b , d , e ) { switch ( void 0 === d && ( d = 0 ) , void 0 === e && ( e = 0 ) , b ) { default : case c . TOP _LEFT : this . left = a . left - d , this . bottom = a . top - e ; break ; case c . TOP _CENTER : this . centerX = a . centerX + d , this . bottom = a . top - e ; break ; case c . TOP _RIGHT : this . right = a . right + d , this . bottom = a . top - e ; break ; case c . LEFT _TOP : this . right = a . left - d , this . top = a . top - e ; break ; case c . LEFT _CENTER : this . right = a . left - d , this . centerY = a . centerY + e ; break ; case c . LEFT _BOTTOM : this . right = a . left - d , this . bottom = a . bottom + e ; break ; case c . RIGHT _TOP : this . left = a . right + d , this . top = a . top - e ; break ; case c . RIGHT _CENTER : this . left = a . right + d , this . centerY = a . centerY + e ; break ; case c . RIGHT _BOTTOM : this . left = a . right + d , this . bottom = a . bottom + e ; break ; case c . BOTTOM _LEFT : this . left = a . left - d , this . top = a . bottom + e ; break ; case c . BOTTOM _CENTER : this . centerX = a . centerX + d , this . top = a . bottom + e ; break ; case c . BOTTOM _RIGHT : this . right = a . right + d , this . top = a . bottom + e } return this } } , c . Group . prototype . alignIn = c . Component . Bounds . prototype . alignIn , c . Group . prototype . alignTo = c . Component . Bounds . prototype . alignTo , c . Component . BringToTop = function ( ) { } , c . Component . BringToTop . prototype . bringToTop = function ( ) { return this . parent && this . parent . bringToTop ( this ) , this } , c . Component . BringToTop . prototype . sendToBack = function ( ) { return this . parent && this . parent . sendToBack ( this ) , this } , c . Component . BringToTop . prototype . moveUp = function ( ) { return this . parent && this . parent . moveUp ( this ) , this } , c . Component . BringToTop . prototype . moveDown = function ( ) { return this . parent && this . parent . moveDown ( this ) , this } , c . Component . Core = function ( ) { } , c . Component . Core . install = function ( a ) { c . Utils . mixinPrototype ( this , c . Component . Core . prototype ) , this . components = { } ; for ( var b = 0 ; b < a . length ; b ++ ) { var d = a [ b ] , e = ! 1 ; "Destroy" === d && ( e = ! 0 ) , c . Utils . mixinPrototype ( this , c . Component [ d ] . prototype , e ) , this . components [ d ] = ! 0 } } , c . Component . Core . init = function ( a , b , d , e , f ) { this . game = a , this . key = e , this . data = { } , this . position . set ( b , d ) , this . world = new c . Point ( b , d ) , this . previousPosition = new c . Point ( b , d ) , this . events = new c . Events ( this ) , this . _bounds = new c . Rectangle , this . components . PhysicsBody && ( this . body = this . body ) , this . components . Animation && ( this . animations = new c . AnimationManager ( this ) ) , this . components . LoadTexture && null !== e && this . loadTexture ( e , f ) , this . components . FixedToCamera && ( this . cameraOffset = new c . Point ( b , d ) ) } , c . Component . Core . preUpdate = function ( ) { if ( this . pendingDestroy ) return void this . destroy ( ) ; if ( this . previousPosition . set ( this . world . x , this . world . y ) , this . previousRotation = this . rotation , ! this . exists || ! this . parent . exists ) return this . renderOrderID = - 1 , ! 1 ; this . world . setTo ( this . game . camera . x + this . worldTransform . tx , this . game . camera . y + this . worldTransform . ty ) , this . visible && ( this . renderOrderID = this . game . stage . currentRenderOrderID ++ ) , this . animations && this . animations . update ( ) , this . body && this . body . preUpdate ( ) ; for ( var a = 0 ; a < this . children . length ; a ++ ) this . children [ a ] . preUpdate ( ) ; return ! 0 } , c . Component . Core . prototype = { game : null , name : "" , data : { } , components : { } , z : 0 , events : void 0 , animations : void 0 , key : "" , world : null , debug : ! 1 , previousPosition : null , previousRotation : 0 , render
for ( var h = d + f , i = e + g , j = c . Color . createColor ( ) , k = { r : 0 , g : 0 , b : 0 , a : 0 } , l = ! 1 , m = e ; m < i ; m ++ ) for ( var n = d ; n < h ; n ++ ) c . Color . unpackPixel ( this . getPixel32 ( n , m ) , j ) , k = a . call ( b , j , n , m ) , k !== ! 1 && null !== k && void 0 !== k && ( this . setPixel32 ( n , m , k . r , k . g , k . b , k . a , ! 1 ) , l = ! 0 ) ; return l && ( this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 ) , this } , processPixel : function ( a , b , c , d , e , f ) { void 0 === c && ( c = 0 ) , void 0 === d && ( d = 0 ) , void 0 === e && ( e = this . width ) , void 0 === f && ( f = this . height ) ; for ( var g = c + e , h = d + f , i = 0 , j = 0 , k = ! 1 , l = d ; l < h ; l ++ ) for ( var m = c ; m < g ; m ++ ) i = this . getPixel32 ( m , l ) , j = a . call ( b , i , m , l ) , j !== i && ( this . pixels [ l * this . width + m ] = j , k = ! 0 ) ; return k && ( this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 ) , this } , replaceRGB : function ( a , b , d , e , f , g , h , i , j ) { var k = 0 , l = 0 , m = this . width , n = this . height , o = c . Color . packPixel ( a , b , d , e ) ; void 0 !== j && j instanceof c . Rectangle && ( k = j . x , l = j . y , m = j . width , n = j . height ) ; for ( var p = 0 ; p < n ; p ++ ) for ( var q = 0 ; q < m ; q ++ ) this . getPixel32 ( k + q , l + p ) === o && this . setPixel32 ( k + q , l + p , f , g , h , i , ! 1 ) ; return this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 , this } , setHSL : function ( a , b , d , e ) { var f = a || 0 === a , g = b || 0 === b , h = d || 0 === d ; if ( f || g || h ) { void 0 === e && ( e = new c . Rectangle ( 0 , 0 , this . width , this . height ) ) ; for ( var i = c . Color . createColor ( ) , j = e . y ; j < e . bottom ; j ++ ) for ( var k = e . x ; k < e . right ; k ++ ) c . Color . unpackPixel ( this . getPixel32 ( k , j ) , i , ! 0 ) , f && ( i . h = a ) , g && ( i . s = b ) , h && ( i . l = d ) , c . Color . HSLtoRGB ( i . h , i . s , i . l , i ) , this . setPixel32 ( k , j , i . r , i . g , i . b , i . a , ! 1 ) ; return this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 , this } } , shiftHSL : function ( a , b , d , e ) { if ( void 0 !== a && null !== a || ( a = ! 1 ) , void 0 !== b && null !== b || ( b = ! 1 ) , void 0 !== d && null !== d || ( d = ! 1 ) , a || b || d ) { void 0 === e && ( e = new c . Rectangle ( 0 , 0 , this . width , this . height ) ) ; for ( var f = c . Color . createColor ( ) , g = e . y ; g < e . bottom ; g ++ ) for ( var h = e . x ; h < e . right ; h ++ ) c . Color . unpackPixel ( this . getPixel32 ( h , g ) , f , ! 0 ) , a && ( f . h = this . game . math . wrap ( f . h + a , 0 , 1 ) ) , b && ( f . s = this . game . math . clamp ( f . s + b , 0 , 1 ) ) , d && ( f . l = this . game . math . clamp ( f . l + d , 0 , 1 ) ) , c . Color . HSLtoRGB ( f . h , f . s , f . l , f ) , this . setPixel32 ( h , g , f . r , f . g , f . b , f . a , ! 1 ) ; return this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 , this } } , setPixel32 : function ( a , b , d , e , f , g , h ) { return void 0 === h && ( h = ! 0 ) , a >= 0 && a <= this . width && b >= 0 && b <= this . height && ( c . Device . LITTLE _ENDIAN ? this . pixels [ b * this . width + a ] = g << 24 | f << 16 | e << 8 | d : this . pixels [ b * this . width + a ] = d << 24 | e << 16 | f << 8 | g , h && ( this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 ) ) , this } , setPixel : function ( a , b , c , d , e , f ) { return this . setPixel32 ( a , b , c , d , e , 255 , f ) } , getPixel : function ( a , b , d ) { d || ( d = c . Color . createColor ( ) ) ; var e = ~ ~ ( a + b * this . width ) ; return e *= 4 , d . r = this . data [ e ] , d . g = this . data [ ++ e ] , d . b = this . data [ ++ e ] , d . a = this . data [ ++ e ] , d } , getPixel32 : function ( a , b ) { if ( a >= 0 && a <= this . width && b >= 0 && b <= this . height ) return this . pixels [ b * this . width + a ] } , getPixelRGB : function ( a , b , d , e , f ) { return c . Color . unpackPixel ( this . getPixel32 ( a , b ) , d , e , f ) } , getPixels : function ( a ) { return this . context . getImageData ( a . x , a . y , a . width , a . height ) } , getFirstPixel : function ( a ) { void 0 === a && ( a = 0 ) ; var b = c . Color . createColor ( ) , d = 0 , e = 0 , f = 1 , g = ! 1 ; 1 === a ? ( f = - 1 , e = this . height ) : 3 === a && ( f = - 1 , d = this . width ) ; do c . Color . unpackPixel ( this . getPixel32 ( d , e ) , b ) , 0 === a || 1 === a ? ( d ++ , d === this . width && ( d = 0 , e += f , ( e >= this . height || e <= 0 ) && ( g = ! 0 ) ) ) : 2 !== a && 3 !== a || ( e ++ , e === this . height && ( e = 0 , d += f , ( d >= this . width || d <= 0 ) && ( g = ! 0 ) ) ) ; while ( 0 === b . a && ! g ) ; return b . x = d , b . y = e , b } , getBounds : function ( a ) { return void 0 === a && ( a = new c . Rectangle ) , a . x = this . getFirstPixel ( 2 ) . x , a . x === this . width ? a . setTo ( 0 , 0 , 0 , 0 ) : ( a . y = this . getFirstPixel ( 0 ) . y , a . width = this . getFirstPixel ( 3 ) . x - a . x + 1 , a . height = this . getFirstPixel ( 1 ) . y - a . y + 1 , a ) } , addToWorld : function ( a , b , c , d , e , f ) { e = e || 1 , f = f || 1 ; var g = this . game . add . image ( a , b , this ) ; return g . anchor . set ( c , d ) , g . scale . set ( e , f ) , g } , copy : function ( a , b , d , e , f , g , h , i , j , k , l , m , n , o , p , q , r ) { if ( void 0 !== a && null !== a || ( a = this ) , ( a instanceof c . RenderTexture || a instanceof PIXI . RenderTexture ) && ( a = a . getCanvas ( ) ) , this . _image = a , a instanceof c . Sprite || a instanceof c . Image || a instanceof c . Text || a instanceof PIXI . Sprite ) this . _pos . set ( a . texture . crop . x , a . texture . crop . y ) , this . _size . set ( a . texture . crop . width , a . texture . crop . height ) , this . _scale . set ( a . scale . x , a . scale . y ) , this . _anchor . set ( a . anchor . x , a . anchor . y ) , this . _rotate = a . rotation , this
d . uniform2f ( g . offsetVector , - f . x , - f . y ) , d . uniform3fv ( g . tintColor , PIXI . hex2rgb ( a . tint ) ) , d . uniform1f ( g . alpha , a . worldAlpha ) , d . bindBuffer ( d . ARRAY _BUFFER , c . buffer ) , d . vertexAttribPointer ( g . aVertexPosition , 2 , d . FLOAT , ! 1 , 24 , 0 ) , d . vertexAttribPointer ( g . colorAttribute , 4 , d . FLOAT , ! 1 , 24 , 8 ) , d . bindBuffer ( d . ELEMENT _ARRAY _BUFFER , c . indexBuffer ) , d . drawElements ( d . TRIANGLE _STRIP , c . indices . length , d . UNSIGNED _SHORT , 0 ) ) } , PIXI . WebGLGraphics . updateGraphics = function ( a , b ) { var c = a . _webGL [ b . id ] ; c || ( c = a . _webGL [ b . id ] = { lastIndex : 0 , data : [ ] , gl : b } ) , a . dirty = ! 1 ; var d ; if ( a . clearDirty ) { for ( a . clearDirty = ! 1 , d = 0 ; d < c . data . length ; d ++ ) { var e = c . data [ d ] ; e . reset ( ) , PIXI . WebGLGraphics . graphicsDataPool . push ( e ) } c . data = [ ] , c . lastIndex = 0 } var f ; for ( d = c . lastIndex ; d < a . graphicsData . length ; d ++ ) { var g = a . graphicsData [ d ] ; if ( g . type === PIXI . Graphics . POLY ) { if ( g . points = g . shape . points . slice ( ) , g . shape . closed && ( g . points [ 0 ] === g . points [ g . points . length - 2 ] && g . points [ 1 ] === g . points [ g . points . length - 1 ] || g . points . push ( g . points [ 0 ] , g . points [ 1 ] ) ) , g . fill && g . points . length >= PIXI . WebGLGraphics . stencilBufferLimit ) if ( g . points . length < 2 * PIXI . WebGLGraphics . stencilBufferLimit ) { f = PIXI . WebGLGraphics . switchMode ( c , 0 ) ; var h = PIXI . WebGLGraphics . buildPoly ( g , f ) ; h || ( f = PIXI . WebGLGraphics . switchMode ( c , 1 ) , PIXI . WebGLGraphics . buildComplexPoly ( g , f ) ) } else f = PIXI . WebGLGraphics . switchMode ( c , 1 ) , PIXI . WebGLGraphics . buildComplexPoly ( g , f ) ; g . lineWidth > 0 && ( f = PIXI . WebGLGraphics . switchMode ( c , 0 ) , PIXI . WebGLGraphics . buildLine ( g , f ) ) } else f = PIXI . WebGLGraphics . switchMode ( c , 0 ) , g . type === PIXI . Graphics . RECT ? PIXI . WebGLGraphics . buildRectangle ( g , f ) : g . type === PIXI . Graphics . CIRC || g . type === PIXI . Graphics . ELIP ? PIXI . WebGLGraphics . buildCircle ( g , f ) : g . type === PIXI . Graphics . RREC && PIXI . WebGLGraphics . buildRoundedRectangle ( g , f ) ; c . lastIndex ++ } for ( d = 0 ; d < c . data . length ; d ++ ) f = c . data [ d ] , f . dirty && f . upload ( ) } , PIXI . WebGLGraphics . switchMode = function ( a , b ) { var c ; return a . data . length ? ( c = a . data [ a . data . length - 1 ] , c . mode === b && 1 !== b || ( c = PIXI . WebGLGraphics . graphicsDataPool . pop ( ) || new PIXI . WebGLGraphicsData ( a . gl ) , c . mode = b , a . data . push ( c ) ) ) : ( c = PIXI . WebGLGraphics . graphicsDataPool . pop ( ) || new PIXI . WebGLGraphicsData ( a . gl ) , c . mode = b , a . data . push ( c ) ) , c . dirty = ! 0 , c } , PIXI . WebGLGraphics . buildRectangle = function ( a , b ) { var c = a . shape , d = c . x , e = c . y , f = c . width , g = c . height ; if ( a . fill ) { var h = PIXI . hex2rgb ( a . fillColor ) , i = a . fillAlpha , j = h [ 0 ] * i , k = h [ 1 ] * i , l = h [ 2 ] * i , m = b . points , n = b . indices , o = m . length / 6 ; m . push ( d , e ) , m . push ( j , k , l , i ) , m . push ( d + f , e ) , m . push ( j , k , l , i ) , m . push ( d , e + g ) , m . push ( j , k , l , i ) , m . push ( d + f , e + g ) , m . push ( j , k , l , i ) , n . push ( o , o , o + 1 , o + 2 , o + 3 , o + 3 ) } if ( a . lineWidth ) { var p = a . points ; a . points = [ d , e , d + f , e , d + f , e + g , d , e + g , d , e ] , PIXI . WebGLGraphics . buildLine ( a , b ) , a . points = p } } , PIXI . WebGLGraphics . buildRoundedRectangle = function ( a , b ) { var c = a . shape , d = c . x , e = c . y , f = c . width , g = c . height , h = c . radius , i = [ ] ; if ( i . push ( d , e + h ) , i = i . concat ( PIXI . WebGLGraphics . quadraticBezierCurve ( d , e + g - h , d , e + g , d + h , e + g ) ) , i = i . concat ( PIXI . WebGLGraphics . quadraticBezierCurve ( d + f - h , e + g , d + f , e + g , d + f , e + g - h ) ) , i = i . concat ( PIXI . WebGLGraphics . quadraticBezierCurve ( d + f , e + h , d + f , e , d + f - h , e ) ) , i = i . concat ( PIXI . WebGLGraphics . quadraticBezierCurve ( d + h , e , d , e , d , e + h ) ) , a . fill ) { var j = PIXI . hex2rgb ( a . fillColor ) , k = a . fillAlpha , l = j [ 0 ] * k , m = j [ 1 ] * k , n = j [ 2 ] * k , o = b . points , p = b . indices , q = o . length / 6 , r = PIXI . EarCut . Triangulate ( i , null , 2 ) , s = 0 ; for ( s = 0 ; s < r . length ; s += 3 ) p . push ( r [ s ] + q ) , p . push ( r [ s ] + q ) , p . push ( r [ s + 1 ] + q ) , p . push ( r [ s + 2 ] + q ) , p . push ( r [ s + 2 ] + q ) ; for ( s = 0 ; s < i . length ; s ++ ) o . push ( i [ s ] , i [ ++ s ] , l , m , n , k ) } if ( a . lineWidth ) { var t = a . points ; a . points = i , PIXI . WebGLGraphics . buildLine ( a , b ) , a . points = t } } , PIXI . 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 ; q <= n ; 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 } , PIXI . WebGLGraphics . buildCircle = function ( a , b ) { var c , d , e = a . shape , f = e . x , g = e . y ; a . type === PIXI . Graphics . CIRC ? ( c = e . radius , d = e . radius ) : ( c = e . width , d = e . height ) ; var h = 40 , i = 2 * Math . PI / h , j = 0 ; if ( a . fill ) { var k = PIXI . hex2rgb ( a . fillColor ) , l = a . fillAlpha , m = k [ 0 ] * l , n = k [ 1 ] * l , o = k [ 2 ] * l , p = b . points , q = b . indices , r = p . length / 6 ; for ( q . push ( r ) , j = 0 ; j < h + 1 ; j ++ ) p . push ( f , g , m , n , o , l ) , p . push ( f + Math . sin ( i * j ) * c , g + Math . cos ( i * j ) * d , m , n , o , l ) , q . push ( r ++ , r ++ ) ; q
return this . _lineSpacing } , set : function ( a ) { a !== this . _lineSpacing && ( this . _lineSpacing = parseFloat ( a ) , this . dirty = ! 0 , this . parent && this . updateTransform ( ) ) } } ) , Object . defineProperty ( c . Text . prototype , "shadowOffsetX" , { get : function ( ) { return this . style . shadowOffsetX } , set : function ( a ) { a !== this . style . shadowOffsetX && ( this . style . shadowOffsetX = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "shadowOffsetY" , { get : function ( ) { return this . style . shadowOffsetY } , set : function ( a ) { a !== this . style . shadowOffsetY && ( this . style . shadowOffsetY = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "shadowColor" , { get : function ( ) { return this . style . shadowColor } , set : function ( a ) { a !== this . style . shadowColor && ( this . style . shadowColor = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "shadowBlur" , { get : function ( ) { return this . style . shadowBlur } , set : function ( a ) { a !== this . style . shadowBlur && ( this . style . shadowBlur = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "shadowStroke" , { get : function ( ) { return this . style . shadowStroke } , set : function ( a ) { a !== this . style . shadowStroke && ( this . style . shadowStroke = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "shadowFill" , { get : function ( ) { return this . style . shadowFill } , set : function ( a ) { a !== this . style . shadowFill && ( this . style . shadowFill = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "width" , { get : function ( ) { return this . dirty && ( this . updateText ( ) , this . dirty = ! 1 ) , this . scale . x * this . texture . frame . width } , set : function ( a ) { this . scale . x = a / this . texture . frame . width , this . _width = a } } ) , Object . defineProperty ( c . Text . prototype , "height" , { get : function ( ) { return this . dirty && ( this . updateText ( ) , this . dirty = ! 1 ) , this . scale . y * this . texture . frame . height } , set : function ( a ) { this . scale . y = a / this . texture . frame . height , this . _height = a } } ) , c . Text . fontPropertiesCache = { } , c . Text . fontPropertiesCanvas = document . createElement ( "canvas" ) , c . Text . fontPropertiesContext = c . Text . fontPropertiesCanvas . getContext ( "2d" ) , c . BitmapText = function ( a , b , d , e , f , g , h ) { b = b || 0 , d = d || 0 , e = e || "" , f = f || "" , g = g || 32 , h = h || "left" , PIXI . DisplayObjectContainer . call ( this ) , this . type = c . BITMAPTEXT , this . physicsType = c . SPRITE , this . textWidth = 0 , this . textHeight = 0 , this . anchor = new c . Point , this . _prevAnchor = new c . Point , this . _glyphs = [ ] , this . _maxWidth = 0 , this . _text = f . toString ( ) || "" , this . _data = a . cache . getBitmapFont ( e ) , this . _font = e , this . _fontSize = g , this . _align = h , this . _tint = 16777215 , this . updateText ( ) , this . dirty = ! 1 , c . Component . Core . init . call ( this , a , b , d , "" , null ) } , c . BitmapText . prototype = Object . create ( PIXI . DisplayObjectContainer . prototype ) , c . BitmapText . prototype . constructor = c . BitmapText , c . Component . Core . install . call ( c . BitmapText . prototype , [ "Angle" , "AutoCull" , "Bounds" , "Destroy" , "FixedToCamera" , "InputEnabled" , "InWorld" , "LifeSpan" , "PhysicsBody" , "Reset" ] ) , c . BitmapText . prototype . preUpdatePhysics = c . Component . PhysicsBody . preUpdate , c . BitmapText . prototype . preUpdateLifeSpan = c . Component . LifeSpan . preUpdate , c . BitmapText . prototype . preUpdateInWorld = c . Component . InWorld . preUpdate , c . BitmapText . prototype . preUpdateCore = c . Component . Core . preUpdate , c . BitmapText . prototype . preUpdate = function ( ) { return ! ! ( this . preUpdatePhysics ( ) && this . preUpdateLifeSpan ( ) && this . preUpdateInWorld ( ) ) && this . preUpdateCore ( ) } , c . BitmapText . prototype . postUpdate = function ( ) { c . Component . PhysicsBody . postUpdate . call ( this ) , c . Component . FixedToCamera . postUpdate . call ( this ) , this . body && this . body . type === c . Physics . ARCADE && ( this . textWidth === this . body . sourceWidth && this . textHeight === this . body . sourceHeight || this . body . setSize ( this . textWidth , this . textHeight ) ) } , c . BitmapText . prototype . setText = function ( a ) { this . text = a } ; c . BitmapText . prototype . scanLine = function ( a , b , c ) { for ( var d = 0 , e = 0 , f = - 1 , g = 0 , h = null , i = this . _maxWidth > 0 ? this . _maxWidth : null , j = [ ] , k = 0 ; k < c . length ; k ++ ) { var l = k === c . length - 1 ; if ( /(?:\r\n|\r|\n)/ . test ( c . charAt ( k ) ) ) return { width : e , text : c . substr ( 0 , k ) , end : l , chars : j } ; var m = c . charCodeAt ( k ) , n = a . chars [ m ] , o = 0 ; void 0 === n && ( m = 32 , n = a . chars [ m ] ) ; var p = h && n . kerning [ h ] ? n . kerning [ h ] : 0 ; if ( /(\s)/ . test ( c . charAt ( k ) ) && ( f = k , g = e ) , o = ( p + n . texture . width + n . xOffset ) * b , i && e + o >= i && f > - 1 ) return { width : g || e , text : c . substr ( 0 , k - ( k - f ) ) , end : l , chars : j } ; e += ( n . xAdvance + p ) * b , j . push ( d + ( n . xOffset + p ) * b ) , d += ( n . xAdvance + p ) * b , h
for ( var b = 1 , c = 0 , d = a . length ; b < d ; b ++ ) a [ b ] > a [ c ] && ( c = b ) ; return a [ c ] } , minProperty : function ( a ) { if ( 2 === arguments . length && "object" == typeof arguments [ 1 ] ) var b = arguments [ 1 ] ; else var b = arguments . slice ( 1 ) ; for ( var c = 1 , d = 0 , e = b . length ; c < e ; c ++ ) b [ c ] [ a ] < b [ d ] [ a ] && ( d = c ) ; return b [ d ] [ a ] } , maxProperty : function ( a ) { if ( 2 === arguments . length && "object" == typeof arguments [ 1 ] ) var b = arguments [ 1 ] ; else var b = arguments . slice ( 1 ) ; for ( var c = 1 , d = 0 , e = b . length ; c < e ; c ++ ) b [ c ] [ a ] > b [ d ] [ a ] && ( d = c ) ; return b [ d ] [ a ] } , wrapAngle : function ( a , b ) { return b ? this . wrap ( a , - Math . PI , Math . PI ) : this . wrap ( a , - 180 , 180 ) } , linearInterpolation : function ( a , b ) { var c = a . length - 1 , d = c * b , e = Math . floor ( d ) ; return b < 0 ? this . linear ( a [ 0 ] , a [ 1 ] , d ) : b > 1 ? this . linear ( a [ c ] , a [ c - 1 ] , c - d ) : this . linear ( a [ e ] , a [ e + 1 > c ? c : e + 1 ] , d - e ) } , bezierInterpolation : function ( a , b ) { for ( var c = 0 , d = a . length - 1 , e = 0 ; e <= d ; e ++ ) c += Math . pow ( 1 - b , d - e ) * Math . pow ( b , e ) * a [ e ] * this . bernstein ( d , e ) ; return c } , catmullRomInterpolation : function ( a , b ) { var c = a . length - 1 , d = c * b , e = Math . floor ( d ) ; return a [ 0 ] === a [ c ] ? ( b < 0 && ( e = Math . floor ( d = c * ( 1 + b ) ) ) , this . catmullRom ( a [ ( e - 1 + c ) % c ] , a [ e ] , a [ ( e + 1 ) % c ] , a [ ( e + 2 ) % c ] , d - e ) ) : b < 0 ? a [ 0 ] - ( this . catmullRom ( a [ 0 ] , a [ 0 ] , a [ 1 ] , a [ 1 ] , - d ) - a [ 0 ] ) : b > 1 ? a [ c ] - ( this . catmullRom ( a [ c ] , a [ c ] , a [ c - 1 ] , a [ c - 1 ] , d - c ) - a [ c ] ) : this . catmullRom ( a [ e ? e - 1 : 0 ] , a [ e ] , a [ c < e + 1 ? c : e + 1 ] , a [ c < e + 2 ? c : e + 2 ] , d - e ) } , linear : function ( a , b , c ) { return ( b - a ) * c + a } , bernstein : function ( a , b ) { return this . factorial ( a ) / this . factorial ( b ) / this . factorial ( a - b ) } , factorial : function ( a ) { if ( 0 === a ) return 1 ; for ( var b = a ; -- a ; ) b *= a ; return b } , catmullRom : function ( a , b , c , d , e ) { var f = . 5 * ( c - a ) , g = . 5 * ( d - b ) , h = e * e , i = e * h ; return ( 2 * b - 2 * c + f + g ) * i + ( - 3 * b + 3 * c - 2 * f - g ) * h + f * e + b } , difference : function ( a , b ) { return Math . abs ( a - b ) } , roundAwayFromZero : function ( a ) { return a > 0 ? Math . ceil ( a ) : Math . floor ( a ) } , sinCosGenerator : function ( a , b , c , d ) { void 0 === b && ( b = 1 ) , void 0 === c && ( c = 1 ) , void 0 === d && ( d = 1 ) ; for ( var e = b , f = c , g = d * Math . PI / a , h = [ ] , i = [ ] , j = 0 ; j < a ; j ++ ) f -= e * g , e += f * g , h [ j ] = f , i [ j ] = e ; return { sin : i , cos : h , length : a } } , distance : function ( a , b , c , d ) { var e = a - c , f = b - d ; return Math . sqrt ( e * e + f * f ) } , distanceSq : function ( a , b , c , d ) { var e = a - c , f = b - d ; return e * e + f * f } , distancePow : function ( a , b , c , d , e ) { return void 0 === e && ( e = 2 ) , Math . sqrt ( Math . pow ( c - a , e ) + Math . pow ( d - b , e ) ) } , clamp : function ( a , b , c ) { return a < b ? b : c < a ? c : a } , clampBottom : function ( a , b ) { return a < b ? b : a } , within : function ( a , b , c ) { return Math . abs ( a - b ) <= c } , mapLinear : function ( a , b , c , d , e ) { return d + ( a - b ) * ( e - d ) / ( c - b ) } , smoothstep : function ( a , b , c ) { return a = Math . max ( 0 , Math . min ( 1 , ( a - b ) / ( c - b ) ) ) , a * a * ( 3 - 2 * a ) } , smootherstep : function ( a , b , c ) { return a = Math . max ( 0 , Math . min ( 1 , ( a - b ) / ( c - b ) ) ) , a * a * a * ( a * ( 6 * a - 15 ) + 10 ) } , sign : function ( a ) { return a < 0 ? - 1 : a > 0 ? 1 : 0 } , percent : function ( a , b , c ) { return void 0 === c && ( c = 0 ) , a > b || c > b ? 1 : a < c || c > a ? 0 : ( a - c ) / b } } ; var k = Math . PI / 180 , l = 180 / Math . PI ; return c . Math . degToRad = function ( a ) { return a * k } , c . Math . radToDeg = function ( a ) { return a * l } , c . RandomDataGenerator = function ( a ) { void 0 === a && ( a = [ ] ) , this . c = 1 , this . s0 = 0 , this . s1 = 0 , this . s2 = 0 , "string" == typeof a ? this . state ( a ) : this . sow ( a ) } , c . RandomDataGenerator . prototype = { rnd : function ( ) { var a = 2091639 * this . s0 + 2.3283064365386963 e - 10 * this . c ; return this . c = 0 | a , this . s0 = this . s1 , this . s1 = this . s2 , this . s2 = a - this . c , this . s2 } , sow : function ( a ) { if ( this . s0 = this . hash ( " " ) , this . s1 = this . hash ( this . s0 ) , this . s2 = this . hash ( this . s1 ) , this . c = 1 , a ) for ( var b = 0 ; b < a . length && null != a [ b ] ; b ++ ) { var c = a [ b ] ; this . s0 -= this . hash ( c ) , this . s0 += ~ ~ ( this . s0 < 0 ) , this . s1 -= this . hash ( c ) , this . s1 += ~ ~ ( this . s1 < 0 ) , this . s2 -= this . hash ( c ) , this . s2 += ~ ~ ( this . s2 < 0 ) } } , hash : function ( a ) { var b , c , d ; for ( d = 4022871197 , a = a . toString ( ) , c = 0 ; c < a . length ; c ++ ) d += a . charCodeAt ( c ) , b = . 02519603282416938 * d , d = b >>> 0 , b -= d , b *= d , d = b >>> 0 , b -= d , d += 4294967296 * b ; return 2.3283064365386963 e - 10 * ( d >>> 0 ) } , integer : function ( ) { return 4294967296 * this . rnd . apply ( this ) } , frac : function ( ) { return this . rnd . apply ( this ) + 1.1102230246251565 e - 16 * ( 2097152 * this . rnd . apply ( this ) | 0 ) } , real : function ( ) { return this . integer ( ) + this . frac ( ) } , integerInRange : function ( a , b ) { return Math . floor ( this . realInRange ( 0 , b - a + 1 ) + a ) } , between : function ( a , b ) { return this . integerInRange ( a , b ) } , realInRange : function ( a , b ) { return this . frac ( ) * ( b - a ) + a } , normal : function ( ) { return 1 - 2 * this . frac ( ) } , uuid : function ( ) { var a = "" , b = "" ; for ( b = a = "" ; a ++ < 36 ; b += ~ a % 5 | 3 * a & 4 ? ( 15 ^ a ? 8 ^ this . frac ( ) * ( 20 ^ a ? 16 : 4 ) : 4 ) . toString ( 16 ) : " -
c . AnimationManager . prototype = { loadFrameData : function ( a , b ) { if ( void 0 === a ) return ! 1 ; if ( this . isLoaded ) for ( var c in this . _anims ) this . _anims [ c ] . updateFrameData ( a ) ; return this . _frameData = a , void 0 === b || null === b ? this . frame = 0 : "string" == typeof b ? this . frameName = b : this . frame = b , this . isLoaded = ! 0 , ! 0 } , copyFrameData : function ( a , b ) { if ( this . _frameData = a . clone ( ) , this . isLoaded ) for ( var c in this . _anims ) this . _anims [ c ] . updateFrameData ( this . _frameData ) ; return void 0 === b || null === b ? this . frame = 0 : "string" == typeof b ? this . frameName = b : this . frame = b , this . isLoaded = ! 0 , ! 0 } , add : function ( a , b , d , e , f ) { return b = b || [ ] , d = d || 60 , void 0 === e && ( e = ! 1 ) , void 0 === f && ( f = ! ( ! b || "number" != typeof b [ 0 ] ) ) , this . _outputFrames = [ ] , this . _frameData . getFrameIndexes ( b , f , this . _outputFrames ) , this . _anims [ a ] = new c . Animation ( this . game , this . sprite , a , this . _frameData , this . _outputFrames , d , e ) , this . currentAnim = this . _anims [ a ] , this . sprite . tilingTexture && ( this . sprite . refreshTexture = ! 0 ) , this . _anims [ a ] } , validateFrames : function ( a , b ) { void 0 === b && ( b = ! 0 ) ; for ( var c = 0 ; c < a . length ; c ++ ) if ( b === ! 0 ) { if ( a [ c ] > this . _frameData . total ) return ! 1 } else if ( this . _frameData . checkFrameName ( a [ c ] ) === ! 1 ) return ! 1 ; return ! 0 } , play : function ( a , b , c , d ) { if ( this . _anims [ a ] ) return this . currentAnim === this . _anims [ a ] ? this . currentAnim . isPlaying === ! 1 ? ( this . currentAnim . paused = ! 1 , this . currentAnim . play ( b , c , d ) ) : this . currentAnim : ( this . currentAnim && this . currentAnim . isPlaying && this . currentAnim . stop ( ) , this . currentAnim = this . _anims [ a ] , this . currentAnim . paused = ! 1 , this . currentFrame = this . currentAnim . currentFrame , this . currentAnim . play ( b , c , d ) ) } , stop : function ( a , b ) { void 0 === b && ( b = ! 1 ) , ! this . currentAnim || "string" == typeof a && a !== this . currentAnim . name || this . currentAnim . stop ( b ) } , update : function ( ) { return ! ( this . updateIfVisible && ! this . sprite . visible ) && ( ! ( ! this . currentAnim || ! this . currentAnim . update ( ) ) && ( this . currentFrame = this . currentAnim . currentFrame , ! 0 ) ) } , next : function ( a ) { this . currentAnim && ( this . currentAnim . next ( a ) , this . currentFrame = this . currentAnim . currentFrame ) } , previous : function ( a ) { this . currentAnim && ( this . currentAnim . previous ( a ) , this . currentFrame = this . currentAnim . currentFrame ) } , getAnimation : function ( a ) { return "string" == typeof a && this . _anims [ a ] ? this . _anims [ a ] : null } , refreshFrame : function ( ) { } , destroy : function ( ) { var a = null ; for ( var a in this . _anims ) this . _anims . hasOwnProperty ( a ) && this . _anims [ a ] . destroy ( ) ; this . _anims = { } , this . _outputFrames = [ ] , this . _frameData = null , this . currentAnim = null , this . currentFrame = null , this . sprite = null , this . game = null } } , c . AnimationManager . prototype . constructor = c . AnimationManager , Object . defineProperty ( c . AnimationManager . prototype , "frameData" , { get : function ( ) { return this . _frameData } } ) , Object . defineProperty ( c . AnimationManager . prototype , "frameTotal" , { get : function ( ) { return this . _frameData . total } } ) , Object . defineProperty ( c . AnimationManager . prototype , "paused" , { get : function ( ) { return this . currentAnim . isPaused } , set : function ( a ) { this . currentAnim . paused = a } } ) , Object . defineProperty ( c . AnimationManager . prototype , "name" , { get : function ( ) { if ( this . currentAnim ) return this . currentAnim . name } } ) , Object . defineProperty ( c . AnimationManager . prototype , "frame" , { get : function ( ) { if ( this . currentFrame ) return this . currentFrame . index } , set : function ( a ) { "number" == typeof a && this . _frameData && null !== this . _frameData . getFrame ( a ) && ( this . currentFrame = this . _frameData . getFrame ( a ) , this . currentFrame && this . sprite . setFrame ( this . currentFrame ) ) } } ) , Object . defineProperty ( c . AnimationManager . prototype , "frameName" , { get : function ( ) { if ( this . currentFrame ) return this . currentFrame . name } , set : function ( a ) { "string" == typeof a && this . _frameData && null !== this . _frameData . getFrameByName ( a ) ? ( this . currentFrame = this . _frameData . getFrameByName ( a ) , this . currentFrame && ( this . _frameIndex = this . currentFrame . index , this . sprite . setFrame ( this . currentFrame ) ) ) : console . warn ( "Cannot set frameName: " + a ) } } ) , c . Animation = function ( a , b , d , e , f , g , h ) { void 0 === h && ( h = ! 1 ) , this . game = a , this . _parent = b , this . _frameData = e , this . name = d , this . _frames = [ ] , this . _frames = this . _frames . concat ( f ) , this . delay = 1e3 / g , this . loop = h , this . loopCount = 0 , this . killOnComplete = ! 1 , this . isFinished = ! 1 , this . isPlaying = ! 1 , this . isPaused = ! 1 , this . _pauseStartTime = 0 , this . _frameIndex = 0 , this . _frameDiff = 0 , this . _frameSkip =
this ; var e = { type : "packfile" , key : a , url : b , path : this . path , syncPoint : ! 0 , data : null , loading : ! 1 , loaded : ! 1 , error : ! 1 , callbackContext : d } ; c && ( "string" == typeof c && ( c = JSON . parse ( c ) ) , e . data = c || { } , e . loaded = ! 0 ) ; for ( var f = 0 ; f < this . _fileList . length + 1 ; f ++ ) { var g = this . _fileList [ f ] ; if ( ! g || ! g . loaded && ! g . loading && "packfile" !== g . type ) { this . _fileList . splice ( f , 0 , e ) , this . _totalPackCount ++ ; break } } return this } , image : function ( a , b , c ) { return "object" == typeof b ? this . texture ( a , b , c ) : this . addToFileList ( "image" , a , b , void 0 , c , ".png" ) } , texture : function ( a , b , d ) { if ( this . game . renderType === c . WEBGL ) { var e , f = this . game . renderer . extensions . compression ; for ( e in b ) if ( e . toUpperCase ( ) in f ) return this . addToFileList ( "texture" , a , b [ e ] , void 0 , d , ".pvr" ) } return b . truecolor && this . addToFileList ( "image" , a , b . truecolor , void 0 , d , ".png" ) , this } , images : function ( a , b ) { if ( Array . isArray ( b ) ) for ( var c = 0 ; c < a . length ; c ++ ) this . image ( a [ c ] , b [ c ] ) ; else for ( var c = 0 ; c < a . length ; c ++ ) this . image ( a [ c ] ) ; return this } , text : function ( a , b , c ) { return this . addToFileList ( "text" , a , b , void 0 , c , ".txt" ) } , json : function ( a , b , c ) { return this . addToFileList ( "json" , a , b , void 0 , c , ".json" ) } , shader : function ( a , b , c ) { return this . addToFileList ( "shader" , a , b , void 0 , c , ".frag" ) } , xml : function ( a , b , c ) { return this . addToFileList ( "xml" , a , b , void 0 , c , ".xml" ) } , script : function ( a , b , c , d ) { return void 0 === c && ( c = ! 1 ) , c !== ! 1 && void 0 === d && ( d = this ) , this . addToFileList ( "script" , a , b , { syncPoint : ! 0 , callback : c , callbackContext : d } , ! 1 , ".js" ) } , binary : function ( a , b , c , d ) { return void 0 === c && ( c = ! 1 ) , c !== ! 1 && void 0 === d && ( d = c ) , this . addToFileList ( "binary" , a , b , { callback : c , callbackContext : d } , ! 1 , ".bin" ) } , spritesheet : function ( a , b , c , d , e , f , g ) { return void 0 === e && ( e = - 1 ) , void 0 === f && ( f = 0 ) , void 0 === g && ( g = 0 ) , this . addToFileList ( "spritesheet" , a , b , { frameWidth : c , frameHeight : d , frameMax : e , margin : f , spacing : g } , ! 1 , ".png" ) } , audio : function ( a , b , c ) { return this . game . sound . noAudio ? this : ( void 0 === c && ( c = ! 0 ) , "string" == typeof b && ( b = [ b ] ) , this . addToFileList ( "audio" , a , b , { buffer : null , autoDecode : c } ) ) } , audioSprite : function ( a , b , c , d , e ) { return this . game . sound . noAudio ? this : ( void 0 === c && ( c = null ) , void 0 === d && ( d = null ) , void 0 === e && ( e = ! 0 ) , this . audio ( a , b , e ) , c ? this . json ( a + "-audioatlas" , c ) : d ? ( "string" == typeof d && ( d = JSON . parse ( d ) ) , this . cache . addJSON ( a + "-audioatlas" , "" , d ) ) : console . warn ( "Phaser.Loader.audiosprite - You must specify either a jsonURL or provide a jsonData object" ) , this ) } , audiosprite : function ( a , b , c , d , e ) { return this . audioSprite ( a , b , c , d , e ) } , video : function ( a , b , c , d ) { return void 0 === c && ( c = this . game . device . firefox ? "loadeddata" : "canplaythrough" ) , void 0 === d && ( d = ! 1 ) , "string" == typeof b && ( b = [ b ] ) , this . addToFileList ( "video" , a , b , { buffer : null , asBlob : d , loadEvent : c } ) } , tilemap : function ( a , b , d , e ) { if ( void 0 === b && ( b = null ) , void 0 === d && ( d = null ) , void 0 === e && ( e = c . Tilemap . CSV ) , b || d || ( b = e === c . Tilemap . CSV ? a + ".csv" : a + ".json" ) , d ) { switch ( e ) { case c . Tilemap . CSV : break ; case c . Tilemap . TILED _JSON : "string" == typeof d && ( d = JSON . parse ( d ) ) } this . cache . addTilemap ( a , null , d , e ) } else this . addToFileList ( "tilemap" , a , b , { format : e } ) ; return this } , physics : function ( a , b , d , e ) { return void 0 === b && ( b = null ) , void 0 === d && ( d = null ) , void 0 === e && ( e = c . Physics . LIME _CORONA _JSON ) , b || d || ( b = a + ".json" ) , d ? ( "string" == typeof d && ( d = JSON . parse ( d ) ) , this . cache . addPhysicsData ( a , null , d , e ) ) : this . addToFileList ( "physics" , a , b , { format : e } ) , this } , bitmapFont : function ( a , b , c , d , e , f ) { if ( void 0 !== b && null !== b || ( b = a + ".png" ) , void 0 === c && ( c = null ) , void 0 === d && ( d = null ) , null === c && null === d && ( c = a + ".xml" ) , void 0 === e && ( e = 0 ) , void 0 === f && ( f = 0 ) , c ) this . addToFileList ( "bitmapfont" , a , b , { atlasURL : c , xSpacing : e , ySpacing : f } ) ; else if ( "string" == typeof d ) { var g , h ; try { g = JSON . parse ( d ) } catch ( a ) { h = this . parseXml ( d ) } if ( ! h && ! g ) throw new Error ( "Phaser.Loader. Invalid Bitmap Font atlas given" ) ; this . addToFileList ( "bitmapfont" , a , b , { atlasURL : null , atlasData : g || h , atlasType : g ? "json" : "xml" , xSpacing : e , ySpacing : f } ) } return this } , atlasJSONArray : function ( a , b , d , e ) { return this . atlas ( a , b , d , e , c . Loader . TEXTURE _ATLAS _JSON _ARRAY ) } , atlasJSONHash : function ( a , b , d , e ) { return this . atlas ( a , b , d , e , c . Loader . TEXTURE _ATLAS _JSON _HASH ) } , atlasXML : function ( a , b , d , e ) { return void 0 === d && ( d = null ) , void 0 === e && ( e = null ) , d || e || ( d = a + ".xml" ) , this . atlas ( a , b , d , e , c . Loader . TEXTURE _ATLAS _XML _STARL
} else this . _sound . currentTime = this . _tempPause , this . _sound . play ( ) ; this . isPlaying = ! 0 , this . paused = ! 1 , this . startTime += this . game . time . time - this . pausedTime , this . onResume . dispatch ( this ) } } , stop : function ( ) { if ( this . isPlaying && this . _sound ) if ( this . usingWebAudio ) { if ( void 0 === this . _sound . stop ) this . _sound . noteOff ( 0 ) ; else try { this . _sound . stop ( 0 ) } catch ( a ) { } this . externalNode ? this . _sound . disconnect ( this . externalNode ) : this . gainNode && this . _sound . disconnect ( this . gainNode ) } else this . usingAudioTag && ( this . _sound . pause ( ) , this . _sound . currentTime = 0 ) ; if ( this . pendingPlayback = ! 1 , this . isPlaying = ! 1 , ! this . paused ) { var a = this . currentMarker ; "" !== this . currentMarker && this . onMarkerComplete . dispatch ( this . currentMarker , this ) , this . currentMarker = "" , null !== this . fadeTween && this . fadeTween . stop ( ) , this . onStop . dispatch ( this , a ) } } , fadeIn : function ( a , b , c ) { void 0 === b && ( b = ! 1 ) , void 0 === c && ( c = this . currentMarker ) , this . paused || ( this . play ( c , 0 , 0 , b ) , this . fadeTo ( a , 1 ) ) } , fadeOut : function ( a ) { this . fadeTo ( a , 0 ) } , fadeTo : function ( a , b ) { if ( this . isPlaying && ! this . paused && b !== this . volume ) { if ( void 0 === a && ( a = 1e3 ) , void 0 === b ) return void console . warn ( "Phaser.Sound.fadeTo: No Volume Specified." ) ; this . fadeTween = this . game . add . tween ( this ) . to ( { volume : b } , a , c . Easing . Linear . None , ! 0 ) , this . fadeTween . onComplete . add ( this . fadeComplete , this ) } } , fadeComplete : function ( ) { this . onFadeComplete . dispatch ( this , this . volume ) , 0 === this . volume && this . stop ( ) } , updateGlobalVolume : function ( a ) { this . usingAudioTag && this . _sound && ( this . _sound . volume = a * this . _volume ) } , destroy : function ( a ) { void 0 === a && ( a = ! 0 ) , this . stop ( ) , a ? this . game . sound . remove ( this ) : ( this . markers = { } , this . context = null , this . _buffer = null , this . externalNode = null , this . onDecoded . dispose ( ) , this . onPlay . dispose ( ) , this . onPause . dispose ( ) , this . onResume . dispose ( ) , this . onLoop . dispose ( ) , this . onStop . dispose ( ) , this . onMute . dispose ( ) , this . onMarkerComplete . dispose ( ) ) } } , c . Sound . prototype . constructor = c . Sound , Object . defineProperty ( c . Sound . prototype , "isDecoding" , { get : function ( ) { return this . game . cache . getSound ( this . key ) . isDecoding } } ) , Object . defineProperty ( c . Sound . prototype , "isDecoded" , { get : function ( ) { return this . game . cache . isSoundDecoded ( this . key ) } } ) , Object . defineProperty ( c . Sound . prototype , "mute" , { get : function ( ) { return this . _muted || this . game . sound . mute } , set : function ( a ) { a = a || ! 1 , a !== this . _muted && ( a ? ( this . _muted = ! 0 , this . _muteVolume = this . _tempVolume , this . usingWebAudio ? this . gainNode . gain . value = 0 : this . usingAudioTag && this . _sound && ( this . _sound . volume = 0 ) ) : ( this . _muted = ! 1 , this . usingWebAudio ? this . gainNode . gain . value = this . _muteVolume : this . usingAudioTag && this . _sound && ( this . _sound . volume = this . _muteVolume ) ) , this . onMute . dispatch ( this ) ) } } ) , Object . defineProperty ( c . Sound . prototype , "volume" , { get : function ( ) { return this . _volume } , set : function ( a ) { return this . game . device . firefox && this . usingAudioTag && ( a = this . game . math . clamp ( a , 0 , 1 ) ) , this . _muted ? void ( this . _muteVolume = a ) : ( this . _tempVolume = a , this . _volume = a , void ( this . usingWebAudio ? this . gainNode . gain . value = a : this . usingAudioTag && this . _sound && ( this . _sound . volume = a ) ) ) } } ) , c . SoundManager = function ( a ) { this . game = a , this . onSoundDecode = new c . Signal , this . onVolumeChange = new c . Signal , this . onMute = new c . Signal , this . onUnMute = new c . Signal , this . context = null , this . usingWebAudio = ! 1 , this . usingAudioTag = ! 1 , this . noAudio = ! 1 , this . connectToMaster = ! 0 , this . touchLocked = ! 1 , this . channels = 32 , this . muteOnPause = ! 0 , this . _codeMuted = ! 1 , this . _muted = ! 1 , this . _unlockSource = null , this . _volume = 1 , this . _sounds = [ ] , this . _watchList = new c . ArraySet , this . _watching = ! 1 , this . _watchCallback = null , this . _watchContext = null } , c . SoundManager . prototype = { boot : function ( ) { if ( this . game . device . iOS && this . game . device . webAudio === ! 1 && ( this . channels = 1 ) , window . PhaserGlobal ) { if ( window . PhaserGlobal . disableAudio === ! 0 ) return this . noAudio = ! 0 , void ( this . touchLocked = ! 1 ) ; if ( window . PhaserGlobal . disableWebAudio === ! 0 ) return this . usingAudioTag = ! 0 , void ( this . touchLocked = ! 1 ) } if ( window . PhaserGlobal && window . PhaserGlobal . audioContext ) this . context = window . PhaserGlobal . audioContext ; else if ( window . AudioContext ) try { this . context = new window . AudioContext } catch ( a ) { this . context = null , this . usingWebAudio = ! 1 , this . touchLocked = ! 1 } else if ( window . webkitAudioContext ) try { this . context = new window . w
this . line ( "ID: " + a . id + " Active: " + a . active ) , this . line ( "World X: " + a . worldX + " World Y: " + a . worldY ) , this . line ( "Screen X: " + a . x + " Screen Y: " + a . y + " In: " + a . withinGame ) , this . line ( "Duration: " + a . duration + " ms" ) , this . line ( "is Down: " + a . isDown + " is Up: " + a . isUp ) , this . stop ( ) ) ) } , spriteInputInfo : function ( a , b , c , d ) { this . start ( b , c , d ) , this . line ( "Sprite Input: (" + a . width + " x " + a . height + ")" ) , this . line ( "x: " + a . input . pointerX ( ) . toFixed ( 1 ) + " y: " + a . input . pointerY ( ) . toFixed ( 1 ) ) , this . line ( "over: " + a . input . pointerOver ( ) + " duration: " + a . input . overDuration ( ) . toFixed ( 0 ) ) , this . line ( "down: " + a . input . pointerDown ( ) + " duration: " + a . input . downDuration ( ) . toFixed ( 0 ) ) , this . line ( "just over: " + a . input . justOver ( ) + " just out: " + a . input . justOut ( ) ) , this . stop ( ) } , key : function ( a , b , c , d ) { this . start ( b , c , d , 150 ) , this . line ( "Key:" , a . keyCode , "isDown:" , a . isDown ) , this . line ( "justDown:" , a . justDown , "justUp:" , a . justUp ) , this . line ( "Time Down:" , a . timeDown . toFixed ( 0 ) , "duration:" , a . duration . toFixed ( 0 ) ) , this . stop ( ) } , inputInfo : function ( a , b , c ) { this . start ( a , b , c ) , this . line ( "Input" ) , this . line ( "X: " + this . game . input . x + " Y: " + this . game . input . y ) , this . line ( "World X: " + this . game . input . worldX + " World Y: " + this . game . input . worldY ) , this . line ( "Scale X: " + this . game . input . scale . x . toFixed ( 1 ) + " Scale Y: " + this . game . input . scale . x . toFixed ( 1 ) ) , this . line ( "Screen X: " + this . game . input . activePointer . screenX + " Screen Y: " + this . game . input . activePointer . screenY ) , this . stop ( ) } , spriteBounds : function ( a , b , c ) { var d = a . getBounds ( ) ; d . x += this . game . camera . x , d . y += this . game . camera . y , this . rectangle ( d , b , c ) } , ropeSegments : function ( a , b , c ) { var d = a . segments , e = this ; d . forEach ( function ( a ) { e . rectangle ( a , b , c ) } , this ) } , spriteInfo : function ( a , b , c , d ) { this . start ( b , c , d ) , this . line ( "Sprite: (" + a . width + " x " + a . height + ") anchor: " + a . anchor . x + " x " + a . anchor . y ) , this . line ( "x: " + a . x . toFixed ( 1 ) + " y: " + a . y . toFixed ( 1 ) ) , this . line ( "angle: " + a . angle . toFixed ( 1 ) + " rotation: " + a . rotation . toFixed ( 1 ) ) , this . line ( "visible: " + a . visible + " in camera: " + a . inCamera ) , this . line ( "bounds x: " + a . _bounds . x . toFixed ( 1 ) + " y: " + a . _bounds . y . toFixed ( 1 ) + " w: " + a . _bounds . width . toFixed ( 1 ) + " h: " + a . _bounds . height . toFixed ( 1 ) ) , this . stop ( ) } , spriteCoords : function ( a , b , c , d ) { this . start ( b , c , d , 100 ) , a . name && this . line ( a . name ) , this . line ( "x:" , a . x . toFixed ( 2 ) , "y:" , a . y . toFixed ( 2 ) ) , this . line ( "pos x:" , a . position . x . toFixed ( 2 ) , "pos y:" , a . position . y . toFixed ( 2 ) ) , this . line ( "world x:" , a . world . x . toFixed ( 2 ) , "world y:" , a . world . y . toFixed ( 2 ) ) , this . stop ( ) } , lineInfo : function ( a , b , c , d ) { this . start ( b , c , d , 80 ) , this . line ( "start.x:" , a . start . x . toFixed ( 2 ) , "start.y:" , a . start . y . toFixed ( 2 ) ) , this . line ( "end.x:" , a . end . x . toFixed ( 2 ) , "end.y:" , a . end . y . toFixed ( 2 ) ) , this . line ( "length:" , a . length . toFixed ( 2 ) , "angle:" , a . angle ) , this . stop ( ) } , pixel : function ( a , b , c , d ) { d = d || 2 , this . start ( ) , this . context . fillStyle = c , this . context . fillRect ( a , b , d , d ) , this . stop ( ) } , geom : function ( a , b , d , e ) { void 0 === d && ( d = ! 0 ) , void 0 === e && ( e = 0 ) , b = b || "rgba(0,255,0,0.4)" , this . start ( ) , this . context . fillStyle = b , this . context . strokeStyle = b , a instanceof c . Rectangle || 1 === e ? d ? this . context . fillRect ( a . x - this . game . camera . x , a . y - this . game . camera . y , a . width , a . height ) : this . context . strokeRect ( a . x - this . game . camera . x , a . y - this . game . camera . y , a . width , a . height ) : a instanceof c . Circle || 2 === e ? ( this . context . beginPath ( ) , this . context . arc ( a . x - this . game . camera . x , a . y - this . game . camera . y , a . radius , 0 , 2 * Math . PI , ! 1 ) , this . context . closePath ( ) , d ? this . context . fill ( ) : this . context . stroke ( ) ) : a instanceof c . Point || 3 === e ? this . context . fillRect ( a . x - this . game . camera . x , a . y - this . game . camera . y , 4 , 4 ) : ( a instanceof c . Line || 4 === e ) && ( this . context . lineWidth = 1 , this . context . beginPath ( ) , this . context . moveTo ( a . start . x + . 5 - this . game . camera . x , a . start . y + . 5 - this . game . camera . y ) , this . context . lineTo ( a . end . x + . 5 - this . game . camera . x , a . end . y + . 5 - this . game . camera . y ) , this . context . closePath ( ) , this . context . stroke ( ) ) , this . stop ( ) } , rectangle : function ( a , b , c ) { void 0 === c && ( c = ! 0 ) , b = b || "rgba(0, 255, 0, 0.4)" , this . start ( ) , c ? ( this . context . fillStyle = b , this . context . fillRect ( a . x - this . game . camera . x , a . y - this . game . camera . y , a . width , a . height ) ) : ( this . context . strokeStyle = b , this . context . strokeRect ( a . x - this . game . camera . x , a . y - this . game . camera . y , a . width , a . height ) ) , this . stop ( ) } , tex
this . texture . valid = ! 1 , null !== b && this . video && ( this . texture . valid = this . video . canplay ) , this . snapshot = null , c . BitmapData && ( this . snapshot = new c . BitmapData ( this . game , "" , this . width , this . height ) ) , ! this . game . device . cocoonJS && ( this . game . device . iOS || this . game . device . android ) || window . PhaserGlobal && window . PhaserGlobal . fakeiOSTouchLock ? this . setTouchLock ( ) : e && ( e . locked = ! 1 ) } , c . Video . prototype = { connectToMediaStream : function ( a , b ) { return a && b && ( this . video = a , this . videoStream = b , this . isStreaming = ! 0 , this . baseTexture . source = this . video , this . updateTexture ( null , this . video . videoWidth , this . video . videoHeight ) , this . onAccess . dispatch ( this ) ) , this } , startMediaStream : function ( a , b , c ) { if ( void 0 === a && ( a = ! 1 ) , void 0 === b && ( b = null ) , void 0 === c && ( c = null ) , ! this . game . device . getUserMedia ) return this . onError . dispatch ( this , "No getUserMedia" ) , ! 1 ; null !== this . videoStream && ( this . videoStream . active ? this . videoStream . active = ! 1 : this . videoStream . stop ( ) ) , this . removeVideoElement ( ) , this . video = document . createElement ( "video" ) , this . video . setAttribute ( "autoplay" , "autoplay" ) , null !== b && ( this . video . width = b ) , null !== c && ( this . video . height = c ) , this . _timeOutID = window . setTimeout ( this . getUserMediaTimeout . bind ( this ) , this . timeout ) ; try { navigator . getUserMedia ( { audio : a , video : ! 0 } , this . getUserMediaSuccess . bind ( this ) , this . getUserMediaError . bind ( this ) ) } catch ( a ) { this . getUserMediaError ( a ) } return this } , getUserMediaTimeout : function ( ) { clearTimeout ( this . _timeOutID ) , this . onTimeout . dispatch ( this ) } , getUserMediaError : function ( a ) { clearTimeout ( this . _timeOutID ) , this . onError . dispatch ( this , a ) } , getUserMediaSuccess : function ( a ) { clearTimeout ( this . _timeOutID ) , this . videoStream = a , void 0 !== this . video . mozSrcObject ? this . video . mozSrcObject = a : this . video . src = window . URL && window . URL . createObjectURL ( a ) || a ; var b = this ; this . video . onloadeddata = function ( ) { function a ( ) { if ( c > 0 ) if ( b . video . videoWidth > 0 ) { var d = b . video . videoWidth , e = b . video . videoHeight ; isNaN ( b . video . videoHeight ) && ( e = d / ( 4 / 3 ) ) , b . video . play ( ) , b . isStreaming = ! 0 , b . baseTexture . source = b . video , b . updateTexture ( null , d , e ) , b . onAccess . dispatch ( b ) } else window . setTimeout ( a , 500 ) ; else console . warn ( "Unable to connect to video stream. Webcam error?" ) ; c -- } var c = 10 ; a ( ) } } , createVideoFromBlob : function ( a ) { var b = this ; return this . video = document . createElement ( "video" ) , this . video . controls = ! 1 , this . video . setAttribute ( "autoplay" , "autoplay" ) , this . video . addEventListener ( "loadeddata" , function ( a ) { b . updateTexture ( a ) } , ! 0 ) , this . video . src = window . URL . createObjectURL ( a ) , this . video . canplay = ! 0 , this } , createVideoFromURL : function ( a , b ) { return void 0 === b && ( b = ! 1 ) , this . texture && ( this . texture . valid = ! 1 ) , this . video = document . createElement ( "video" ) , this . video . controls = ! 1 , b && this . video . setAttribute ( "autoplay" , "autoplay" ) , this . video . src = a , this . video . canplay = ! 0 , this . video . load ( ) , this . retry = this . retryLimit , this . _retryID = window . setTimeout ( this . checkVideoProgress . bind ( this ) , this . retryInterval ) , this . key = a , this } , updateTexture : function ( a , b , c ) { var d = ! 1 ; void 0 !== b && null !== b || ( b = this . video . videoWidth , d = ! 0 ) , void 0 !== c && null !== c || ( c = this . video . videoHeight ) , this . width = b , this . height = c , this . baseTexture . source !== this . video && ( this . baseTexture . source = this . video ) , this . baseTexture . forceLoaded ( b , c ) , this . texture . frame . resize ( b , c ) , this . texture . width = b , this . texture . height = c , this . texture . valid = ! 0 , this . snapshot && this . snapshot . resize ( b , c ) , d && null !== this . key && ( this . onChangeSource . dispatch ( this , b , c ) , this . _autoplay && ( this . video . play ( ) , this . onPlay . dispatch ( this , this . loop , this . playbackRate ) ) ) } , complete : function ( ) { this . onComplete . dispatch ( this ) } , play : function ( a , b ) { return void 0 === a && ( a = ! 1 ) , void 0 === b && ( b = 1 ) , this . game . sound . onMute && ( this . game . sound . onMute . add ( this . setMute , this ) , this . game . sound . onUnMute . add ( this . unsetMute , this ) , this . game . sound . mute && this . setMute ( ) ) , this . game . onPause . add ( this . setPause , this ) , this . game . onResume . add ( this . setResume , this ) , this . _endCallback = this . complete . bind ( this ) , this . video . addEventListener ( "ended" , this . _endCallback , ! 0 ) , this . video . addEventListener ( "webkitendfullscreen" , this . _endCallback , ! 0 ) , a ? this . video . loop = "loop" : this . video . loop = "" , this . video . playbackRate = b , this . touchLocked ? this . _pending = ! 0 : ( this . _pending = ! 1 , null !== this . key && ( 4 !== this . video .
2015-02-25 02:59:00 +00:00
//# sourceMappingURL=phaser-no-physics.map