2016-07-18 22:43:27 +00:00
/* Phaser v2.6.2 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */
2015-02-25 02:59:00 +00:00
2016-08-26 00:18:47 +00:00
( function ( ) { var a = this , b = b || { } ; return b . game = null , b . WEBGL _RENDERER = 0 , b . CANVAS _RENDERER = 1 , b . VERSION = "v2.2.9" , b . _UID = 0 , "undefined" != typeof Float32Array ? ( b . Float32Array = Float32Array , b . Uint16Array = Uint16Array , b . Uint32Array = Uint32Array , b . ArrayBuffer = ArrayBuffer ) : ( b . Float32Array = Array , b . Uint16Array = Array ) , b . PI _2 = 2 * Math . PI , b . RAD _TO _DEG = 180 / Math . PI , b . DEG _TO _RAD = Math . PI / 180 , b . RETINA _PREFIX = "@2x" , b . DisplayObject = function ( ) { this . position = new b . Point ( 0 , 0 ) , this . scale = new b . Point ( 1 , 1 ) , this . pivot = new b . Point ( 0 , 0 ) , this . rotation = 0 , this . alpha = 1 , this . visible = ! 0 , this . hitArea = null , this . renderable = ! 1 , this . parent = null , this . worldAlpha = 1 , this . worldTransform = new b . Matrix , this . worldPosition = new b . Point ( 0 , 0 ) , this . worldScale = new b . Point ( 1 , 1 ) , this . worldRotation = 0 , this . filterArea = null , this . _sr = 0 , this . _cr = 1 , this . _bounds = new b . Rectangle ( 0 , 0 , 0 , 0 ) , this . _currentBounds = null , this . _mask = null , this . _cacheAsBitmap = ! 1 , this . _cacheIsDirty = ! 1 } , b . DisplayObject . prototype . constructor = b . DisplayObject , b . DisplayObject . prototype = { destroy : function ( ) { if ( this . children ) { for ( var a = this . children . length ; a -- ; ) this . children [ a ] . destroy ( ) ; this . children = [ ] } this . 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 c = this . parent ; a ? c = a : this . parent || ( c = this . game . world ) ; var d , e , f , g , h , i , j = c . worldTransform , k = this . worldTransform ; return this . rotation % b . PI _2 ? ( this . rotation !== this . rotationCache && ( this . rotationCache = this . rotation , this . _sr = Math . sin ( this . rotation ) , this . _cr = Math . cos ( this . rotation ) ) , d = this . _cr * this . scale . x , e = this . _sr * this . scale . x , f = - this . _sr * this . scale . y , g = this . _cr * this . scale . y , h = this . position . x , i = this . position . y , ( this . pivot . x || this . pivot . y ) && ( h -= this . pivot . x * d + this . pivot . y * f , i -= this . pivot . x * e + this . pivot . y * g ) , k . a = d * j . a + e * j . c , k . b = d * j . b + e * j . d , k . c = f * j . a + g * j . c , k . d = f * j . b + g * j . d , k . tx = h * j . a + i * j . c + j . tx , k . ty = h * j . b + i * j . d + j . ty ) : ( d = this . scale . x , g = this . scale . y , h = this . position . x - this . pivot . x * d , i = this . position . y - this . pivot . y * g , k . a = d * j . a , k . b = d * j . b , k . c = g * j . c , k . d = g * j . d , k . tx = h * j . a + i * j . c + j . tx , k . ty = h * j . b + i * j . d + j . ty ) , this . worldAlpha = this . alpha * c . worldAlpha , this . worldPosition . set ( k . tx , k . ty ) , this . worldScale . set ( 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 , c , d ) { var e = this . getLocalBounds ( ) , f = new b . RenderTexture ( 0 | e . width , 0 | e . height , d , c , a ) ; return b . DisplayObject . _tempMatrix . tx = - e . x , b . DisplayObject . _tempMatrix . ty = - e . y , f . render ( this , b . 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 . worldAlpha = this . worldAlpha , a . gl ? b . Sprite . prototype . _renderWebGL . call ( this . _cachedSprite , a ) : b . Sprite . prototype . _renderCanvas . call ( this . _cachedSprite , a ) } , _generateCachedSprite : function ( ) { this . _cacheAsBitmap = ! 1 ; var a = this . getLocalBounds ( ) ; if ( a . width = Math . max ( 1 , Math . ceil ( a . width ) ) , a . height = Math . max ( 1 , Math . ceil ( a . height ) ) , this . updateTransform ( ) , this . _cachedSprite ) this . _cachedSprite . texture . resize ( a . width , a . height ) ; else { var c = new b . RenderTexture ( a . width , a . height ) ; this . _cachedSprite = new b . Sprite ( c ) , this . _cachedSprite . worldTransform = this . worldTransform } var d = this . _filters ; this . _filters = null , this . _cachedSprite . filters = d , b . DisplayObject . _tempMatrix . tx = - a . x , b . DisplayObject . _tempMatrix . ty = - a . y , this . _cachedSprite . texture . render ( this , b . DisplayObject . _tempMatrix , ! 0 ) , this . _cachedSprite . anchor . x = - ( a . x / a . width ) , this . _cachedSprite . anchor . y = - ( a . y / a . height ) , this . _filters = d , this . _cacheAsBitmap = ! 0 } , _destroyCachedSprite : function ( ) { this . _cachedSprite && ( this . _cachedSprite . texture . destroy ( ! 0 ) , this . _cachedSprite = null ) } } , b . DisplayObject . p
this . renderSession . resolution = this . resolution , this . initContext ( ) , this . mapBlendModes ( ) } , b . WebGLRenderer . prototype . constructor = b . WebGLRenderer , b . WebGLRenderer . prototype . initContext = function ( ) { var a = this . view . getContext ( "webgl" , this . _contextOptions ) || this . view . getContext ( "experimental-webgl" , this . _contextOptions ) ; if ( this . gl = a , ! a ) throw new Error ( "This browser does not support webGL. Try using the canvas renderer" ) ; this . glContextId = a . id = b . WebGLRenderer . glContextId ++ , b . glContexts [ this . glContextId ] = a , b . instances [ this . glContextId ] = this , a . disable ( a . DEPTH _TEST ) , a . disable ( a . CULL _FACE ) , a . enable ( a . BLEND ) , this . shaderManager . setContext ( a ) , this . spriteBatch . setContext ( a ) , this . maskManager . setContext ( a ) , this . filterManager . setContext ( a ) , this . blendModeManager . setContext ( a ) , this . stencilManager . setContext ( a ) , this . renderSession . gl = this . gl , this . resize ( this . width , this . height ) } , b . WebGLRenderer . prototype . render = function ( a ) { if ( ! this . contextLost ) { var b = this . gl ; b . viewport ( 0 , 0 , this . width , this . height ) , b . bindFramebuffer ( b . FRAMEBUFFER , null ) , this . game . clearBeforeRender && ( b . clearColor ( a . _bgColor . r , a . _bgColor . g , a . _bgColor . b , a . _bgColor . a ) , b . clear ( b . COLOR _BUFFER _BIT ) ) , this . offset . x = this . game . camera . _shake . x , this . offset . y = this . game . camera . _shake . y , this . renderDisplayObject ( a , this . projection ) } } , b . WebGLRenderer . prototype . renderDisplayObject = function ( a , c , d , e ) { this . renderSession . blendModeManager . setBlendMode ( b . blendModes . NORMAL ) , this . renderSession . drawCount = 0 , this . renderSession . flipY = d ? - 1 : 1 , this . renderSession . projection = c , this . renderSession . offset = this . offset , this . spriteBatch . begin ( this . renderSession ) , this . filterManager . begin ( this . renderSession , d ) , a . _renderWebGL ( this . renderSession , e ) , this . spriteBatch . end ( ) } , b . WebGLRenderer . prototype . resize = function ( a , b ) { this . width = a * this . resolution , this . height = b * this . resolution , this . view . width = this . width , this . view . height = this . height , this . autoResize && ( this . view . style . width = this . width / this . resolution + "px" , this . view . style . height = this . height / this . resolution + "px" ) , this . gl . viewport ( 0 , 0 , this . width , this . height ) , this . projection . x = this . width / 2 / this . resolution , this . projection . y = - this . height / 2 / this . resolution } , b . WebGLRenderer . prototype . updateTexture = function ( a ) { if ( ! a . hasLoaded ) return ! 1 ; var c = this . gl ; return a . _glTextures [ c . id ] || ( a . _glTextures [ c . id ] = c . createTexture ( ) ) , c . bindTexture ( c . TEXTURE _2D , a . _glTextures [ c . id ] ) , c . pixelStorei ( c . UNPACK _PREMULTIPLY _ALPHA _WEBGL , a . premultipliedAlpha ) , c . texImage2D ( c . TEXTURE _2D , 0 , c . RGBA , c . RGBA , c . UNSIGNED _BYTE , a . source ) , c . texParameteri ( c . TEXTURE _2D , c . TEXTURE _MAG _FILTER , a . scaleMode === b . scaleModes . LINEAR ? c . LINEAR : c . NEAREST ) , a . mipmap && b . isPowerOfTwo ( a . width , a . height ) ? ( c . texParameteri ( c . TEXTURE _2D , c . TEXTURE _MIN _FILTER , a . scaleMode === b . scaleModes . LINEAR ? c . LINEAR _MIPMAP _LINEAR : c . NEAREST _MIPMAP _NEAREST ) , c . generateMipmap ( c . TEXTURE _2D ) ) : c . texParameteri ( c . TEXTURE _2D , c . TEXTURE _MIN _FILTER , a . scaleMode === b . scaleModes . LINEAR ? c . LINEAR : c . NEAREST ) , a . _powerOf2 ? ( c . texParameteri ( c . TEXTURE _2D , c . TEXTURE _WRAP _S , c . REPEAT ) , c . texParameteri ( c . TEXTURE _2D , c . TEXTURE _WRAP _T , c . REPEAT ) ) : ( c . texParameteri ( c . TEXTURE _2D , c . TEXTURE _WRAP _S , c . CLAMP _TO _EDGE ) , c . texParameteri ( c . TEXTURE _2D , c . TEXTURE _WRAP _T , c . CLAMP _TO _EDGE ) ) , a . _dirty [ c . id ] = ! 1 , ! 0 } , b . WebGLRenderer . prototype . destroy = function ( ) { b . glContexts [ this . glContextId ] = null , this . projection = null , this . offset = null , this . shaderManager . destroy ( ) , this . spriteBatch . destroy ( ) , this . maskManager . destroy ( ) , this . filterManager . destroy ( ) , this . shaderManager = null , this . spriteBatch = null , this . maskManager = null , this . filterManager = null , this . gl = null , this . renderSession = null , b . CanvasPool . remove ( this ) , b . instances [ this . glContextId ] = null , b . WebGLRenderer . glContextId -- } , b . WebGLRenderer . prototype . mapBlendModes = function ( ) { var a = this . gl ; if ( ! b . blendModesWebGL ) { var c = [ ] , d = b . blendModes ; c [ d . NORMAL ] = [ a . ONE , a . ONE _MINUS _SRC _ALPHA ] , c [ d . ADD ] = [ a . SRC _ALPHA , a . DST _ALPHA ] , c [ d . MULTIPLY ] = [ a . DST _COLOR , a . ONE _MINUS _SRC _ALPHA ] , c [ d . SCREEN ] = [ a . SRC _ALPHA , a . ONE ] , c [ d . OVERLAY ] = [ a . ONE , a . ONE _MINUS _SRC _ALPHA ] , c [ d . DARKEN ] = [ a . ONE , a . ONE _MINUS _SRC _ALPHA ] , c [ d . LIGHTEN ] = [ a . ONE , a . ONE _MINUS _SRC _ALPHA ] , c [ d . COLOR _DODGE ] = [ a . ONE , a . ONE _MINUS _SRC _ALPHA ] , c [ d . COLOR _BURN ] = [ a . ONE , a . ONE _MINUS _S
var d = a . context . getImageData ( 1 , 0 , 1 , 1 ) ; return d . data [ 0 ] === c . data [ 0 ] && d . data [ 1 ] === c . data [ 1 ] && d . data [ 2 ] === c . data [ 2 ] && d . data [ 3 ] === c . data [ 3 ] } , b . CanvasTinter . canHandleAlpha = b . CanvasTinter . checkInverseAlpha ( ) , b . CanvasTinter . canUseMultiply = b . canUseNewCanvasBlendModes ( ) , b . CanvasTinter . tintMethod = b . CanvasTinter . canUseMultiply ? b . CanvasTinter . tintWithMultiply : b . CanvasTinter . tintWithPerPixel , b . CanvasRenderer = function ( a ) { this . game = a , b . defaultRenderer || ( b . defaultRenderer = this ) , this . type = b . CANVAS _RENDERER , this . resolution = a . resolution , this . clearBeforeRender = a . clearBeforeRender , this . transparent = a . transparent , this . autoResize = ! 1 , this . width = a . width * this . resolution , this . height = a . height * this . resolution , this . view = a . canvas , this . context = this . view . getContext ( "2d" , { alpha : this . transparent } ) , this . refresh = ! 0 , this . count = 0 , this . maskManager = new b . CanvasMaskManager , this . renderSession = { context : this . context , maskManager : this . maskManager , scaleMode : null , smoothProperty : Phaser . Canvas . getSmoothingPrefix ( this . context ) , roundPixels : ! 1 } , this . mapBlendModes ( ) , this . resize ( this . width , this . height ) } , b . CanvasRenderer . prototype . constructor = b . CanvasRenderer , b . CanvasRenderer . prototype . render = function ( a ) { this . context . setTransform ( 1 , 0 , 0 , 1 , 0 , 0 ) , this . context . globalAlpha = 1 , this . renderSession . currentBlendMode = 0 , this . renderSession . shakeX = this . game . camera . _shake . x , this . renderSession . shakeY = this . game . camera . _shake . y , this . context . globalCompositeOperation = "source-over" , navigator . isCocoonJS && this . view . screencanvas && ( this . context . fillStyle = "black" , this . context . clear ( ) ) , this . clearBeforeRender && ( this . transparent ? this . context . clearRect ( 0 , 0 , this . width , this . height ) : a . _bgColor && ( this . context . fillStyle = a . _bgColor . rgba , this . context . fillRect ( 0 , 0 , this . width , this . height ) ) ) , this . renderDisplayObject ( a ) } , b . CanvasRenderer . prototype . destroy = function ( a ) { void 0 === a && ( a = ! 0 ) , a && this . view . parent && this . view . parent . removeChild ( this . view ) , this . view = null , this . context = null , this . maskManager = null , this . renderSession = null } , b . CanvasRenderer . prototype . resize = function ( a , c ) { this . width = a * this . resolution , this . height = c * this . resolution , this . view . width = this . width , this . view . height = this . height , this . autoResize && ( this . view . style . width = this . width / this . resolution + "px" , this . view . style . height = this . height / this . resolution + "px" ) , this . renderSession . smoothProperty && ( this . context [ this . renderSession . smoothProperty ] = this . renderSession . scaleMode === b . scaleModes . LINEAR ) } , b . CanvasRenderer . prototype . renderDisplayObject = function ( a , b , c ) { this . renderSession . context = b || this . context , this . renderSession . resolution = this . resolution , a . _renderCanvas ( this . renderSession , c ) } , b . CanvasRenderer . prototype . mapBlendModes = function ( ) { if ( ! b . blendModesCanvas ) { var a = [ ] , c = b . blendModes , d = b . canUseNewCanvasBlendModes ( ) ; a [ c . NORMAL ] = "source-over" , a [ c . ADD ] = "lighter" , a [ c . MULTIPLY ] = d ? "multiply" : "source-over" , a [ c . SCREEN ] = d ? "screen" : "source-over" , a [ c . OVERLAY ] = d ? "overlay" : "source-over" , a [ c . DARKEN ] = d ? "darken" : "source-over" , a [ c . LIGHTEN ] = d ? "lighten" : "source-over" , a [ c . COLOR _DODGE ] = d ? "color-dodge" : "source-over" , a [ c . COLOR _BURN ] = d ? "color-burn" : "source-over" , a [ c . HARD _LIGHT ] = d ? "hard-light" : "source-over" , a [ c . SOFT _LIGHT ] = d ? "soft-light" : "source-over" , a [ c . DIFFERENCE ] = d ? "difference" : "source-over" , a [ c . EXCLUSION ] = d ? "exclusion" : "source-over" , a [ c . HUE ] = d ? "hue" : "source-over" , a [ c . SATURATION ] = d ? "saturation" : "source-over" , a [ c . COLOR ] = d ? "color" : "source-over" , a [ c . LUMINOSITY ] = d ? "luminosity" : "source-over" , b . blendModesCanvas = a } } , b . BaseTexture = function ( a , c ) { this . resolution = 1 , this . width = 100 , this . height = 100 , this . scaleMode = c || b . scaleModes . DEFAULT , this . hasLoaded = ! 1 , this . source = a , this . premultipliedAlpha = ! 0 , this . _glTextures = [ ] , this . mipmap = ! 1 , this . _dirty = [ ! 0 , ! 0 , ! 0 , ! 0 ] , a && ( ( this . source . complete || this . source . getContext ) && this . source . width && this . source . height && ( this . hasLoaded = ! 0 , this . width = this . source . naturalWidth || this . source . width , this . height = this . source . naturalHeight || this . source . height , this . dirty ( ) ) , this . skipRender = ! 1 , this . _powerOf2 = ! 1 ) } , b . BaseTexture . prototype . constructor = b . BaseTexture , b . BaseTexture . prototype . forceLoaded = function ( a , b ) { this . hasLoaded = ! 0 , this . width = a , this . height = b , this . dirty ( ) } , b . BaseTexture . prototype . de
b . setTo ( a . y * - 1 , a . x ) } , c . Point . normalize = function ( a , b ) { void 0 === b && ( b = new c . Point ) ; var d = a . getMagnitude ( ) ; return 0 !== d && b . setTo ( a . x / d , a . y / d ) , b } , c . Point . rotate = function ( a , b , d , e , f , g ) { if ( f && ( e = c . Math . degToRad ( e ) ) , void 0 === g ) { a . subtract ( b , d ) ; var h = Math . sin ( e ) , i = Math . cos ( e ) , j = i * a . x - h * a . y , k = h * a . x + i * a . y ; a . x = j + b , a . y = k + d } else { var l = e + Math . atan2 ( a . y - d , a . x - b ) ; a . x = b + g * Math . cos ( l ) , a . y = d + g * Math . sin ( l ) } return a } , c . Point . centroid = function ( a , b ) { if ( void 0 === b && ( b = new c . Point ) , "[object Array]" !== Object . prototype . toString . call ( a ) ) throw new Error ( "Phaser.Point. Parameter 'points' must be an array" ) ; var d = a . length ; if ( d < 1 ) throw new Error ( "Phaser.Point. Parameter 'points' array must not be empty" ) ; if ( 1 === d ) return b . copyFrom ( a [ 0 ] ) , b ; for ( var e = 0 ; e < d ; e ++ ) c . Point . add ( b , a [ e ] , b ) ; return b . divide ( d , d ) , b } , c . Point . parse = function ( a , b , d ) { b = b || "x" , d = d || "y" ; var e = new c . Point ; return a [ b ] && ( e . x = parseInt ( a [ b ] , 10 ) ) , a [ d ] && ( e . y = parseInt ( a [ d ] , 10 ) ) , e } , PIXI . Point = c . Point , c . Polygon = function ( ) { this . area = 0 , this . _points = [ ] , arguments . length > 0 && this . setTo . apply ( this , arguments ) , this . closed = ! 0 , this . flattened = ! 1 , this . type = c . POLYGON } , c . Polygon . prototype = { toNumberArray : function ( a ) { void 0 === a && ( a = [ ] ) ; for ( var b = 0 ; b < this . _points . length ; b ++ ) "number" == typeof this . _points [ b ] ? ( a . push ( this . _points [ b ] ) , a . push ( this . _points [ b + 1 ] ) , b ++ ) : ( a . push ( this . _points [ b ] . x ) , a . push ( this . _points [ b ] . y ) ) ; return a } , flatten : function ( ) { return this . _points = this . toNumberArray ( ) , this . flattened = ! 0 , this } , clone : function ( a ) { var b = this . _points . slice ( ) ; return void 0 === a || null === a ? a = new c . Polygon ( b ) : a . setTo ( b ) , a } , contains : function ( a , b ) { var c = ! 1 ; if ( this . flattened ) for ( var d = - 2 , e = this . _points . length - 2 ; ( d += 2 ) < this . _points . length ; e = d ) { var f = this . _points [ d ] , g = this . _points [ d + 1 ] , h = this . _points [ e ] , i = this . _points [ e + 1 ] ; ( g <= b && b < i || i <= b && b < g ) && a < ( h - f ) * ( b - g ) / ( i - g ) + f && ( c = ! c ) } else for ( var d = - 1 , e = this . _points . length - 1 ; ++ d < this . _points . length ; e = d ) { var f = this . _points [ d ] . x , g = this . _points [ d ] . y , h = this . _points [ e ] . x , i = this . _points [ e ] . y ; ( g <= b && b < i || i <= b && b < g ) && a < ( h - f ) * ( b - g ) / ( i - g ) + f && ( c = ! c ) } return c } , setTo : function ( a ) { if ( this . area = 0 , this . _points = [ ] , arguments . length > 0 ) { Array . isArray ( a ) || ( a = Array . prototype . slice . call ( arguments ) ) ; for ( var b = Number . MAX _VALUE , c = 0 , d = a . length ; c < d ; c ++ ) { if ( "number" == typeof a [ c ] ) { var e = new PIXI . Point ( a [ c ] , a [ c + 1 ] ) ; c ++ } else if ( Array . isArray ( a [ c ] ) ) var e = new PIXI . Point ( a [ c ] [ 0 ] , a [ c ] [ 1 ] ) ; else var e = new PIXI . Point ( a [ c ] . x , a [ c ] . y ) ; this . _points . push ( e ) , e . y < b && ( b = e . y ) } this . calculateArea ( b ) } return this } , calculateArea : function ( a ) { for ( var b , c , d , e , f = 0 , g = this . _points . length ; f < g ; f ++ ) b = this . _points [ f ] , c = f === g - 1 ? this . _points [ 0 ] : this . _points [ f + 1 ] , d = ( b . y - a + ( c . y - a ) ) / 2 , e = b . x - c . x , this . area += d * e ; return this . area } } , c . Polygon . prototype . constructor = c . Polygon , Object . defineProperty ( c . Polygon . prototype , "points" , { get : function ( ) { return this . _points } , set : function ( a ) { null != a ? this . setTo ( a ) : this . setTo ( ) } } ) , PIXI . Polygon = c . Polygon , c . Rectangle = function ( a , b , d , e ) { a = a || 0 , b = b || 0 , d = d || 0 , e = e || 0 , this . x = a , this . y = b , this . width = d , this . height = e , this . type = c . RECTANGLE } , c . Rectangle . prototype = { offset : function ( a , b ) { return this . x += a , this . y += b , this } , offsetPoint : function ( a ) { return this . offset ( a . x , a . y ) } , setTo : function ( a , b , c , d ) { return this . x = a , this . y = b , this . width = c , this . height = d , this } , scale : function ( a , b ) { return void 0 === b && ( b = a ) , this . width *= a , this . height *= b , this } , centerOn : function ( a , b ) { return this . centerX = a , this . centerY = b , this } , floor : function ( ) { this . x = Math . floor ( this . x ) , this . y = Math . floor ( this . y ) } , floorAll : function ( ) { this . x = Math . floor ( this . x ) , this . y = Math . floor ( this . y ) , this . width = Math . floor ( this . width ) , this . height = Math . floor ( this . height ) } , ceil : function ( ) { this . x = Math . ceil ( this . x ) , this . y = Math . ceil ( this . y ) } , ceilAll : function ( ) { this . x = Math . ceil ( this . x ) , this . y = Math . ceil ( this . y ) , this . width = Math . ceil ( this . width ) , this . height = Math . ceil ( this . height ) } , copyFrom : function ( a ) { return this . setTo ( a . x , a . y , a . width , a . height ) } , copyTo : function ( a ) { return a . x = this . x , a . y = this . y , a . width = this . width , a . height = this . height , a } , inflate : function ( a , b ) { return c . Rectangle . inflate ( this , a , b ) } , size : function ( a ) { return c . Rectangle . size ( this , a ) } , resize : function ( a , b ) { return this . width = a , this . height = b , this } , clone : function ( a ) { retu
return this . uniforms . resolution . value . y } , set : function ( a ) { this . uniforms . resolution . value . y = a } } ) , c . Plugin = function ( a , b ) { void 0 === b && ( b = null ) , this . game = a , this . parent = b , this . active = ! 1 , this . visible = ! 1 , this . hasPreUpdate = ! 1 , this . hasUpdate = ! 1 , this . hasPostUpdate = ! 1 , this . hasRender = ! 1 , this . hasPostRender = ! 1 } , c . Plugin . prototype = { preUpdate : function ( ) { } , update : function ( ) { } , render : function ( ) { } , postRender : function ( ) { } , destroy : function ( ) { this . game = null , this . parent = null , this . active = ! 1 , this . visible = ! 1 } } , c . Plugin . prototype . constructor = c . Plugin , c . PluginManager = function ( a ) { this . game = a , this . plugins = [ ] , this . _len = 0 , this . _i = 0 } , c . PluginManager . prototype = { add : function ( a ) { var b = Array . prototype . slice . call ( arguments , 1 ) , c = ! 1 ; return "function" == typeof a ? a = new a ( this . game , this ) : ( a . game = this . game , a . parent = this ) , "function" == typeof a . preUpdate && ( a . hasPreUpdate = ! 0 , c = ! 0 ) , "function" == typeof a . update && ( a . hasUpdate = ! 0 , c = ! 0 ) , "function" == typeof a . postUpdate && ( a . hasPostUpdate = ! 0 , c = ! 0 ) , "function" == typeof a . render && ( a . hasRender = ! 0 , c = ! 0 ) , "function" == typeof a . postRender && ( a . hasPostRender = ! 0 , c = ! 0 ) , c ? ( ( a . hasPreUpdate || a . hasUpdate || a . hasPostUpdate ) && ( a . active = ! 0 ) , ( a . hasRender || a . hasPostRender ) && ( a . visible = ! 0 ) , this . _len = this . plugins . push ( a ) , "function" == typeof a . init && a . init . apply ( a , b ) , a ) : null } , remove : function ( a , b ) { for ( void 0 === b && ( b = ! 0 ) , this . _i = this . _len ; this . _i -- ; ) if ( this . plugins [ this . _i ] === a ) return b && a . destroy ( ) , this . plugins . splice ( this . _i , 1 ) , void this . _len -- } , removeAll : function ( ) { for ( this . _i = this . _len ; this . _i -- ; ) this . plugins [ this . _i ] . destroy ( ) ; this . plugins . length = 0 , this . _len = 0 } , preUpdate : function ( ) { for ( this . _i = this . _len ; this . _i -- ; ) this . plugins [ this . _i ] . active && this . plugins [ this . _i ] . hasPreUpdate && this . plugins [ this . _i ] . preUpdate ( ) } , update : function ( ) { for ( this . _i = this . _len ; this . _i -- ; ) this . plugins [ this . _i ] . active && this . plugins [ this . _i ] . hasUpdate && this . plugins [ this . _i ] . update ( ) } , postUpdate : function ( ) { for ( this . _i = this . _len ; this . _i -- ; ) this . plugins [ this . _i ] . active && this . plugins [ this . _i ] . hasPostUpdate && this . plugins [ this . _i ] . postUpdate ( ) } , render : function ( ) { for ( this . _i = this . _len ; this . _i -- ; ) this . plugins [ this . _i ] . visible && this . plugins [ this . _i ] . hasRender && this . plugins [ this . _i ] . render ( ) } , postRender : function ( ) { for ( this . _i = this . _len ; this . _i -- ; ) this . plugins [ this . _i ] . visible && this . plugins [ this . _i ] . hasPostRender && this . plugins [ this . _i ] . postRender ( ) } , destroy : function ( ) { this . removeAll ( ) , this . game = null } } , c . PluginManager . prototype . constructor = c . PluginManager , c . Stage = function ( a ) { this . game = a , PIXI . DisplayObjectContainer . call ( this ) , this . name = "_stage_root" , this . disableVisibilityChange = ! 1 , this . exists = ! 0 , this . worldTransform = new PIXI . Matrix , this . stage = this , this . currentRenderOrderID = 0 , this . _hiddenVar = "hidden" , this . _onChange = null , this . _bgColor = { r : 0 , g : 0 , b : 0 , a : 0 , color : 0 , rgba : "#000000" } , this . game . transparent || ( this . _bgColor . a = 1 ) , a . config && this . parseConfig ( a . config ) } , c . Stage . prototype = Object . create ( PIXI . DisplayObjectContainer . prototype ) , c . Stage . prototype . constructor = c . Stage , c . Stage . prototype . parseConfig = function ( a ) { a . disableVisibilityChange && ( this . disableVisibilityChange = a . disableVisibilityChange ) , a . backgroundColor && this . setBackgroundColor ( a . backgroundColor ) } , c . Stage . prototype . boot = function ( ) { c . DOM . getOffset ( this . game . canvas , this . offset ) , c . Canvas . setUserSelect ( this . game . canvas , "none" ) , c . Canvas . setTouchAction ( this . game . canvas , "none" ) , this . checkVisibility ( ) } , c . Stage . prototype . preUpdate = function ( ) { this . currentRenderOrderID = 0 ; for ( var a = 0 ; a < this . children . length ; a ++ ) this . children [ a ] . preUpdate ( ) } , c . Stage . prototype . update = function ( ) { for ( var a = this . children . length ; a -- ; ) this . children [ a ] . update ( ) } , c . Stage . prototype . postUpdate = function ( ) { this . game . camera . update ( ) , this . game . camera . target && ( this . game . camera . target . postUpdate ( ) , this . updateTransform ( ) , this . game . camera . updateTarget ( ) ) ; for ( var a = 0 ; a < this . children . length ; a ++ ) this . children [ a ] . postUpdate ( ) ; this . updateTransform ( ) } , c . Stage . prototype . updateTransform = function ( ) { this . worldAlpha = 1 ; for ( var a = 0 ; a < this . children . length ; a ++ ) this . children [ a ] . updateTransform ( ) } , c . Stage . prototype . checkVisibility = function ( ) { void 0 !== document . hidden ? this . _hiddenVar = "visibilitychange" : void 0 !== do
this . fpsProblemNotifier . dispatch ( ) ) , this . _deltaTime = 0 , this . _spiraling = 0 , this . updateRender ( this . time . slowMotion * this . time . desiredFps ) ; else { var b = 1e3 * this . time . slowMotion / this . time . desiredFps ; this . _deltaTime += Math . max ( Math . min ( 3 * b , this . time . elapsed ) , 0 ) ; var c = 0 ; for ( this . updatesThisFrame = Math . floor ( this . _deltaTime / b ) , this . forceSingleUpdate && ( this . updatesThisFrame = Math . min ( 1 , this . updatesThisFrame ) ) ; this . _deltaTime >= b && ( this . _deltaTime -= b , this . currentUpdateID = c , this . updateLogic ( this . time . desiredFpsMult ) , c ++ , ! this . forceSingleUpdate || 1 !== c ) ; ) this . time . refresh ( ) ; c > this . _lastCount ? this . _spiraling ++ : c < this . _lastCount && ( this . _spiraling = 0 ) , this . _lastCount = c , this . updateRender ( this . _deltaTime / b ) } } , updateLogic : function ( a ) { this . _paused || this . pendingStep ? ( this . scale . pauseUpdate ( ) , this . state . pauseUpdate ( ) , this . debug . preUpdate ( ) ) : ( this . stepping && ( this . pendingStep = ! 0 ) , this . scale . preUpdate ( ) , this . debug . preUpdate ( ) , this . camera . preUpdate ( ) , this . physics . preUpdate ( ) , this . state . preUpdate ( a ) , this . plugins . preUpdate ( a ) , this . stage . preUpdate ( ) , this . state . update ( ) , this . stage . update ( ) , this . tweens . update ( ) , this . sound . update ( ) , this . input . update ( ) , this . physics . update ( ) , this . particles . update ( ) , this . plugins . update ( ) , this . stage . postUpdate ( ) , this . plugins . postUpdate ( ) ) , this . stage . updateTransform ( ) } , updateRender : function ( a ) { this . lockRender || ( this . state . preRender ( a ) , this . renderType !== c . HEADLESS && ( this . renderer . render ( this . stage ) , this . plugins . render ( a ) , this . state . render ( a ) ) , this . plugins . postRender ( a ) ) } , enableStep : function ( ) { this . stepping = ! 0 , this . pendingStep = ! 1 , this . stepCount = 0 } , disableStep : function ( ) { this . stepping = ! 1 , this . pendingStep = ! 1 } , step : function ( ) { this . pendingStep = ! 1 , this . stepCount ++ } , destroy : function ( ) { this . raf . stop ( ) , this . state . destroy ( ) , this . sound . destroy ( ) , this . scale . destroy ( ) , this . stage . destroy ( ) , this . input . destroy ( ) , this . physics . destroy ( ) , this . plugins . destroy ( ) , this . state = null , this . sound = null , this . scale = null , this . stage = null , this . input = null , this . physics = null , this . plugins = null , this . cache = null , this . load = null , this . time = null , this . world = null , this . isBooted = ! 1 , this . renderer . destroy ( ! 1 ) , c . Canvas . removeFromDOM ( this . canvas ) , PIXI . defaultRenderer = null , c . GAMES [ this . id ] = null } , gamePaused : function ( a ) { this . _paused || ( this . _paused = ! 0 , this . time . gamePaused ( ) , this . sound . muteOnPause && this . sound . setMute ( ) , this . onPause . dispatch ( a ) , this . device . cordova && this . device . iOS && ( this . lockRender = ! 0 ) ) } , gameResumed : function ( a ) { this . _paused && ! this . _codePaused && ( this . _paused = ! 1 , this . time . gameResumed ( ) , this . input . reset ( ) , this . sound . muteOnPause && this . sound . unsetMute ( ) , this . onResume . dispatch ( a ) , this . device . cordova && this . device . iOS && ( this . lockRender = ! 1 ) ) } , focusLoss : function ( a ) { this . onBlur . dispatch ( a ) , this . stage . disableVisibilityChange || this . gamePaused ( a ) } , focusGain : function ( a ) { this . onFocus . dispatch ( a ) , this . stage . disableVisibilityChange || this . gameResumed ( a ) } } , c . Game . prototype . constructor = c . Game , Object . defineProperty ( c . Game . prototype , "paused" , { get : function ( ) { return this . _paused } , set : function ( a ) { a === ! 0 ? ( this . _paused === ! 1 && ( this . _paused = ! 0 , this . sound . setMute ( ) , this . time . gamePaused ( ) , this . onPause . dispatch ( this ) ) , this . _codePaused = ! 0 ) : ( this . _paused && ( this . _paused = ! 1 , this . input . reset ( ) , this . sound . unsetMute ( ) , this . time . gameResumed ( ) , this . onResume . dispatch ( this ) ) , this . _codePaused = ! 1 ) } } ) , c . Input = function ( a ) { this . game = a , this . hitCanvas = null , this . hitContext = null , this . moveCallbacks = [ ] , this . customCandidateHandler = null , this . customCandidateHandlerContext = null , this . pollRate = 0 , this . enabled = ! 0 , this . multiInputOverride = c . Input . MOUSE _TOUCH _COMBINE , this . position = null , this . speed = null , this . circle = null , this . scale = null , this . maxPointers = - 1 , this . tapRate = 200 , this . doubleTapRate = 300 , this . holdRate = 2e3 , this . justPressedRate = 200 , this . justReleasedRate = 200 , this . recordPointerHistory = ! 1 , this . recordRate = 100 , this . recordLimit = 100 , this . pointer1 = null , this . pointer2 = null , this . pointer3 = null , this . pointer4 = null , this . pointer5 = null , this . pointer6 = null , this . pointer7 = null , this . pointer8 = null , this . pointer9 = null , this . pointer10 = null , this . pointers = [ ] , this . activePointer = null , this . mousePointer = null , this . mouse = null , this . keyboard = null , this . touch = null , this . mspoi
this . isDown === ! 0 && this . timeDown + a > this . game . time . time } , justReleased : function ( a ) { return a = a || this . game . input . justReleasedRate , this . isUp && this . timeUp + a > this . game . time . time } , addClickTrampoline : function ( a , b , c , d ) { if ( this . isDown ) { for ( var e = this . _clickTrampolines = this . _clickTrampolines || [ ] , f = 0 ; f < e . length ; f ++ ) if ( e [ f ] . name === a ) { e . splice ( f , 1 ) ; break } e . push ( { name : a , targetObject : this . targetObject , callback : b , callbackContext : c , callbackArgs : d } ) } } , processClickTrampolines : function ( ) { var a = this . _clickTrampolines ; if ( a ) { for ( var b = 0 ; b < a . length ; b ++ ) { var c = a [ b ] ; c . targetObject === this . _trampolineTargetObject && c . callback . apply ( c . callbackContext , c . callbackArgs ) } this . _clickTrampolines = null , this . _trampolineTargetObject = null } } , reset : function ( ) { this . isMouse === ! 1 && ( this . active = ! 1 ) , this . pointerId = null , this . identifier = null , this . dirty = ! 1 , this . totalTouches = 0 , this . _holdSent = ! 1 , this . _history . length = 0 , this . _stateReset = ! 0 , this . resetButtons ( ) , this . targetObject && this . targetObject . _releasedHandler ( this ) , this . targetObject = null } , resetMovement : function ( ) { this . movementX = 0 , this . movementY = 0 } } , c . Pointer . prototype . constructor = c . Pointer , Object . defineProperty ( c . Pointer . prototype , "duration" , { get : function ( ) { return this . isUp ? - 1 : this . game . time . time - this . timeDown } } ) , Object . defineProperty ( c . Pointer . prototype , "worldX" , { get : function ( ) { return this . game . world . camera . x + this . x } } ) , Object . defineProperty ( c . Pointer . prototype , "worldY" , { get : function ( ) { return this . game . world . camera . y + this . y } } ) , c . PointerMode = { CURSOR : 1 , CONTACT : 2 } , c . Touch = function ( a ) { this . game = a , this . enabled = ! 0 , this . touchLockCallbacks = [ ] , this . callbackContext = this . game , this . touchStartCallback = null , this . touchMoveCallback = null , this . touchEndCallback = null , this . touchEnterCallback = null , this . touchLeaveCallback = null , this . touchCancelCallback = null , this . preventDefault = ! 0 , this . event = null , this . _onTouchStart = null , this . _onTouchMove = null , this . _onTouchEnd = null , this . _onTouchEnter = null , this . _onTouchLeave = null , this . _onTouchCancel = null , this . _onTouchMove = null } , c . Touch . prototype = { start : function ( ) { if ( null === this . _onTouchStart ) { var a = this ; this . game . device . touch && ( this . _onTouchStart = function ( b ) { return a . onTouchStart ( b ) } , this . _onTouchMove = function ( b ) { return a . onTouchMove ( b ) } , this . _onTouchEnd = function ( b ) { return a . onTouchEnd ( b ) } , this . _onTouchEnter = function ( b ) { return a . onTouchEnter ( b ) } , this . _onTouchLeave = function ( b ) { return a . onTouchLeave ( b ) } , this . _onTouchCancel = function ( b ) { return a . onTouchCancel ( b ) } , this . game . canvas . addEventListener ( "touchstart" , this . _onTouchStart , ! 1 ) , this . game . canvas . addEventListener ( "touchmove" , this . _onTouchMove , ! 1 ) , this . game . canvas . addEventListener ( "touchend" , this . _onTouchEnd , ! 1 ) , this . game . canvas . addEventListener ( "touchcancel" , this . _onTouchCancel , ! 1 ) , this . game . device . cocoonJS || ( this . game . canvas . addEventListener ( "touchenter" , this . _onTouchEnter , ! 1 ) , this . game . canvas . addEventListener ( "touchleave" , this . _onTouchLeave , ! 1 ) ) ) } } , consumeDocumentTouches : function ( ) { this . _documentTouchMove = function ( a ) { a . preventDefault ( ) } , document . addEventListener ( "touchmove" , this . _documentTouchMove , ! 1 ) } , addTouchLockCallback : function ( a , b , c ) { void 0 === c && ( c = ! 1 ) , this . touchLockCallbacks . push ( { callback : a , context : b , onEnd : c } ) } , removeTouchLockCallback : function ( a , b ) { for ( var c = this . touchLockCallbacks . length ; c -- ; ) if ( this . touchLockCallbacks [ c ] . callback === a && this . touchLockCallbacks [ c ] . context === b ) return this . touchLockCallbacks . splice ( c , 1 ) , ! 0 ; return ! 1 } , onTouchStart : function ( a ) { for ( var b = this . touchLockCallbacks . length ; b -- ; ) { var c = this . touchLockCallbacks [ b ] ; ! c . onEnd && c . callback . call ( c . context , this , a ) && this . touchLockCallbacks . splice ( b , 1 ) } if ( this . event = a , this . game . input . enabled && this . enabled ) { this . touchStartCallback && this . touchStartCallback . call ( this . callbackContext , a ) , this . preventDefault && a . preventDefault ( ) ; for ( var b = 0 ; b < a . changedTouches . length ; b ++ ) this . game . input . startPointer ( a . changedTouches [ b ] ) } } , onTouchCancel : function ( a ) { if ( this . event = a , this . touchCancelCallback && this . touchCancelCallback . call ( this . callbackContext , a ) , this . game . input . enabled && this . enabled ) { this . preventDefault && a . preventDefault ( ) ; for ( var b = 0 ; b < a . changedTouches . length ; b ++ ) this . game . input . stopPointer ( a . changedTouches [ b ] ) }
onDragUpdate : null , onDragStop : null , onAnimationStart : null , onAnimationComplete : null , onAnimationLoop : null } , c . Events . prototype . constructor = c . Events ; for ( var e in c . Events . prototype ) c . Events . prototype . hasOwnProperty ( e ) && 0 === e . indexOf ( "on" ) && null === c . Events . prototype [ e ] && ! function ( a , b ) { "use strict" ; Object . defineProperty ( c . Events . prototype , a , { get : function ( ) { return this [ b ] || ( this [ b ] = new c . Signal ) } } ) , c . Events . prototype [ a + "$dispatch" ] = function ( ) { return this [ b ] ? this [ b ] . dispatch . apply ( this [ b ] , arguments ) : null } } ( e , "_" + e ) ; c . Component . FixedToCamera = function ( ) { } , c . Component . FixedToCamera . postUpdate = function ( ) { this . fixedToCamera && ( this . position . x = ( this . game . camera . view . x + this . cameraOffset . x ) / this . game . camera . scale . x , this . position . y = ( this . game . camera . view . y + this . cameraOffset . y ) / this . game . camera . scale . y ) } , c . Component . FixedToCamera . prototype = { _fixedToCamera : ! 1 , fixedToCamera : { get : function ( ) { return this . _fixedToCamera } , set : function ( a ) { a ? ( this . _fixedToCamera = ! 0 , this . cameraOffset . set ( this . x , this . y ) ) : this . _fixedToCamera = ! 1 } } , cameraOffset : new c . Point } , c . Component . Health = function ( ) { } , c . Component . Health . prototype = { health : 1 , maxHealth : 100 , damage : function ( a ) { return this . alive && ( this . health -= a , this . health <= 0 && this . kill ( ) ) , this } , setHealth : function ( a ) { return this . health = a , this . health > this . maxHealth && ( this . health = this . maxHealth ) , this } , heal : function ( a ) { return this . alive && ( this . health += a , this . health > this . maxHealth && ( this . health = this . maxHealth ) ) , this } } , c . Component . InCamera = function ( ) { } , c . Component . InCamera . prototype = { inCamera : { get : function ( ) { return this . game . world . camera . view . intersects ( this . _bounds ) } } } , c . Component . InputEnabled = function ( ) { } , c . Component . InputEnabled . prototype = { input : null , inputEnabled : { get : function ( ) { return this . input && this . input . enabled } , set : function ( a ) { a ? null === this . input ? ( this . input = new c . InputHandler ( this ) , this . input . start ( ) ) : this . input && ! this . input . enabled && this . input . start ( ) : this . input && this . input . enabled && this . input . stop ( ) } } } , c . Component . InWorld = function ( ) { } , c . Component . InWorld . preUpdate = function ( ) { if ( this . autoCull || this . checkWorldBounds ) { if ( this . _bounds . copyFrom ( this . getBounds ( ) ) , this . _bounds . x += this . game . camera . view . x , this . _bounds . y += this . game . camera . view . y , this . autoCull ) if ( this . game . world . camera . view . intersects ( this . _bounds ) ) this . renderable = ! 0 , this . game . world . camera . totalInView ++ ; else if ( this . renderable = ! 1 , this . outOfCameraBoundsKill ) return this . kill ( ) , ! 1 ; if ( this . checkWorldBounds ) if ( this . _outOfBoundsFired && this . game . world . bounds . intersects ( this . _bounds ) ) this . _outOfBoundsFired = ! 1 , this . events . onEnterBounds$dispatch ( this ) ; else if ( ! this . _outOfBoundsFired && ! this . game . world . bounds . intersects ( this . _bounds ) && ( this . _outOfBoundsFired = ! 0 , this . events . onOutOfBounds$dispatch ( this ) , this . outOfBoundsKill ) ) return this . kill ( ) , ! 1 } return ! 0 } , c . Component . InWorld . prototype = { checkWorldBounds : ! 1 , outOfBoundsKill : ! 1 , outOfCameraBoundsKill : ! 1 , _outOfBoundsFired : ! 1 , inWorld : { get : function ( ) { return this . game . world . bounds . intersects ( this . getBounds ( ) ) } } } , c . Component . LifeSpan = function ( ) { } , c . Component . LifeSpan . preUpdate = function ( ) { return ! ( this . lifespan > 0 && ( this . lifespan -= this . game . time . physicsElapsedMS , this . lifespan <= 0 ) ) || ( this . kill ( ) , ! 1 ) } , c . Component . LifeSpan . prototype = { alive : ! 0 , lifespan : 0 , revive : function ( a ) { return void 0 === a && ( a = 100 ) , this . alive = ! 0 , this . exists = ! 0 , this . visible = ! 0 , "function" == typeof this . setHealth && this . setHealth ( a ) , this . events && this . events . onRevived$dispatch ( this ) , this } , kill : function ( ) { return this . alive = ! 1 , this . exists = ! 1 , this . visible = ! 1 , this . events && this . events . onKilled$dispatch ( this ) , this } } , c . Component . LoadTexture = function ( ) { } , c . Component . LoadTexture . prototype = { customRender : ! 1 , _frame : null , loadTexture : function ( a , b , d ) { a === c . PENDING _ATLAS ? ( a = b , b = 0 ) : b = b || 0 , ( d || void 0 === d ) && this . animations && this . animations . stop ( ) , this . key = a , this . customRender = ! 1 ; var e = this . game . cache , f = ! 0 , g = ! this . texture . baseTexture . scaleMode ; if ( c . RenderTexture && a instanceof c . RenderTexture ) this . key = a . key , this . setTexture ( a ) ; else if ( c . BitmapData && a instanceof c . BitmapData ) this . customRender = ! 0 , this . setTexture ( a . texture ) , f = e . hasFrameData ( a . key , c . Cache . BITMAPDATA ) ? ! this . animations . loadFrameData ( e . get
return a . updateRAF ( b ) } , this . _timeOutID = window . requestAnimationFrame ( this . _onLoop ) ) } , updateRAF : function ( a ) { this . isRunning && ( this . game . update ( Math . floor ( a ) ) , this . _timeOutID = window . requestAnimationFrame ( this . _onLoop ) ) } , updateSetTimeout : function ( ) { this . isRunning && ( this . game . update ( Date . now ( ) ) , this . _timeOutID = window . setTimeout ( this . _onLoop , this . game . time . timeToCall ) ) } , stop : function ( ) { this . _isSetTimeOut ? clearTimeout ( this . _timeOutID ) : window . cancelAnimationFrame ( this . _timeOutID ) , this . isRunning = ! 1 } , isSetTimeOut : function ( ) { return this . _isSetTimeOut } , isRAF : function ( ) { return this . _isSetTimeOut === ! 1 } } , c . RequestAnimationFrame . prototype . constructor = c . RequestAnimationFrame , c . Math = { PI2 : 2 * Math . PI , between : function ( a , b ) { return Math . floor ( Math . random ( ) * ( b - a + 1 ) + a ) } , fuzzyEqual : function ( a , b , c ) { return void 0 === c && ( c = 1e-4 ) , Math . abs ( a - b ) < c } , fuzzyLessThan : function ( a , b , c ) { return void 0 === c && ( c = 1e-4 ) , a < b + c } , fuzzyGreaterThan : function ( a , b , c ) { return void 0 === c && ( c = 1e-4 ) , a > b - c } , fuzzyCeil : function ( a , b ) { return void 0 === b && ( b = 1e-4 ) , Math . ceil ( a - b ) } , fuzzyFloor : function ( a , b ) { return void 0 === b && ( b = 1e-4 ) , Math . floor ( a + b ) } , average : function ( ) { for ( var a = 0 , b = arguments . length , c = 0 ; c < b ; c ++ ) a += + arguments [ c ] ; return a / b } , shear : function ( a ) { return a % 1 } , snapTo : function ( a , b , c ) { return void 0 === c && ( c = 0 ) , 0 === b ? a : ( a -= c , a = b * Math . round ( a / b ) , c + a ) } , snapToFloor : function ( a , b , c ) { return void 0 === c && ( c = 0 ) , 0 === b ? a : ( a -= c , a = b * Math . floor ( a / b ) , c + a ) } , snapToCeil : function ( a , b , c ) { return void 0 === c && ( c = 0 ) , 0 === b ? a : ( a -= c , a = b * Math . ceil ( a / b ) , c + a ) } , roundTo : function ( a , b , c ) { void 0 === b && ( b = 0 ) , void 0 === c && ( c = 10 ) ; var d = Math . pow ( c , - b ) ; return Math . round ( a * d ) / d } , floorTo : function ( a , b , c ) { void 0 === b && ( b = 0 ) , void 0 === c && ( c = 10 ) ; var d = Math . pow ( c , - b ) ; return Math . floor ( a * d ) / d } , ceilTo : function ( a , b , c ) { void 0 === b && ( b = 0 ) , void 0 === c && ( c = 10 ) ; var d = Math . pow ( c , - b ) ; return Math . ceil ( a * d ) / d } , rotateToAngle : function ( a , b , d ) { return void 0 === d && ( d = . 05 ) , a === b ? a : ( Math . abs ( b - a ) <= d || Math . abs ( b - a ) >= c . Math . PI2 - d ? a = b : ( Math . abs ( b - a ) > Math . PI && ( b < a ? b += c . Math . PI2 : b -= c . Math . PI2 ) , b > a ? a += d : b < a && ( a -= d ) ) , a ) } , getShortestAngle : function ( a , b ) { var c = b - a ; if ( 0 === c ) return 0 ; var d = Math . floor ( ( c - - 180 ) / 360 ) ; return c - 360 * d } , angleBetween : function ( a , b , c , d ) { return Math . atan2 ( d - b , c - a ) } , angleBetweenY : function ( a , b , c , d ) { return Math . atan2 ( c - a , d - b ) } , angleBetweenPoints : function ( a , b ) { return Math . atan2 ( b . y - a . y , b . x - a . x ) } , angleBetweenPointsY : function ( a , b ) { return Math . atan2 ( b . x - a . x , b . y - a . y ) } , reverseAngle : function ( a ) { return this . normalizeAngle ( a + Math . PI , ! 0 ) } , normalizeAngle : function ( a ) { return a %= 2 * Math . PI , a >= 0 ? a : a + 2 * Math . PI } , maxAdd : function ( a , b , c ) { return Math . min ( a + b , c ) } , minSub : function ( a , b , c ) { return Math . max ( a - b , c ) } , wrap : function ( a , b , c ) { var d = c - b ; if ( d <= 0 ) return 0 ; var e = ( a - b ) % d ; return e < 0 && ( e += d ) , e + b } , wrapValue : function ( a , b , c ) { var d ; return a = Math . abs ( a ) , b = Math . abs ( b ) , c = Math . abs ( c ) , d = ( a + b ) % c } , isOdd : function ( a ) { return ! ! ( 1 & a ) } , isEven : function ( a ) { return ! ( 1 & a ) } , min : function ( ) { if ( 1 === arguments . length && "object" == typeof arguments [ 0 ] ) var a = arguments [ 0 ] ; else var a = arguments ; for ( var b = 1 , c = 0 , d = a . length ; b < d ; b ++ ) a [ b ] < a [ c ] && ( c = b ) ; return a [ c ] } , max : function ( ) { if ( 1 === arguments . length && "object" == typeof arguments [ 0 ] ) var a = arguments [ 0 ] ; else var a = arguments ; 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
return c } , destroy : function ( ) { this . _frames = null , this . _frameNames = null } } , c . FrameData . prototype . constructor = c . FrameData , Object . defineProperty ( c . FrameData . prototype , "total" , { get : function ( ) { return this . _frames . length } } ) , c . AnimationParser = { spriteSheet : function ( a , b , d , e , f , g , h ) { var i = b ; if ( "string" == typeof b && ( i = a . cache . getImage ( b ) ) , null === i ) return null ; var j = i . width , k = i . height ; d <= 0 && ( d = Math . floor ( - j / Math . min ( - 1 , d ) ) ) , e <= 0 && ( e = Math . floor ( - k / Math . min ( - 1 , e ) ) ) ; var l = Math . floor ( ( j - g ) / ( d + h ) ) , m = Math . floor ( ( k - g ) / ( e + h ) ) , n = l * m ; if ( f !== - 1 && ( n = f ) , 0 === j || 0 === k || j < d || k < e || 0 === n ) return console . warn ( "Phaser.AnimationParser.spriteSheet: '" + b + "'s width/height zero or width/height < given frameWidth/frameHeight" ) , null ; for ( var o = new c . FrameData , p = g , q = g , r = 0 ; r < n ; r ++ ) o . addFrame ( new c . Frame ( r , p , q , d , e , "" ) ) , p += d + h , p + d > j && ( p = g , q += e + h ) ; return o } , JSONData : function ( a , b ) { if ( ! b . frames ) return console . warn ( "Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array" ) , void console . log ( b ) ; for ( var d , e = new c . FrameData , f = b . frames , g = 0 ; g < f . length ; g ++ ) d = e . addFrame ( new c . Frame ( g , f [ g ] . frame . x , f [ g ] . frame . y , f [ g ] . frame . w , f [ g ] . frame . h , f [ g ] . filename ) ) , f [ g ] . trimmed && d . setTrim ( f [ g ] . trimmed , f [ g ] . sourceSize . w , f [ g ] . sourceSize . h , f [ g ] . spriteSourceSize . x , f [ g ] . spriteSourceSize . y , f [ g ] . spriteSourceSize . w , f [ g ] . spriteSourceSize . h ) ; return e } , JSONDataPyxel : function ( a , b ) { var d = [ "layers" , "tilewidth" , "tileheight" , "tileswide" , "tileshigh" ] ; if ( d . forEach ( function ( a ) { if ( ! b [ a ] ) return console . warn ( 'Phaser.AnimationParser.JSONDataPyxel: Invalid Pyxel Tilemap JSON given, missing "' + a + '" key.' ) , void console . log ( b ) } ) , 1 !== b . layers . length ) return console . warn ( "Phaser.AnimationParser.JSONDataPyxel: Too many layers, this parser only supports flat Tilemaps." ) , void console . log ( b ) ; for ( var e , f = new c . FrameData , g = b . tileheight , h = b . tilewidth , i = b . layers [ 0 ] . tiles , j = 0 ; j < i . length ; j ++ ) e = f . addFrame ( new c . Frame ( j , i [ j ] . x , i [ j ] . y , h , g , "frame_" + j ) ) , e . setTrim ( ! 1 ) ; return f } , JSONDataHash : function ( a , b ) { if ( ! b . frames ) return console . warn ( "Phaser.AnimationParser.JSONDataHash: Invalid Texture Atlas JSON given, missing 'frames' object" ) , void console . log ( b ) ; var d , e = new c . FrameData , f = b . frames , g = 0 ; for ( var h in f ) d = e . addFrame ( new c . Frame ( g , f [ h ] . frame . x , f [ h ] . frame . y , f [ h ] . frame . w , f [ h ] . frame . h , h ) ) , f [ h ] . trimmed && d . setTrim ( f [ h ] . trimmed , f [ h ] . sourceSize . w , f [ h ] . sourceSize . h , f [ h ] . spriteSourceSize . x , f [ h ] . spriteSourceSize . y , f [ h ] . spriteSourceSize . w , f [ h ] . spriteSourceSize . h ) , g ++ ; return e } , XMLData : function ( a , b ) { if ( ! b . getElementsByTagName ( "TextureAtlas" ) ) return void console . warn ( "Phaser.AnimationParser.XMLData: Invalid Texture Atlas XML given, missing <TextureAtlas> tag" ) ; for ( var d , e , f , g , h , i , j , k , l , m , n , o = new c . FrameData , p = b . getElementsByTagName ( "SubTexture" ) , q = 0 ; q < p . length ; q ++ ) f = p [ q ] . attributes , e = f . name . value , g = parseInt ( f . x . value , 10 ) , h = parseInt ( f . y . value , 10 ) , i = parseInt ( f . width . value , 10 ) , j = parseInt ( f . height . value , 10 ) , k = null , l = null , f . frameX && ( k = Math . abs ( parseInt ( f . frameX . value , 10 ) ) , l = Math . abs ( parseInt ( f . frameY . value , 10 ) ) , m = parseInt ( f . frameWidth . value , 10 ) , n = parseInt ( f . frameHeight . value , 10 ) ) , d = o . addFrame ( new c . Frame ( q , g , h , i , j , e ) ) , null === k && null === l || d . setTrim ( ! 0 , i , j , k , l , m , n ) ; return o } } , c . Cache = function ( a ) { this . game = a , this . autoResolveURL = ! 1 , this . _cache = { canvas : { } , image : { } , texture : { } , sound : { } , video : { } , text : { } , json : { } , xml : { } , physics : { } , tilemap : { } , binary : { } , bitmapData : { } , bitmapFont : { } , shader : { } , renderTexture : { } } , this . _urlMap = { } , this . _urlResolver = new Image , this . _urlTemp = null , this . onSoundUnlock = new c . Signal , this . _cacheMap = [ ] , this . _cacheMap [ c . Cache . CANVAS ] = this . _cache . canvas , this . _cacheMap [ c . Cache . IMAGE ] = this . _cache . image , this . _cacheMap [ c . Cache . TEXTURE ] = this . _cache . texture , this . _cacheMap [ c . Cache . SOUND ] = this . _cache . sound , this . _cacheMap [ c . Cache . TEXT ] = this . _cache . text , this . _cacheMap [ c . Cache . PHYSICS ] = this . _cache . physics , this . _cacheMap [ c . Cache . TILEMAP ] = this . _cache . tilemap , this . _cacheMap [ c . Cache . BINARY ] = this . _cache . binary , this . _cacheMap [ c . Cache . BITMAPDATA ] = this . _cache . bitmapData , this . _cacheMap [ c . Cache . BITMAPFONT ] = this . _cache . bitmapFont , this . _cacheMap [ c . Cache . JSON ] = this . _cache . json , this . _cacheMap [ c . Cache . XML ] = this . _cache . xml , this . _cacheMap [ c . Cache . V
} else { if ( 0 === d . indexOf ( "blob:" ) || 0 === d . indexOf ( "data:" ) ) return d ; d . indexOf ( "?" ) >= 0 && ( d = d . substr ( 0 , d . indexOf ( "?" ) ) ) ; var e = d . substr ( ( Math . max ( 0 , d . lastIndexOf ( "." ) ) || 1 / 0 ) + 1 ) ; if ( c = e . toLowerCase ( ) , this . game . device . canPlayAudio ( c ) ) return a [ b ] } } return null } , fileError : function ( a , b , c ) { var d = a . requestUrl || this . transformUrl ( a . url , a ) , e = "error loading asset from URL " + d ; ! c && b && ( c = b . status ) , c && ( e = e + " (" + c + ")" ) , this . asyncComplete ( a , e ) } , fileComplete : function ( a , b ) { var d = ! 0 ; switch ( a . type ) { case "packfile" : var e = JSON . parse ( b . responseText ) ; a . data = e || { } ; break ; case "image" : this . cache . addImage ( a . key , a . url , a . data ) ; break ; case "spritesheet" : this . cache . addSpriteSheet ( a . key , a . url , a . data , a . frameWidth , a . frameHeight , a . frameMax , a . margin , a . spacing ) ; break ; case "textureatlas" : if ( null == a . atlasURL ) this . cache . addTextureAtlas ( a . key , a . url , a . data , a . atlasData , a . format ) ; else if ( d = ! 1 , a . format === c . Loader . TEXTURE _ATLAS _JSON _ARRAY || a . format === c . Loader . TEXTURE _ATLAS _JSON _HASH || a . format === c . Loader . TEXTURE _ATLAS _JSON _PYXEL ) this . xhrLoad ( a , this . transformUrl ( a . atlasURL , a ) , "text" , this . jsonLoadComplete ) ; else { if ( a . format !== c . Loader . TEXTURE _ATLAS _XML _STARLING ) throw new Error ( "Phaser.Loader. Invalid Texture Atlas format: " + a . format ) ; this . xhrLoad ( a , this . transformUrl ( a . atlasURL , a ) , "text" , this . xmlLoadComplete ) } break ; case "bitmapfont" : a . atlasURL ? ( d = ! 1 , this . xhrLoad ( a , this . transformUrl ( a . atlasURL , a ) , "text" , function ( a , b ) { var c ; try { c = JSON . parse ( b . responseText ) } catch ( a ) { } c ? ( a . atlasType = "json" , this . jsonLoadComplete ( a , b ) ) : ( a . atlasType = "xml" , this . xmlLoadComplete ( a , b ) ) } ) ) : this . cache . addBitmapFont ( a . key , a . url , a . data , a . atlasData , a . atlasType , a . xSpacing , a . ySpacing ) ; break ; case "video" : if ( a . asBlob ) try { a . data = b . response } catch ( b ) { throw new Error ( "Phaser.Loader. Unable to parse video file as Blob: " + a . key ) } this . cache . addVideo ( a . key , a . url , a . data , a . asBlob ) ; break ; case "audio" : this . game . sound . usingWebAudio ? ( a . data = b . response , this . cache . addSound ( a . key , a . url , a . data , ! 0 , ! 1 ) , a . autoDecode && this . game . sound . decode ( a . key ) ) : this . cache . addSound ( a . key , a . url , a . data , ! 1 , ! 0 ) ; break ; case "text" : a . data = b . responseText , this . cache . addText ( a . key , a . url , a . data ) ; break ; case "shader" : a . data = b . responseText , this . cache . addShader ( a . key , a . url , a . data ) ; break ; case "physics" : var e = JSON . parse ( b . responseText ) ; this . cache . addPhysicsData ( a . key , a . url , e , a . format ) ; break ; case "script" : a . data = document . createElement ( "script" ) , a . data . language = "javascript" , a . data . type = "text/javascript" , a . data . defer = ! 1 , a . data . text = b . responseText , document . head . appendChild ( a . data ) , a . callback && ( a . data = a . callback . call ( a . callbackContext , a . key , b . responseText ) ) ; break ; case "binary" : a . callback ? a . data = a . callback . call ( a . callbackContext , a . key , b . response ) : a . data = b . response , this . cache . addBinary ( a . key , a . data ) } d && this . asyncComplete ( a ) } , jsonLoadComplete : function ( a , b ) { var c = JSON . parse ( b . responseText ) ; "tilemap" === a . type ? this . cache . addTilemap ( a . key , a . url , c , a . format ) : "bitmapfont" === a . type ? this . cache . addBitmapFont ( a . key , a . url , a . data , c , a . atlasType , a . xSpacing , a . ySpacing ) : "json" === a . type ? this . cache . addJSON ( a . key , a . url , c ) : this . cache . addTextureAtlas ( a . key , a . url , a . data , c , a . format ) , this . asyncComplete ( a ) } , csvLoadComplete : function ( a , b ) { var c = b . responseText ; this . cache . addTilemap ( a . key , a . url , c , a . format ) , this . asyncComplete ( a ) } , xmlLoadComplete : function ( a , b ) { var c = b . responseText , d = this . parseXml ( c ) ; if ( ! d ) { var e = b . responseType || b . contentType ; return console . warn ( "Phaser.Loader - " + a . key + ": invalid XML (" + e + ")" ) , void this . asyncComplete ( a , "invalid XML" ) } "bitmapfont" === a . type ? this . cache . addBitmapFont ( a . key , a . url , a . data , d , a . atlasType , a . xSpacing , a . ySpacing ) : "textureatlas" === a . type ? this . cache . addTextureAtlas ( a . key , a . url , a . data , d , a . format ) : "xml" === a . type && this . cache . addXML ( a . key , a . url , d ) , this . asyncComplete ( a ) } , parseXml : function ( a ) { var b ; try { if ( window . DOMParser ) { var c = new DOMParser ; b = c . parseFromString ( a , "text/xml" ) } else b = new ActiveXObject ( "Microsoft.XMLDOM" ) , b . async = "false" , b . loadXML ( a ) } catch ( a ) { b = null } return b && b . documentElement && ! b . getElementsByTagName ( "parsererror" ) . length ? b : null } , updateProgress : function ( ) { this . preloadSprite && ( 0 === this . preloadSprite . direction ? this . preloadSprite . rect . width = Math . floor ( this . preloadSprite . width
void 0 === c && ( c = a . length ) ; var d = b + Math . floor ( Math . random ( ) * c ) ; if ( d < a . length ) { var e = a . splice ( d , 1 ) ; return void 0 === e [ 0 ] ? null : e [ 0 ] } return null } , shuffle : function ( a ) { for ( var b = a . length - 1 ; b > 0 ; b -- ) { var c = Math . floor ( Math . random ( ) * ( b + 1 ) ) , d = a [ b ] ; a [ b ] = a [ c ] , a [ c ] = d } return a } , transposeMatrix : function ( a ) { for ( var b = a . length , c = a [ 0 ] . length , d = new Array ( c ) , e = 0 ; e < c ; e ++ ) { d [ e ] = new Array ( b ) ; for ( var f = b - 1 ; f > - 1 ; f -- ) d [ e ] [ f ] = a [ f ] [ e ] } return d } , rotateMatrix : function ( a , b ) { if ( "string" != typeof b && ( b = ( b % 360 + 360 ) % 360 ) , 90 === b || b === - 270 || "rotateLeft" === b ) a = c . ArrayUtils . transposeMatrix ( a ) , a = a . reverse ( ) ; else if ( b === - 90 || 270 === b || "rotateRight" === b ) a = a . reverse ( ) , a = c . ArrayUtils . transposeMatrix ( a ) ; else if ( 180 === Math . abs ( b ) || "rotate180" === b ) { for ( var d = 0 ; d < a . length ; d ++ ) a [ d ] . reverse ( ) ; a = a . reverse ( ) } return a } , findClosest : function ( a , b ) { if ( ! b . length ) return NaN ; if ( 1 === b . length || a < b [ 0 ] ) return b [ 0 ] ; for ( var c = 1 ; b [ c ] < a ; ) c ++ ; var d = b [ c - 1 ] , e = c < b . length ? b [ c ] : Number . POSITIVE _INFINITY ; return e - a <= a - d ? e : d } , rotateRight : function ( a ) { var b = a . pop ( ) ; return a . unshift ( b ) , b } , rotateLeft : function ( a ) { var b = a . shift ( ) ; return a . push ( b ) , b } , rotate : function ( a ) { var b = a . shift ( ) ; return a . push ( b ) , b } , numberArray : function ( a , b ) { for ( var c = [ ] , d = a ; d <= b ; d ++ ) c . push ( d ) ; return c } , numberArrayStep : function ( a , b , d ) { void 0 !== a && null !== a || ( a = 0 ) , void 0 !== b && null !== b || ( b = a , a = 0 ) , void 0 === d && ( d = 1 ) ; for ( var e = [ ] , f = Math . max ( c . Math . roundAwayFromZero ( ( b - a ) / ( d || 1 ) ) , 0 ) , g = 0 ; g < f ; g ++ ) e . push ( a ) , a += d ; return e } } , c . LinkedList = function ( ) { this . next = null , this . prev = null , this . first = null , this . last = null , this . total = 0 } , c . LinkedList . prototype = { add : function ( a ) { return 0 === this . total && null === this . first && null === this . last ? ( this . first = a , this . last = a , this . next = a , a . prev = this , this . total ++ , a ) : ( this . last . next = a , a . prev = this . last , this . last = a , this . total ++ , a ) } , reset : function ( ) { this . first = null , this . last = null , this . next = null , this . prev = null , this . total = 0 } , remove : function ( a ) { return 1 === this . total ? ( this . reset ( ) , void ( a . next = a . prev = null ) ) : ( a === this . first ? this . first = this . first . next : a === this . last && ( this . last = this . last . prev ) , a . prev && ( a . prev . next = a . next ) , a . next && ( a . next . prev = a . prev ) , a . next = a . prev = null , null === this . first && ( this . last = null ) , void this . total -- ) } , callAll : function ( a ) { if ( this . first && this . last ) { var b = this . first ; do b && b [ a ] && b [ a ] . call ( b ) , b = b . next ; while ( b !== this . last . next ) } } } , c . LinkedList . prototype . constructor = c . LinkedList , c . Create = function ( a ) { this . game = a , this . bmd = null , this . canvas = null , this . ctx = null , this . palettes = [ { 0 : "#000" , 1 : "#9D9D9D" , 2 : "#FFF" , 3 : "#BE2633" , 4 : "#E06F8B" , 5 : "#493C2B" , 6 : "#A46422" , 7 : "#EB8931" , 8 : "#F7E26B" , 9 : "#2F484E" , A : "#44891A" , B : "#A3CE27" , C : "#1B2632" , D : "#005784" , E : "#31A2F2" , F : "#B2DCEF" } , { 0 : "#000" , 1 : "#191028" , 2 : "#46af45" , 3 : "#a1d685" , 4 : "#453e78" , 5 : "#7664fe" , 6 : "#833129" , 7 : "#9ec2e8" , 8 : "#dc534b" , 9 : "#e18d79" , A : "#d6b97b" , B : "#e9d8a1" , C : "#216c4b" , D : "#d365c8" , E : "#afaab9" , F : "#f5f4eb" } , { 0 : "#000" , 1 : "#2234d1" , 2 : "#0c7e45" , 3 : "#44aacc" , 4 : "#8a3622" , 5 : "#5c2e78" , 6 : "#aa5c3d" , 7 : "#b5b5b5" , 8 : "#5e606e" , 9 : "#4c81fb" , A : "#6cd947" , B : "#7be2f9" , C : "#eb8a60" , D : "#e23d69" , E : "#ffd93f" , F : "#fff" } , { 0 : "#000" , 1 : "#fff" , 2 : "#8b4131" , 3 : "#7bbdc5" , 4 : "#8b41ac" , 5 : "#6aac41" , 6 : "#3931a4" , 7 : "#d5de73" , 8 : "#945a20" , 9 : "#5a4100" , A : "#bd736a" , B : "#525252" , C : "#838383" , D : "#acee8b" , E : "#7b73de" , F : "#acacac" } , { 0 : "#000" , 1 : "#191028" , 2 : "#46af45" , 3 : "#a1d685" , 4 : "#453e78" , 5 : "#7664fe" , 6 : "#833129" , 7 : "#9ec2e8" , 8 : "#dc534b" , 9 : "#e18d79" , A : "#d6b97b" , B : "#e9d8a1" , C : "#216c4b" , D : "#d365c8" , E : "#afaab9" , F : "#fff" } ] } , c . Create . PALETTE _ARNE = 0 , c . Create . PALETTE _JMP = 1 , c . Create . PALETTE _CGA = 2 , c . Create . PALETTE _C64 = 3 , c . Create . PALETTE _JAPANESE _MACHINE = 4 , c . Create . prototype = { texture : function ( a , b , c , d , e ) { void 0 === c && ( c = 8 ) , void 0 === d && ( d = c ) , void 0 === e && ( e = 0 ) ; var f = b [ 0 ] . length * c , g = b . length * d ; null === this . bmd && ( this . bmd = this . game . make . bitmapData ( ) , this . canvas = this . bmd . canvas , this . ctx = this . bmd . context ) , this . bmd . resize ( f , g ) , this . bmd . clear ( ) ; for ( var h = 0 ; h < b . length ; h ++ ) for ( var i = b [ h ] , j = 0 ; j < i . length ; j ++ ) { var k = i [ j ] ; "." !== k && " " !== k && ( this . ctx . fillStyle = this . palettes [ e ] [ k ] , this . ctx . fillRect ( j * c , h * d , c , d ) ) } return this . bmd . generateTexture ( a ) } , grid : function ( a , b , c , d , e , f ) { null === this . bmd && ( this . bmd = this . game . make . bitmapData ( ) , this . canvas = this . bmd . canvas , this . ctx = this . bmd . cont
2015-02-25 02:59:00 +00:00
//# sourceMappingURL=phaser-minimum.map