2014-04-29 21:00:16 +00:00
/* Phaser v2.0.5 - http://phaser.io - @photonstorm - (c) 2014 Photon Storm Ltd. */
2014-02-28 09:30:53 +00:00
2014-04-29 14:39:53 +00:00
( function ( ) { var a = this , b = b || { } ; b . WEBGL _RENDERER = 0 , b . CANVAS _RENDERER = 1 , b . VERSION = "v1.5.2" , b . blendModes = { NORMAL : 0 , ADD : 1 , MULTIPLY : 2 , SCREEN : 3 , OVERLAY : 4 , DARKEN : 5 , LIGHTEN : 6 , COLOR _DODGE : 7 , COLOR _BURN : 8 , HARD _LIGHT : 9 , SOFT _LIGHT : 10 , DIFFERENCE : 11 , EXCLUSION : 12 , HUE : 13 , SATURATION : 14 , COLOR : 15 , LUMINOSITY : 16 } , b . scaleModes = { DEFAULT : 0 , LINEAR : 0 , NEAREST : 1 } , b . INTERACTION _FREQUENCY = 30 , b . AUTO _PREVENT _DEFAULT = ! 0 , b . RAD _TO _DEG = 180 / Math . PI , b . DEG _TO _RAD = Math . PI / 180 , b . Point = function ( a , b ) { this . x = a || 0 , this . y = b || 0 } , b . Point . prototype . clone = function ( ) { return new b . Point ( this . x , this . y ) } , b . Point . prototype . constructor = b . Point , b . Point . prototype . set = function ( a , b ) { this . x = a || 0 , this . y = b || ( 0 !== b ? this . x : 0 ) } , b . Rectangle = function ( a , b , c , d ) { this . x = a || 0 , this . y = b || 0 , this . width = c || 0 , this . height = d || 0 } , b . Rectangle . prototype . clone = function ( ) { return new b . Rectangle ( this . x , this . y , this . width , this . height ) } , b . Rectangle . prototype . 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 } , b . Rectangle . prototype . constructor = b . Rectangle , b . EmptyRectangle = new b . Rectangle ( 0 , 0 , 0 , 0 ) , b . Polygon = function ( a ) { if ( a instanceof Array || ( a = Array . prototype . slice . call ( arguments ) ) , "number" == typeof a [ 0 ] ) { for ( var c = [ ] , d = 0 , e = a . length ; e > d ; d += 2 ) c . push ( new b . Point ( a [ d ] , a [ d + 1 ] ) ) ; a = c } this . points = a } , b . Polygon . prototype . clone = function ( ) { for ( var a = [ ] , c = 0 ; c < this . points . length ; c ++ ) a . push ( this . points [ c ] . clone ( ) ) ; return new b . Polygon ( a ) } , b . Polygon . prototype . contains = function ( a , b ) { for ( var c = ! 1 , d = 0 , 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 , j = g > b != i > b && ( h - f ) * ( b - g ) / ( i - g ) + f > a ; j && ( c = ! c ) } return c } , b . Polygon . prototype . constructor = b . Polygon , b . Circle = function ( a , b , c ) { this . x = a || 0 , this . y = b || 0 , this . radius = c || 0 } , b . Circle . prototype . clone = function ( ) { return new b . Circle ( this . x , this . y , this . radius ) } , b . Circle . prototype . contains = function ( a , b ) { if ( this . radius <= 0 ) return ! 1 ; var c = this . x - a , d = this . y - b , e = this . radius * this . radius ; return c *= c , d *= d , e >= c + d } , b . Circle . prototype . constructor = b . Circle , b . Ellipse = function ( a , b , c , d ) { this . x = a || 0 , this . y = b || 0 , this . width = c || 0 , this . height = d || 0 } , b . Ellipse . prototype . clone = function ( ) { return new b . Ellipse ( this . x , this . y , this . width , this . height ) } , b . Ellipse . prototype . contains = function ( a , b ) { if ( this . width <= 0 || this . height <= 0 ) return ! 1 ; var c = ( a - this . x ) / this . width , d = ( b - this . y ) / this . height ; return c *= c , d *= d , 1 >= c + d } , b . Ellipse . prototype . getBounds = function ( ) { return new b . Rectangle ( this . x , this . y , this . width , this . height ) } , b . Ellipse . prototype . constructor = b . Ellipse , b . determineMatrixArrayType = function ( ) { return "undefined" != typeof Float32Array ? Float32Array : Array } , b . Matrix2 = b . determineMatrixArrayType ( ) , b . Matrix = function ( ) { this . a = 1 , this . b = 0 , this . c = 0 , this . d = 1 , this . tx = 0 , this . ty = 0 } , b . Matrix . prototype . fromArray = function ( a ) { this . a = a [ 0 ] , this . b = a [ 1 ] , this . c = a [ 3 ] , this . d = a [ 4 ] , this . tx = a [ 2 ] , this . ty = a [ 5 ] } , b . Matrix . prototype . toArray = function ( a ) { this . array || ( this . array = new Float32Array ( 9 ) ) ; var b = this . array ; return a ? ( this . array [ 0 ] = this . a , this . array [ 1 ] = this . c , this . array [ 2 ] = 0 , this . array [ 3 ] = this . b , this . array [ 4 ] = this . d , this . array [ 5 ] = 0 , this . array [ 6 ] = this . tx , this . array [ 7 ] = this . ty , this . array [ 8 ] = 1 ) : ( this . array [ 0 ] = this . a , this . array [ 1 ] = this . b , this . array [ 2 ] = this . tx , this . array [ 3 ] = this . c , this . array [ 4 ] = this . d , this . array [ 5 ] = this . ty , this . array [ 6 ] = 0 , this . array [ 7 ] = 0 , this . array [ 8 ] = 1 ) , b } , b . identityMatrix = new b . Matrix , b . DisplayObject = function ( ) { this . position = new b . Point , this . scale = new b . Point ( 1 , 1 ) , this . pivot = new b . Point ( 0 , 0 ) , this . rotation = 0 , this . alpha = 1 , this . visible = ! 0 , this . hitArea = null , this . buttonMode = ! 1 , this . renderable = ! 1 , this . parent = null , this . stage = null , this . worldAlpha = 1 , this . _interactive = ! 1 , this . defaultCursor = "pointer" , this . worldTransform = new b . Matrix , this . color = [ ] , this . dynamic = ! 0 , this . _sr = 0 , this . _cr = 1 , this . filterArea = null , this . _bounds = new b . Rectangle ( 0 , 0 , 1 , 1 ) , this . _currentBounds = null , this . _mask = null , this . _cacheAsBitmap = ! 1 , this . _cacheIsDirty = ! 1 } , b . DisplayObject . prototype . constructor = b . DisplayObject , b . DisplayObject . prototype . setInteractive = function ( a ) { this . interactive = a } , Object . defineProp
} , b . PixiShader . prototype . destroy = function ( ) { this . gl . deleteProgram ( this . program ) , this . uniforms = null , this . gl = null , this . attributes = null } , b . PixiShader . defaultVertexSrc = [ "attribute vec2 aVertexPosition;" , "attribute vec2 aTextureCoord;" , "attribute vec2 aColor;" , "uniform vec2 projectionVector;" , "uniform vec2 offsetVector;" , "varying vec2 vTextureCoord;" , "varying vec4 vColor;" , "const vec2 center = vec2(-1.0, 1.0);" , "void main(void) {" , " gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);" , " vTextureCoord = aTextureCoord;" , " vec3 color = mod(vec3(aColor.y/65536.0, aColor.y/256.0, aColor.y), 256.0) / 256.0;" , " vColor = vec4(color * aColor.x, aColor.x);" , "}" ] , b . PixiFastShader = function ( a ) { this . gl = a , this . program = null , this . fragmentSrc = [ "precision lowp float;" , "varying vec2 vTextureCoord;" , "varying float vColor;" , "uniform sampler2D uSampler;" , "void main(void) {" , " gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;" , "}" ] , this . vertexSrc = [ "attribute vec2 aVertexPosition;" , "attribute vec2 aPositionCoord;" , "attribute vec2 aScale;" , "attribute float aRotation;" , "attribute vec2 aTextureCoord;" , "attribute float aColor;" , "uniform vec2 projectionVector;" , "uniform vec2 offsetVector;" , "uniform mat3 uMatrix;" , "varying vec2 vTextureCoord;" , "varying float vColor;" , "const vec2 center = vec2(-1.0, 1.0);" , "void main(void) {" , " vec2 v;" , " vec2 sv = aVertexPosition * aScale;" , " v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);" , " v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);" , " v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;" , " gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);" , " vTextureCoord = aTextureCoord;" , " vColor = aColor;" , "}" ] , this . textureCount = 0 , this . init ( ) } , b . PixiFastShader . prototype . init = function ( ) { var a = this . gl , c = b . compileProgram ( a , this . vertexSrc , this . fragmentSrc ) ; a . useProgram ( c ) , this . uSampler = a . getUniformLocation ( c , "uSampler" ) , this . projectionVector = a . getUniformLocation ( c , "projectionVector" ) , this . offsetVector = a . getUniformLocation ( c , "offsetVector" ) , this . dimensions = a . getUniformLocation ( c , "dimensions" ) , this . uMatrix = a . getUniformLocation ( c , "uMatrix" ) , this . aVertexPosition = a . getAttribLocation ( c , "aVertexPosition" ) , this . aPositionCoord = a . getAttribLocation ( c , "aPositionCoord" ) , this . aScale = a . getAttribLocation ( c , "aScale" ) , this . aRotation = a . getAttribLocation ( c , "aRotation" ) , this . aTextureCoord = a . getAttribLocation ( c , "aTextureCoord" ) , this . colorAttribute = a . getAttribLocation ( c , "aColor" ) , - 1 === this . colorAttribute && ( this . colorAttribute = 2 ) , this . attributes = [ this . aVertexPosition , this . aPositionCoord , this . aScale , this . aRotation , this . aTextureCoord , this . colorAttribute ] , this . program = c } , b . PixiFastShader . prototype . destroy = function ( ) { this . gl . deleteProgram ( this . program ) , this . uniforms = null , this . gl = null , this . attributes = null } , b . StripShader = function ( ) { this . program = null , this . fragmentSrc = [ "precision mediump float;" , "varying vec2 vTextureCoord;" , "varying float vColor;" , "uniform float alpha;" , "uniform sampler2D uSampler;" , "void main(void) {" , " gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y));" , " gl_FragColor = gl_FragColor * alpha;" , "}" ] , this . vertexSrc = [ "attribute vec2 aVertexPosition;" , "attribute vec2 aTextureCoord;" , "attribute float aColor;" , "uniform mat3 translationMatrix;" , "uniform vec2 projectionVector;" , "varying vec2 vTextureCoord;" , "uniform vec2 offsetVector;" , "varying float 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 + 1.0 , 0.0, 1.0);" , " vTextureCoord = aTextureCoord;" , " vColor = aColor;" , "}" ] } , b . StripShader . prototype . init = function ( ) { var a = b . gl , c = b . compileProgram ( a , this . vertexSrc , this . fragmentSrc ) ; a . useProgram ( c ) , this . uSampler = a . getUniformLocation ( c , "uSampler" ) , this . projectionVector = a . getUniformLocation ( c , "projectionVector" ) , this . offsetVector = a . getUniformLocation ( c , "offsetVector" ) , this . colorAttribute = a . getAttribLocation ( c , "aColor" ) , this . aVertexPosition = a . getAttribLocation ( c , " a
var h = e , i = this . texturePool . pop ( ) ; i || ( i = new b . FilterTexture ( this . gl , this . width , this . height ) ) , i . resize ( this . width , this . height ) , a . bindFramebuffer ( a . FRAMEBUFFER , i . frameBuffer ) , a . clear ( a . COLOR _BUFFER _BIT ) , a . disable ( a . BLEND ) ; for ( var j = 0 ; j < c . filterPasses . length - 1 ; j ++ ) { var k = c . filterPasses [ j ] ; a . bindFramebuffer ( a . FRAMEBUFFER , i . frameBuffer ) , a . activeTexture ( a . TEXTURE0 ) , a . bindTexture ( a . TEXTURE _2D , h . texture ) , this . applyFilterPass ( k , d , d . width , d . height ) ; var l = h ; h = i , i = l } a . enable ( a . BLEND ) , e = h , this . texturePool . push ( i ) } var m = c . filterPasses [ c . filterPasses . length - 1 ] ; this . offsetX -= d . x , this . offsetY -= d . y ; var n = this . width , o = this . height , p = 0 , q = 0 , r = this . buffer ; if ( 0 === this . filterStack . length ) a . colorMask ( ! 0 , ! 0 , ! 0 , ! 0 ) ; else { var s = this . filterStack [ this . filterStack . length - 1 ] ; d = s . _filterArea , n = d . width , o = d . height , p = d . x , q = d . y , r = s . _glFilterTexture . frameBuffer } f . x = n / 2 , f . y = - o / 2 , g . x = p , g . y = q , d = c . _filterArea ; var t = d . x - p , u = d . y - q ; a . bindBuffer ( a . ARRAY _BUFFER , this . vertexBuffer ) , this . vertexArray [ 0 ] = t , this . vertexArray [ 1 ] = u + d . height , this . vertexArray [ 2 ] = t + d . width , this . vertexArray [ 3 ] = u + d . height , this . vertexArray [ 4 ] = t , this . vertexArray [ 5 ] = u , this . vertexArray [ 6 ] = t + d . width , this . vertexArray [ 7 ] = u , a . bufferSubData ( a . ARRAY _BUFFER , 0 , this . vertexArray ) , a . bindBuffer ( a . ARRAY _BUFFER , this . uvBuffer ) , this . uvArray [ 2 ] = d . width / this . width , this . uvArray [ 5 ] = d . height / this . height , this . uvArray [ 6 ] = d . width / this . width , this . uvArray [ 7 ] = d . height / this . height , a . bufferSubData ( a . ARRAY _BUFFER , 0 , this . uvArray ) , a . viewport ( 0 , 0 , n , o ) , a . bindFramebuffer ( a . FRAMEBUFFER , r ) , a . activeTexture ( a . TEXTURE0 ) , a . bindTexture ( a . TEXTURE _2D , e . texture ) , this . applyFilterPass ( m , d , n , o ) , a . useProgram ( this . defaultShader . program ) , a . uniform2f ( this . defaultShader . projectionVector , n / 2 , - o / 2 ) , a . uniform2f ( this . defaultShader . offsetVector , - p , - q ) , this . texturePool . push ( e ) , c . _glFilterTexture = null } , b . WebGLFilterManager . prototype . applyFilterPass = function ( a , c , d , e ) { var f = this . gl , g = a . shaders [ f . id ] ; g || ( g = new b . PixiShader ( f ) , g . fragmentSrc = a . fragmentSrc , g . uniforms = a . uniforms , g . init ( ) , a . shaders [ f . id ] = g ) , f . useProgram ( g . program ) , f . uniform2f ( g . projectionVector , d / 2 , - e / 2 ) , f . uniform2f ( g . offsetVector , 0 , 0 ) , a . uniforms . dimensions && ( a . uniforms . dimensions . value [ 0 ] = this . width , a . uniforms . dimensions . value [ 1 ] = this . height , a . uniforms . dimensions . value [ 2 ] = this . vertexArray [ 0 ] , a . uniforms . dimensions . value [ 3 ] = this . vertexArray [ 5 ] ) , g . syncUniforms ( ) , f . bindBuffer ( f . ARRAY _BUFFER , this . vertexBuffer ) , f . vertexAttribPointer ( g . aVertexPosition , 2 , f . FLOAT , ! 1 , 0 , 0 ) , f . bindBuffer ( f . ARRAY _BUFFER , this . uvBuffer ) , f . vertexAttribPointer ( g . aTextureCoord , 2 , f . FLOAT , ! 1 , 0 , 0 ) , f . bindBuffer ( f . ARRAY _BUFFER , this . colorBuffer ) , f . vertexAttribPointer ( g . colorAttribute , 2 , f . FLOAT , ! 1 , 0 , 0 ) , f . bindBuffer ( f . ELEMENT _ARRAY _BUFFER , this . indexBuffer ) , f . drawElements ( f . TRIANGLES , 6 , f . UNSIGNED _SHORT , 0 ) , this . renderSession . drawCount ++ } , b . WebGLFilterManager . prototype . initShaderBuffers = function ( ) { var a = this . gl ; this . vertexBuffer = a . createBuffer ( ) , this . uvBuffer = a . createBuffer ( ) , this . colorBuffer = a . createBuffer ( ) , this . indexBuffer = a . createBuffer ( ) , this . vertexArray = new Float32Array ( [ 0 , 0 , 1 , 0 , 0 , 1 , 1 , 1 ] ) , a . bindBuffer ( a . ARRAY _BUFFER , this . vertexBuffer ) , a . bufferData ( a . ARRAY _BUFFER , this . vertexArray , a . STATIC _DRAW ) , this . uvArray = new Float32Array ( [ 0 , 0 , 1 , 0 , 0 , 1 , 1 , 1 ] ) , a . bindBuffer ( a . ARRAY _BUFFER , this . uvBuffer ) , a . bufferData ( a . ARRAY _BUFFER , this . uvArray , a . STATIC _DRAW ) , this . colorArray = new Float32Array ( [ 1 , 16777215 , 1 , 16777215 , 1 , 16777215 , 1 , 16777215 ] ) , a . bindBuffer ( a . ARRAY _BUFFER , this . colorBuffer ) , a . bufferData ( a . ARRAY _BUFFER , this . colorArray , a . STATIC _DRAW ) , a . bindBuffer ( a . ELEMENT _ARRAY _BUFFER , this . indexBuffer ) , a . bufferData ( a . ELEMENT _ARRAY _BUFFER , new Uint16Array ( [ 0 , 1 , 2 , 1 , 3 , 2 ] ) , a . STATIC _DRAW ) } , b . WebGLFilterManager . prototype . destroy = function ( ) { var a = this . gl ; this . filterStack = null , this . offsetX = 0 , this . offsetY = 0 ; for ( var b = 0 ; b < this . texturePool . length ; b ++ ) this . texturePool . destroy ( ) ; this . texturePool = null , a . deleteBuffer ( this . vertexBuffer ) , a . deleteBuffer ( this . uvBuffer ) , a . deleteBuffer ( this . colorBuffer ) , a . deleteBuffer ( this . indexBuffer ) } , b . FilterTexture = function ( a , c , d , e ) { this . gl = a , this . frameBuffer = a . createFramebuffer ( ) , this . texture = a . createTexture ( ) , e = e || b . scaleModes . DEFAULT , a . bindTexture ( a . TEX
2014-04-29 21:00:16 +00:00
e . colorMask ( ! 0 , ! 0 , ! 0 , ! 0 ) , e . viewport ( 0 , 0 , this . width , this . height ) , e . bindFramebuffer ( e . FRAMEBUFFER , this . textureBuffer . frameBuffer ) , d && this . textureBuffer . clear ( ) ; var f = a . children , g = a . worldTransform ; a . worldTransform = b . RenderTexture . tempMatrix , a . worldTransform . d = - 1 , a . worldTransform . ty = - 2 * this . projection . y , c && ( a . worldTransform . tx = c . x , a . worldTransform . ty -= c . y ) ; for ( var h = 0 , i = f . length ; i > h ; h ++ ) f [ h ] . updateTransform ( ) ; b . WebGLRenderer . updateTextures ( ) , this . renderer . renderDisplayObject ( a , this . projection , this . textureBuffer . frameBuffer ) , a . worldTransform = g } , b . RenderTexture . prototype . renderCanvas = function ( a , c , d ) { var e = a . children , f = a . worldTransform ; a . worldTransform = b . RenderTexture . tempMatrix , c && ( a . worldTransform . tx = c . x , a . worldTransform . ty = c . y ) ; for ( var g = 0 , h = e . length ; h > g ; g ++ ) e [ g ] . updateTransform ( ) ; d && this . textureBuffer . clear ( ) ; var i = this . textureBuffer . context ; this . renderer . renderDisplayObject ( a , i ) , i . setTransform ( 1 , 0 , 0 , 1 , 0 , 0 ) , a . worldTransform = f } , b . RenderTexture . tempMatrix = new b . Matrix , "undefined" != typeof exports ? ( "undefined" != typeof module && module . exports && ( exports = module . exports = b ) , exports . PIXI = b ) : "undefined" != typeof define && define . amd ? define ( "PIXI" , function ( ) { return a . PIXI = b } ( ) ) : a . PIXI = b } ) . call ( this ) , function ( ) { var a = this , b = b || { VERSION : "2.0.5" , GAMES : [ ] , AUTO : 0 , CANVAS : 1 , WEBGL : 2 , HEADLESS : 3 , 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 , 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 } } ; if ( PIXI . InteractionManager = function ( ) { } , b . Utils = { parseDimension : function ( a , b ) { var c = 0 , d = 0 ; return "string" == typeof a ? "%" === a . substr ( - 1 ) ? ( c = parseInt ( a , 10 ) / 100 , d = 0 === b ? window . innerWidth * c : window . innerHeight * c ) : d = parseInt ( a , 10 ) : d = a , d } , 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 } , pad : function ( a , b , c , d ) { if ( "undefined" == typeof b ) var b = 0 ; if ( "undefined" == typeof c ) var c = " " ; if ( "undefined" == typeof d ) var d = 3 ; var e = 0 ; if ( b + 1 >= a . length ) switch ( d ) { case 1 : a = new Array ( b + 1 - a . length ) . join ( c ) + a ; break ; case 3 : var f = Math . ceil ( ( e = b - a . length ) / 2 ) , g = e - f ; a = new Array ( g + 1 ) . join ( c ) + a + new Array ( f + 1 ) . join ( c ) ; break ; default : a += new Array ( b + 1 - a . length ) . join ( c ) } return a } , isPlainObject : function ( a ) { if ( "object" != typeof a || a . nodeType || a === a . window ) return ! 1 ; try { if ( a . constructor && ! { } . hasOwnProperty . call ( a . constructor . prototype , "isPrototypeOf" ) ) return ! 1 } catch ( b ) { return ! 1 } return ! 0 } , extend : function ( ) { var a , c , d , e , f , g , h = arguments [ 0 ] || { } , i = 1 , j = arguments . length , k = ! 1 ; for ( "boolean" == typeof h && ( k = h , h = arguments [ 1 ] || { } , i = 2 ) , j === i && ( h = this , -- i ) ; j > i ; i ++ ) if ( null != ( a = arguments [ i ] ) ) for ( c in a ) d = h [ c ] , e = a [ c ] , h !== e && ( k && e && ( b . Utils . isPlainObject ( e ) || ( f = Array . isArray ( e ) ) ) ? ( f ? ( f = ! 1 , g = d && Array . isArray ( d ) ? d : [ ] ) : g = d && b . Utils . isPlainObject ( d ) ? d : { } , h [ c ] = b . Utils . extend ( k , g , e ) ) : void 0 !== e && ( h [ c ] = e ) ) ; return h } } , "function" != typeof 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 f ( a ) { return a && ( f . prototype = a ) , this instanceof f ? void 0 : new f } ( 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 ; c > e ; e ++ ) e in b && a . call ( d , b [ e ] , e , b ) } ) , "function" != typeof window . Uint32Array ) { var c = 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 . leng
} , preRender : function ( ) { this . onPreRenderCallback && this . onPreRenderCallback . call ( this . callbackContext , this . game ) } , render : function ( ) { this . _created && this . onRenderCallback ? ( this . game . renderType === b . CANVAS && ( this . game . context . save ( ) , this . game . context . setTransform ( 1 , 0 , 0 , 1 , 0 , 0 ) ) , this . onRenderCallback . call ( this . callbackContext , this . game ) , this . game . renderType === b . CANVAS && this . game . context . restore ( ) ) : this . onLoadRenderCallback && this . onLoadRenderCallback . call ( this . callbackContext , this . game ) } , destroy : function ( ) { this . callbackContext = null , this . onInitCallback = null , this . onShutDownCallback = null , this . onPreloadCallback = null , this . onLoadRenderCallback = null , this . onLoadUpdateCallback = null , this . onCreateCallback = null , this . onUpdateCallback = null , this . onRenderCallback = null , this . onPausedCallback = null , this . onResumedCallback = null , this . onPauseUpdateCallback = null , this . game = null , this . states = { } , this . _pendingState = null } } , b . StateManager . prototype . constructor = b . StateManager , b . LinkedList = function ( ) { this . next = null , this . prev = null , this . first = null , this . last = null , this . total = 0 } , b . 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 ) } } } , b . LinkedList . prototype . constructor = b . LinkedList , b . ArrayList = function ( ) { this . total = 0 , this . position = 0 , this . list = [ ] } , b . ArrayList . prototype = { add : function ( a ) { return this . exists ( a ) || ( this . list . push ( a ) , this . total ++ ) , a } , getIndex : function ( a ) { return this . list . indexOf ( a ) } , exists : function ( a ) { return this . list . indexOf ( a ) > - 1 } , reset : function ( ) { this . list . length = 0 , this . total = 0 } , remove : function ( a ) { var b = this . list . indexOf ( a ) ; return b > - 1 ? ( this . list . splice ( b , 1 ) , this . total -- , a ) : void 0 } , callAll : function ( a ) { for ( var b = Array . prototype . splice . call ( arguments , 1 ) , c = this . list . length ; c -- ; ) this . list [ c ] && this . list [ c ] [ a ] && this . list [ c ] [ a ] . apply ( this . list [ c ] , b ) } } , Object . defineProperty ( b . ArrayList . prototype , "first" , { get : function ( ) { return this . position = 0 , this . total > 0 ? this . list [ 0 ] : null } } ) , Object . defineProperty ( b . ArrayList . prototype , "next" , { get : function ( ) { return this . position < this . total ? ( this . position ++ , this . list [ this . position ] ) : null } } ) , b . ArrayList . prototype . constructor = b . ArrayList , b . Signal = function ( ) { this . _bindings = [ ] , this . _prevParams = null ; var a = this ; this . dispatch = function ( ) { b . Signal . prototype . dispatch . apply ( a , arguments ) } } , b . Signal . prototype = { memorize : ! 1 , _shouldPropagate : ! 0 , active : ! 0 , validateListener : function ( a , b ) { if ( "function" != typeof a ) throw new Error ( "listener is a required param of {fn}() and should be a Function." . replace ( "{fn}" , b ) ) } , _registerListener : function ( a , c , d , e ) { var f , g = this . _indexOfListener ( a , d ) ; if ( - 1 !== g ) { if ( f = this . _bindings [ g ] , f . isOnce ( ) !== c ) throw new Error ( "You cannot add" + ( c ? "" : "Once" ) + "() then add" + ( c ? "Once" : "" ) + "() the same listener without removing the relationship first." ) } else f = new b . SignalBinding ( this , a , c , d , e ) , this . _addBinding ( f ) ; return this . memorize && this . _prevParams && f . execute ( this . _prevParams ) , f } , _addBinding : function ( a ) { var b = this . _bindings . length ; do -- b ; while ( this . _bindings [ b ] && a . _priority <= this . _bindings [ b ] . _priority ) ; this . _bindings . splice ( b + 1 , 0 , a ) } , _indexOfListener : function ( a , b ) { for ( var c , d = this . _bindings . length ; d -- ; ) if ( c = this . _bindings [ d ] , c . _listener === a && c . context === b ) return d ; return - 1 } , has : function ( a , b ) { return - 1 !== this . _indexOfListener ( a , b ) } , add : function ( a , b , c ) { return this . validateListener ( a , "add" ) , this . _registerListener ( a , ! 1 , b , c ) } , addOnce : function ( a , b , c ) { return this . validateListener ( a , "addOnce" ) , this . _registerListener ( a , ! 0 , b , c ) } , remove : function ( a , b ) { this . validateListene
2014-04-29 14:39:53 +00:00
} , refresh : function ( ) { if ( this . game . device . iPad || this . game . device . webApp || this . game . device . desktop || ( this . game . device . android && ! this . game . device . chrome ? window . scrollTo ( 0 , 1 ) : window . scrollTo ( 0 , 0 ) ) , null === this . _check && this . maxIterations > 0 ) { this . _iterations = this . maxIterations ; var a = this ; this . _check = window . setInterval ( function ( ) { return a . setScreenSize ( ) } , 10 ) , this . setScreenSize ( ) } } , setScreenSize : function ( a ) { "undefined" == typeof a && ( a = ! 1 ) , this . game . device . iPad || this . game . device . webApp || this . game . device . desktop || ( this . game . device . android && ! this . game . device . chrome ? window . scrollTo ( 0 , 1 ) : window . scrollTo ( 0 , 0 ) ) , this . _iterations -- , ( a || window . innerHeight > this . _startHeight || this . _iterations < 0 ) && ( document . documentElement . style . minHeight = window . innerHeight + "px" , this . incorrectOrientation ? this . setMaximum ( ) : this . isFullScreen ? this . fullScreenScaleMode === b . ScaleManager . EXACT _FIT ? this . setExactFit ( ) : this . fullScreenScaleMode === b . ScaleManager . SHOW _ALL && this . setShowAll ( ) : this . scaleMode === b . ScaleManager . EXACT _FIT ? this . setExactFit ( ) : this . scaleMode === b . ScaleManager . SHOW _ALL && this . setShowAll ( ) , this . setSize ( ) , clearInterval ( this . _check ) , this . _check = null ) } , setSize : function ( ) { this . incorrectOrientation || ( this . maxWidth && this . width > this . maxWidth && ( this . width = this . maxWidth ) , this . maxHeight && this . height > this . maxHeight && ( this . height = this . maxHeight ) , this . minWidth && this . width < this . minWidth && ( this . width = this . minWidth ) , this . minHeight && this . height < this . minHeight && ( this . height = this . minHeight ) ) , this . game . canvas . style . width = this . width + "px" , this . game . canvas . style . height = this . height + "px" , this . game . input . scale . setTo ( this . game . width / this . width , this . game . height / this . height ) , this . pageAlignHorizontally && ( this . width < window . innerWidth && ! this . incorrectOrientation ? ( this . margin . x = Math . round ( ( window . innerWidth - this . width ) / 2 ) , this . game . canvas . style . marginLeft = this . margin . x + "px" ) : ( this . margin . x = 0 , this . game . canvas . style . marginLeft = "0px" ) ) , this . pageAlignVertically && ( this . height < window . innerHeight && ! this . incorrectOrientation ? ( this . margin . y = Math . round ( ( window . innerHeight - this . height ) / 2 ) , this . game . canvas . style . marginTop = this . margin . y + "px" ) : ( this . margin . y = 0 , this . game . canvas . style . marginTop = "0px" ) ) , b . Canvas . getOffset ( this . game . canvas , this . game . stage . offset ) , this . aspectRatio = this . width / this . height , this . scaleFactor . x = this . game . width / this . width , this . scaleFactor . y = this . game . height / this . height , this . scaleFactorInversed . x = this . width / this . game . width , this . scaleFactorInversed . y = this . height / this . game . height , this . hasResized . dispatch ( this . width , this . height ) , this . checkOrientationState ( ) } , setMaximum : function ( ) { this . width = window . innerWidth , this . height = window . innerHeight } , setShowAll : function ( ) { var a = Math . min ( window . innerHeight / this . game . height , window . innerWidth / this . game . width ) ; this . width = Math . round ( this . game . width * a ) , this . height = Math . round ( this . game . height * a ) } , setExactFit : function ( ) { var a = window . innerWidth , b = window . innerHeight ; this . width = this . maxWidth && a > this . maxWidth ? this . maxWidth : a , this . height = this . maxHeight && b > this . maxHeight ? this . maxHeight : b } } , b . ScaleManager . prototype . constructor = b . ScaleManager , Object . defineProperty ( b . ScaleManager . prototype , "isFullScreen" , { get : function ( ) { return document . fullscreenElement || document . mozFullScreenElement || document . webkitFullscreenElement } } ) , Object . defineProperty ( b . ScaleManager . prototype , "isPortrait" , { get : function ( ) { return 0 === this . orientation || 180 === this . orientation } } ) , Object . defineProperty ( b . ScaleManager . prototype , "isLandscape" , { get : function ( ) { return 90 === this . orientation || - 90 === this . orientation } } ) , b . Game = function ( a , c , d , e , f , g , h , i ) { this . id = b . GAMES . push ( this ) - 1 , this . config = null , this . physicsConfig = i , this . parent = "" , this . width = 800 , this . height = 600 , this . transparent = ! 1 , this . antialias = ! 0 , this . renderer = null , this . renderType = b . AUTO , this . state = null , this . isBooted = ! 1 , this . isRunning = ! 1 , this . raf = null , this . add = null , this . make = null , this . cache = null , this . input = null , this . load = null , this . math = null , this . net = null , this . scale = null , this . sound = null , this . stage = null , this . time = null , this . tweens = null , this . world = null , this . physics = null , this . rnd = null , this . device = null , this . camera = null , this . canvas = null , this . context = nu
if ( this . game . input . moveCallback && this . game . input . moveCallback . call ( this . game . input . moveCallbackContext , this , this . x , this . y ) , null !== this . targetObject && this . targetObject . isDragged === ! 0 ) return this . targetObject . update ( this ) === ! 1 && ( this . targetObject = null ) , this ; if ( this . _highestRenderOrderID = Number . MAX _SAFE _INTEGER , this . _highestRenderObject = null , this . _highestInputPriorityID = - 1 , this . game . input . interactiveItems . total > 0 ) { var d = this . game . input . interactiveItems . first ; do d && d . validForInput ( this . _highestInputPriorityID , this . _highestRenderOrderID ) && ( ! c && d . checkPointerOver ( this ) || c && d . checkPointerDown ( this ) ) && ( this . _highestRenderOrderID = d . sprite . _cache [ 3 ] , this . _highestInputPriorityID = d . priorityID , this . _highestRenderObject = d ) , d = this . game . input . interactiveItems . next ; while ( null !== d ) } return null === this . _highestRenderObject ? this . targetObject && ( this . targetObject . _pointerOutHandler ( this ) , this . targetObject = null ) : null === this . targetObject ? ( this . targetObject = this . _highestRenderObject , this . _highestRenderObject . _pointerOverHandler ( this ) ) : this . targetObject === this . _highestRenderObject ? this . _highestRenderObject . update ( this ) === ! 1 && ( this . targetObject = null ) : ( this . targetObject . _pointerOutHandler ( this ) , this . targetObject = this . _highestRenderObject , this . targetObject . _pointerOverHandler ( this ) ) , this } } , leave : function ( a ) { this . withinGame = ! 1 , this . move ( a , ! 1 ) } , stop : function ( a ) { return this . _stateReset ? void a . preventDefault ( ) : ( this . timeUp = this . game . time . now , ( this . game . input . multiInputOverride == b . Input . MOUSE _OVERRIDES _TOUCH || this . game . input . multiInputOverride == b . Input . MOUSE _TOUCH _COMBINE || this . game . input . multiInputOverride == b . Input . TOUCH _OVERRIDES _MOUSE && 0 === this . game . input . currentPointers ) && ( this . game . input . onUp . dispatch ( this , a ) , this . duration >= 0 && this . duration <= this . game . input . tapRate && ( this . timeUp - this . previousTapTime < this . game . input . doubleTapRate ? this . game . input . onTap . dispatch ( this , ! 0 ) : this . game . input . onTap . dispatch ( this , ! 1 ) , this . previousTapTime = this . timeUp ) ) , this . id > 0 && ( this . active = ! 1 ) , this . withinGame = ! 1 , this . isDown = ! 1 , this . isUp = ! 0 , this . positionUp . setTo ( this . x , this . y ) , this . isMouse === ! 1 && this . game . input . currentPointers -- , this . game . input . interactiveItems . callAll ( "_releasedHandler" , this ) , this . targetObject = null , this ) } , justPressed : function ( a ) { return a = a || this . game . input . justPressedRate , this . isDown === ! 0 && this . timeDown + a > this . game . time . now } , justReleased : function ( a ) { return a = a || this . game . input . justReleasedRate , this . isUp === ! 0 && this . timeUp + a > this . game . time . now } , reset : function ( ) { this . isMouse === ! 1 && ( this . active = ! 1 ) , this . identifier = null , this . isDown = ! 1 , this . isUp = ! 0 , this . totalTouches = 0 , this . _holdSent = ! 1 , this . _history . length = 0 , this . _stateReset = ! 0 , this . targetObject && this . targetObject . _releasedHandler ( this ) , this . targetObject = null } } , b . Pointer . prototype . constructor = b . Pointer , Object . defineProperty ( b . Pointer . prototype , "duration" , { get : function ( ) { return this . isUp ? - 1 : this . game . time . now - this . timeDown } } ) , Object . defineProperty ( b . Pointer . prototype , "worldX" , { get : function ( ) { return this . game . world . camera . x + this . x } } ) , Object . defineProperty ( b . Pointer . prototype , "worldY" , { get : function ( ) { return this . game . world . camera . y + this . y } } ) , b . Touch = function ( a ) { this . game = a , this . disabled = ! 1 , 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 } , b . 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 . addEventL
} , b . Events . prototype = { destroy : function ( ) { this . parent = null , this . onAddedToGroup . dispose ( ) , this . onRemovedFromGroup . dispose ( ) , this . onKilled . dispose ( ) , this . onRevived . dispose ( ) , this . onOutOfBounds . dispose ( ) , this . onInputOver && ( this . onInputOver . dispose ( ) , this . onInputOut . dispose ( ) , this . onInputDown . dispose ( ) , this . onInputUp . dispose ( ) , this . onDragStart . dispose ( ) , this . onDragStop . dispose ( ) ) , this . onAnimationStart && ( this . onAnimationStart . dispose ( ) , this . onAnimationComplete . dispose ( ) , this . onAnimationLoop . dispose ( ) ) } } , b . Events . prototype . constructor = b . Events , b . GameObjectFactory = function ( a ) { this . game = a , this . world = this . game . world } , b . GameObjectFactory . prototype = { existing : function ( a ) { return this . world . add ( a ) } , image : function ( a , c , d , e , f ) { return "undefined" == typeof f && ( f = this . world ) , f . add ( new b . Image ( this . game , a , c , d , e ) ) } , sprite : function ( a , b , c , d , e ) { return "undefined" == typeof e && ( e = this . world ) , e . create ( a , b , c , d ) } , tween : function ( a ) { return this . game . tweens . create ( a ) } , group : function ( a , c , d , e , f ) { return new b . Group ( this . game , a , c , d , e , f ) } , physicsGroup : function ( a , c , d , e ) { return new b . Group ( this . game , c , d , e , ! 0 , a ) } , spriteBatch : function ( a , c , d ) { return "undefined" == typeof c && ( c = "group" ) , "undefined" == typeof d && ( d = ! 1 ) , new b . SpriteBatch ( this . game , a , c , d ) } , audio : function ( a , b , c , d ) { return this . game . sound . add ( a , b , c , d ) } , sound : function ( a , b , c , d ) { return this . game . sound . add ( a , b , c , d ) } , tileSprite : function ( a , c , d , e , f , g , h ) { return "undefined" == typeof h && ( h = this . world ) , h . add ( new b . TileSprite ( this . game , a , c , d , e , f , g ) ) } , text : function ( a , c , d , e , f ) { return "undefined" == typeof f && ( f = this . world ) , f . add ( new b . Text ( this . game , a , c , d , e ) ) } , button : function ( a , c , d , e , f , g , h , i , j , k ) { return "undefined" == typeof k && ( k = this . world ) , k . add ( new b . Button ( this . game , a , c , d , e , f , g , h , i , j ) ) } , graphics : function ( a , c , d ) { return "undefined" == typeof d && ( d = this . world ) , d . add ( new b . Graphics ( this . game , a , c ) ) } , emitter : function ( a , c , d ) { return this . game . particles . add ( new b . Particles . Arcade . Emitter ( this . game , a , c , d ) ) } , retroFont : function ( a , c , d , e , f , g , h , i , j ) { return new b . RetroFont ( this . game , a , c , d , e , f , g , h , i , j ) } , bitmapText : function ( a , c , d , e , f , g ) { return "undefined" == typeof g && ( g = this . world ) , g . add ( new b . BitmapText ( this . game , a , c , d , e , f ) ) } , tilemap : function ( a , c , d , e , f ) { return new b . Tilemap ( this . game , a , c , d , e , f ) } , renderTexture : function ( a , c , d , e ) { ( "undefined" == typeof d || "" === d ) && ( d = this . game . rnd . uuid ( ) ) , "undefined" == typeof e && ( e = ! 1 ) ; var f = new b . RenderTexture ( this . game , a , c , d ) ; return e && this . game . cache . addRenderTexture ( d , f ) , f } , bitmapData : function ( a , c , d , e ) { "undefined" == typeof e && ( e = ! 1 ) , ( "undefined" == typeof d || "" === d ) && ( d = this . game . rnd . uuid ( ) ) ; var f = new b . BitmapData ( this . game , d , a , c ) ; return e && this . game . cache . addBitmapData ( d , f ) , f } , filter : function ( a ) { var c = Array . prototype . splice . call ( arguments , 1 ) , a = new b . Filter [ a ] ( this . game ) ; return a . init . apply ( a , c ) , a } } , b . GameObjectFactory . prototype . constructor = b . GameObjectFactory , b . GameObjectCreator = function ( a ) { this . game = a , this . world = this . game . world } , b . GameObjectCreator . prototype = { image : function ( a , c , d , e ) { return new b . Image ( this . game , a , c , d , e ) } , sprite : function ( a , c , d , e ) { return new b . Sprite ( this . game , a , c , d , e ) } , tween : function ( a ) { return new b . Tween ( a , this . game ) } , group : function ( a , c , d , e , f ) { return new b . Group ( this . game , null , c , d , e , f ) } , spriteBatch : function ( a , c , d ) { return "undefined" == typeof c && ( c = "group" ) , "undefined" == typeof d && ( d = ! 1 ) , new b . SpriteBatch ( this . game , a , c , d ) } , audio : function ( a , b , c , d ) { return this . game . sound . add ( a , b , c , d ) } , sound : function ( a , b , c , d ) { return this . game . sound . add ( a , b , c , d ) } , tileSprite : function ( a , c , d , e , f , g ) { return new b . TileSprite ( this . game , a , c , d , e , f , g ) } , text : function ( a , c , d , e ) { return new b . Text ( this . game , a , c , d , e ) } , button : function ( a , c , d , e , f , g , h , i , j ) { return new b . Button ( this . game , a , c , d , e , f , g , h , i , j ) } , graphics : function ( a , c ) { return new b . Graphics ( this . game , a , c ) } , emitter : function ( a , c , d ) { return new b . Particles . Arcade . Emitter ( this . game , a , c , d ) } , retroFont : function ( a , c , d , e , f , g , h , i , j ) { return new b . RetroFont ( this . game , a , c , d , e , f , g , h , i , j ) } , bitmapText : function ( a , c , d , e , f ) { return new b . BitmapText ( this . game , a , c , d , e , f ) } , tilemap : function ( a , c , d , e , f ) { return new b . Tilemap ( this . game , a , c , d , e , f ) } , renderTexture : function ( a , c , d , e ) { ( "undefined" == typeof d || "" === d ) && ( d = th
} } ) , b . Text = function ( a , c , d , e , f ) { c = c || 0 , d = d || 0 , e = e || " " , f = f || { } , e = 0 === e . length ? " " : e . toString ( ) , this . game = a , this . exists = ! 0 , this . name = "" , this . type = b . TEXT , this . z = 0 , this . world = new b . Point ( c , d ) , this . _text = e , this . _font = "" , this . _fontSize = 32 , this . _fontWeight = "normal" , this . _lineSpacing = 0 , this . events = new b . Events ( this ) , this . input = null , this . cameraOffset = new b . Point , this . setStyle ( f ) , PIXI . Text . call ( this , e , this . style ) , this . position . set ( c , d ) , this . _cache = [ 0 , 0 , 0 , 0 , 1 , 0 , 1 , 0 , 0 ] } , b . Text . prototype = Object . create ( PIXI . Text . prototype ) , b . Text . prototype . constructor = b . Text , b . Text . prototype . preUpdate = function ( ) { if ( this . _cache [ 0 ] = this . world . x , this . _cache [ 1 ] = this . world . y , this . _cache [ 2 ] = this . rotation , ! this . exists || ! this . parent . exists ) return this . renderOrderID = - 1 , ! 1 ; this . autoCull && ( this . renderable = this . game . world . camera . screenView . intersects ( this . getBounds ( ) ) ) , this . world . setTo ( this . game . camera . x + this . worldTransform [ 2 ] , this . game . camera . y + this . worldTransform [ 5 ] ) , this . visible && ( this . _cache [ 3 ] = this . game . stage . currentRenderOrderID ++ ) ; for ( var a = 0 , b = this . children . length ; b > a ; a ++ ) this . children [ a ] . preUpdate ( ) ; return ! 0 } , b . Text . prototype . update = function ( ) { } , b . Text . prototype . postUpdate = function ( ) { 1 === this . _cache [ 7 ] && ( 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 ) ; for ( var a = 0 , b = this . children . length ; b > a ; a ++ ) this . children [ a ] . postUpdate ( ) } , b . Text . prototype . destroy = function ( a ) { if ( null !== this . game && ! this . destroyPhase ) { "undefined" == typeof a && ( a = ! 0 ) , this . _cache [ 8 ] = 1 , this . parent && ( this . parent instanceof b . Group ? this . parent . remove ( this ) : this . parent . removeChild ( this ) ) , this . texture . destroy ( ) , this . canvas . parentNode ? this . canvas . parentNode . removeChild ( this . canvas ) : ( this . canvas = null , this . context = null ) ; var c = this . children . length ; if ( a ) for ( ; c -- ; ) this . children [ c ] . destroy ( a ) ; else for ( ; c -- ; ) this . removeChild ( this . children [ c ] ) ; this . exists = ! 1 , this . visible = ! 1 , this . filters = null , this . mask = null , this . game = null , this . _cache [ 8 ] = 0 } } , b . Text . prototype . setShadow = function ( a , b , c , d ) { this . style . shadowOffsetX = a || 0 , this . style . shadowOffsetY = b || 0 , this . style . shadowColor = c || "rgba(0,0,0,0)" , this . style . shadowBlur = d || 0 , this . dirty = ! 0 } , b . Text . prototype . setStyle = function ( a ) { a = a || { } , a . font = a . font || "bold 20pt Arial" , a . fill = a . fill || "black" , a . align = a . align || "left" , a . stroke = a . stroke || "black" , a . strokeThickness = a . strokeThickness || 0 , a . wordWrap = a . wordWrap || ! 1 , a . wordWrapWidth = a . wordWrapWidth || 100 , a . shadowOffsetX = a . shadowOffsetX || 0 , a . shadowOffsetY = a . shadowOffsetY || 0 , a . shadowColor = a . shadowColor || "rgba(0,0,0,0)" , a . shadowBlur = a . shadowBlur || 0 , this . style = a , this . dirty = ! 0 } , b . Text . prototype . updateText = function ( ) { this . context . font = this . style . font ; var a = this . text ; this . style . wordWrap && ( a = this . runWordWrap ( this . text ) ) ; for ( var b = a . split ( /(?:\r\n|\r|\n)/ ) , c = [ ] , d = 0 , e = 0 ; e < b . length ; e ++ ) { var f = this . context . measureText ( b [ e ] ) . width ; c [ e ] = f , d = Math . max ( d , f ) } this . canvas . width = d + this . style . strokeThickness ; var g = this . determineFontHeight ( "font: " + this . style . font + ";" ) + this . style . strokeThickness + this . _lineSpacing + this . style . shadowOffsetY ; for ( this . canvas . height = g * b . length , navigator . isCocoonJS && this . context . clearRect ( 0 , 0 , this . canvas . width , this . canvas . height ) , this . context . fillStyle = this . style . fill , this . context . font = this . style . font , this . context . strokeStyle = this . style . stroke , this . context . lineWidth = this . style . strokeThickness , this . context . shadowOffsetX = this . style . shadowOffsetX , this . context . shadowOffsetY = this . style . shadowOffsetY , this . context . shadowColor = this . style . shadowColor , this . context . shadowBlur = this . style . shadowBlur , this . context . textBaseline = "top" , this . context . lineCap = "round" , this . context . lineJoin = "round" , e = 0 ; e < b . length ; e ++ ) { var h = new PIXI . Point ( this . style . strokeThickness / 2 , this . style . strokeThickness / 2 + e * g ) ; "right" === this . style . align ? h . x += d - c [ e ] : "center" === this . style . align && ( h . x += ( d - c [ e ] ) / 2 ) , h . y += this . _lineSpacing , this . style . stroke && this . style . strokeThickness && this . context . strokeText ( b [ e ] , h . x , h . y ) , this . style . fill && this . context . fillText ( b [ e ] , h . x , h . y ) } this . updateTexture ( ) } , b . Text . prototype . runWordWrap = function ( a ) { for ( var b = "" , c = a . split ( "
try { ( b = ! ! a . canPlayType ) && ( a . canPlayType ( 'audio/ogg; codecs="vorbis"' ) . replace ( /^no$/ , "" ) && ( this . ogg = ! 0 ) , a . canPlayType ( 'audio/ogg; codecs="opus"' ) . replace ( /^no$/ , "" ) && ( this . opus = ! 0 ) , a . canPlayType ( "audio/mpeg;" ) . replace ( /^no$/ , "" ) && ( this . mp3 = ! 0 ) , a . canPlayType ( 'audio/wav; codecs="1"' ) . replace ( /^no$/ , "" ) && ( this . wav = ! 0 ) , ( a . canPlayType ( "audio/x-m4a;" ) || a . canPlayType ( "audio/aac;" ) . replace ( /^no$/ , "" ) ) && ( this . m4a = ! 0 ) , a . canPlayType ( 'audio/webm; codecs="vorbis"' ) . replace ( /^no$/ , "" ) && ( this . webm = ! 0 ) ) } catch ( c ) { } } , _checkDevice : function ( ) { this . pixelRatio = window . devicePixelRatio || 1 , this . iPhone = - 1 != navigator . userAgent . toLowerCase ( ) . indexOf ( "iphone" ) , this . iPhone4 = 2 == this . pixelRatio && this . iPhone , this . iPad = - 1 != navigator . userAgent . toLowerCase ( ) . indexOf ( "ipad" ) , this . typedArray = "undefined" != typeof Int8Array ? ! 0 : ! 1 , "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array && "undefined" != typeof Uint32Array && ( this . littleEndian = this . _checkIsLittleEndian ( ) , b . Device . LITTLE _ENDIAN = this . littleEndian ) , this . support32bit = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8ClampedArray && "undefined" != typeof Int32Array && null !== this . littleEndian && this . _checkIsUint8ClampedImageData ( ) , navigator . vibrate = navigator . vibrate || navigator . webkitVibrate || navigator . mozVibrate || navigator . msVibrate , navigator . vibrate && ( this . vibration = ! 0 ) } , _checkIsLittleEndian : function ( ) { var a = new ArrayBuffer ( 4 ) , b = new Uint8Array ( a ) , c = new Uint32Array ( a ) ; return b [ 0 ] = 161 , b [ 1 ] = 178 , b [ 2 ] = 195 , b [ 3 ] = 212 , 3569595041 == c [ 0 ] ? ! 0 : 2712847316 == c [ 0 ] ? ! 1 : null } , _checkIsUint8ClampedImageData : function ( ) { if ( "undefined" == typeof Uint8ClampedArray ) return ! 1 ; var a = document . createElement ( "canvas" ) , b = a . getContext ( "2d" ) ; if ( ! b ) return ! 1 ; var c = b . createImageData ( 1 , 1 ) ; return c . data instanceof Uint8ClampedArray } , _checkCSS3D : function ( ) { var a , b = document . createElement ( "p" ) , c = { webkitTransform : "-webkit-transform" , OTransform : "-o-transform" , msTransform : "-ms-transform" , MozTransform : "-moz-transform" , transform : "transform" } ; document . body . insertBefore ( b , null ) ; for ( var d in c ) void 0 !== b . style [ d ] && ( b . style [ d ] = "translate3d(1px,1px,1px)" , a = window . getComputedStyle ( b ) . getPropertyValue ( c [ d ] ) ) ; document . body . removeChild ( b ) , this . css3D = void 0 !== a && a . length > 0 && "none" !== a } , canPlayAudio : function ( a ) { return "mp3" == a && this . mp3 ? ! 0 : "ogg" == a && ( this . ogg || this . opus ) ? ! 0 : "m4a" == a && this . m4a ? ! 0 : "wav" == a && this . wav ? ! 0 : "webm" == a && this . webm ? ! 0 : ! 1 } , isConsoleOpen : function ( ) { return window . console && window . console . firebug ? ! 0 : window . console && ( console . profile ( ) , console . profileEnd ( ) , console . clear && console . clear ( ) , console . profiles ) ? console . profiles . length > 0 : ! 1 } } , b . Device . prototype . constructor = b . Device , b . RequestAnimationFrame = function ( a , b ) { "undefined" == typeof b && ( b = ! 1 ) , this . game = a , this . isRunning = ! 1 , this . forceSetTimeOut = b ; for ( var c = [ "ms" , "moz" , "webkit" , "o" ] , d = 0 ; d < c . length && ! window . requestAnimationFrame ; d ++ ) window . requestAnimationFrame = window [ c [ d ] + "RequestAnimationFrame" ] , window . cancelAnimationFrame = window [ c [ d ] + "CancelAnimationFrame" ] ; this . _isSetTimeOut = ! 1 , this . _onLoop = null , this . _timeOutID = null } , b . RequestAnimationFrame . prototype = { start : function ( ) { this . isRunning = ! 0 ; var a = this ; ! window . requestAnimationFrame || this . forceSetTimeOut ? ( this . _isSetTimeOut = ! 0 , this . _onLoop = function ( ) { return a . updateSetTimeout ( ) } , this . _timeOutID = window . setTimeout ( this . _onLoop , 0 ) ) : ( this . _isSetTimeOut = ! 1 , this . _onLoop = function ( b ) { return a . updateRAF ( b ) } , this . _timeOutID = window . requestAnimationFrame ( this . _onLoop ) ) } , updateRAF : function ( ) { this . game . update ( Date . now ( ) ) , this . _timeOutID = window . requestAnimationFrame ( this . _onLoop ) } , updateSetTimeout : function ( ) { 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 } } , b . RequestAnimationFrame . prototype . constructor = b . RequestAnimationFrame , b . Math = { PI2 : 2 * Math . PI , fuzzyEqual : function ( a , b , c ) { return "undefined" == typeof c && ( c = 1e-4 ) , Math . abs ( a - b ) < c } , fuzzyLessThan : function ( a , b , c ) { return "undefined" == typeof c && ( c
} , validateFrames : function ( a , b ) { "undefined" == typeof 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 ] ) { if ( this . currentAnim !== this . _anims [ a ] ) return this . currentAnim && this . currentAnim . isPlaying && this . currentAnim . stop ( ) , this . currentAnim = this . _anims [ a ] , this . currentAnim . paused = ! 1 , this . currentAnim . play ( b , c , d ) ; if ( this . currentAnim . isPlaying === ! 1 ) return this . currentAnim . paused = ! 1 , this . currentAnim . play ( b , c , d ) } } , stop : function ( a , b ) { "undefined" == typeof b && ( b = ! 1 ) , "string" == typeof a ? this . _anims [ a ] && ( this . currentAnim = this . _anims [ a ] , this . currentAnim . stop ( b ) ) : this . currentAnim && this . currentAnim . stop ( b ) } , update : function ( ) { return this . updateIfVisible && ! this . sprite . visible ? ! 1 : this . currentAnim && this . currentAnim . update ( ) === ! 0 ? ( this . currentFrame = this . currentAnim . currentFrame , ! 0 ) : ! 1 } , getAnimation : function ( a ) { return "string" == typeof a && this . _anims [ a ] ? this . _anims [ a ] : null } , refreshFrame : function ( ) { this . sprite . setTexture ( PIXI . TextureCache [ this . currentFrame . uuid ] ) , this . sprite . _ _tilePattern && ( this . _ _tilePattern = ! 1 , this . tilingTexture = ! 1 ) } , destroy : function ( ) { var a = null ; for ( var a in this . _anims ) this . _anims . hasOwnProperty ( a ) && this . _anims [ a ] . destroy ( ) ; this . _anims = { } , this . _frameData = null , this . _frameIndex = 0 , this . currentAnim = null , this . currentFrame = null } } , b . AnimationManager . prototype . constructor = b . AnimationManager , Object . defineProperty ( b . AnimationManager . prototype , "frameData" , { get : function ( ) { return this . _frameData } } ) , Object . defineProperty ( b . AnimationManager . prototype , "frameTotal" , { get : function ( ) { return this . _frameData ? this . _frameData . total : - 1 } } ) , Object . defineProperty ( b . AnimationManager . prototype , "paused" , { get : function ( ) { return this . currentAnim . isPaused } , set : function ( a ) { this . currentAnim . paused = a } } ) , Object . defineProperty ( b . AnimationManager . prototype , "frame" , { get : function ( ) { return this . currentFrame ? this . _frameIndex : void 0 } , set : function ( a ) { "number" == typeof a && this . _frameData && null !== this . _frameData . getFrame ( a ) && ( this . currentFrame = this . _frameData . getFrame ( a ) , this . currentFrame && ( this . _frameIndex = a , this . sprite . setTexture ( PIXI . TextureCache [ this . currentFrame . uuid ] ) , this . sprite . _ _tilePattern && ( this . _ _tilePattern = ! 1 , this . tilingTexture = ! 1 ) ) ) } } ) , Object . defineProperty ( b . AnimationManager . prototype , "frameName" , { get : function ( ) { return this . currentFrame ? this . currentFrame . name : void 0 } , 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 . setTexture ( PIXI . TextureCache [ this . currentFrame . uuid ] ) , this . sprite . _ _tilePattern && ( this . _ _tilePattern = ! 1 , this . tilingTexture = ! 1 ) ) ) : console . warn ( "Cannot set frameName: " + a ) } } ) , b . Animation = function ( a , c , d , e , f , g , h ) { this . game = a , this . _parent = c , 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 = 1 , this . currentFrame = this . _frameData . getFrame ( this . _frames [ this . _frameIndex ] ) , this . onStart = new b . Signal , this . onComplete = new b . Signal , this . onLoop = new b . Signal , this . game . onPause . add ( this . onPause , this ) , this . game . onResume . add ( this . onResume , this ) } , b . Animation . prototype = { play : function ( a , b , c ) { return "number" == typeof a && ( this . delay = 1e3 / a ) , "boolean" == typeof b && ( this . loop = b ) , "undefined" != typeof c && ( this . killOnComplete = c ) , this . isPlaying = ! 0 , this . isFinished = ! 1 , this . paused = ! 1 , this . loopCount = 0 , this . _timeLastFrame = this . game . time . now , this . _timeNextFrame = this . game . time . now + this . delay , this . _frameIndex = 0 , this . currentFrame = this . _frameData . getFrame ( this . _frames [ this . _frameIndex ] ) , this . _parent . setTexture ( PIXI . TextureCache [ this . currentFrame . uuid ] ) , this . _parent . _ _tilePattern && ( this . _parent . _ _tilePattern = ! 1 , this . _parent . tilingTexture = ! 1 ) , this . _parent . events . onAnimationStart . dispatch ( this . _parent , this ) , this . onStart . dispatch ( this . _parent , this ) , this } , restart : functio
} , fileComplete : function ( a ) { if ( ! this . _fileList [ a ] ) return void console . warn ( "Phaser.Loader fileComplete invalid index " + a ) ; var c = this . _fileList [ a ] ; c . loaded = ! 0 ; var d = ! 0 , e = this ; switch ( c . type ) { case "image" : this . game . cache . addImage ( c . key , c . url , c . data ) ; break ; case "spritesheet" : this . game . cache . addSpriteSheet ( c . key , c . url , c . data , c . frameWidth , c . frameHeight , c . frameMax , c . margin , c . spacing ) ; break ; case "textureatlas" : if ( null == c . atlasURL ) this . game . cache . addTextureAtlas ( c . key , c . url , c . data , c . atlasData , c . format ) ; else { if ( d = ! 1 , this . _xhr . open ( "GET" , this . baseURL + c . atlasURL , ! 0 ) , this . _xhr . responseType = "text" , c . format == b . Loader . TEXTURE _ATLAS _JSON _ARRAY || c . format == b . Loader . TEXTURE _ATLAS _JSON _HASH ) this . _xhr . onload = function ( ) { return e . jsonLoadComplete ( a ) } ; else { if ( c . format != b . Loader . TEXTURE _ATLAS _XML _STARLING ) throw new Error ( "Phaser.Loader. Invalid Texture Atlas format: " + c . format ) ; this . _xhr . onload = function ( ) { return e . xmlLoadComplete ( a ) } } this . _xhr . onerror = function ( ) { return e . dataLoadError ( a ) } , this . _xhr . send ( ) } break ; case "bitmapfont" : null == c . xmlURL ? this . game . cache . addBitmapFont ( c . key , c . url , c . data , c . xmlData , c . xSpacing , c . ySpacing ) : ( d = ! 1 , this . _xhr . open ( "GET" , this . baseURL + c . xmlURL , ! 0 ) , this . _xhr . responseType = "text" , this . _xhr . onload = function ( ) { return e . xmlLoadComplete ( a ) } , this . _xhr . onerror = function ( ) { return e . dataLoadError ( a ) } , this . _xhr . send ( ) ) ; break ; case "audio" : if ( this . game . sound . usingWebAudio ) { if ( c . data = this . _xhr . response , this . game . cache . addSound ( c . key , c . url , c . data , ! 0 , ! 1 ) , c . autoDecode ) { var f = this , g = c . key ; this . game . cache . updateSound ( g , "isDecoding" , ! 0 ) , this . game . sound . context . decodeAudioData ( c . data , function ( a ) { a && ( f . game . cache . decodedSound ( g , a ) , f . game . sound . onSoundDecode . dispatch ( g , f . game . cache . getSound ( g ) ) ) } ) } } else c . data . removeEventListener ( "canplaythrough" , b . GAMES [ this . game . id ] . load . fileComplete ) , this . game . cache . addSound ( c . key , c . url , c . data , ! 1 , ! 0 ) ; break ; case "text" : c . data = this . _xhr . responseText , this . game . cache . addText ( c . key , c . url , c . data ) ; break ; case "physics" : var h = JSON . parse ( this . _xhr . responseText ) ; this . game . cache . addPhysicsData ( c . key , c . url , h , c . format ) ; break ; case "script" : c . data = document . createElement ( "script" ) , c . data . language = "javascript" , c . data . type = "text/javascript" , c . data . defer = ! 1 , c . data . text = this . _xhr . responseText , document . head . appendChild ( c . data ) , c . callback && ( c . data = c . callback . call ( c . callbackContext , c . key , this . _xhr . responseText ) ) ; break ; case "binary" : c . data = c . callback ? c . callback . call ( c . callbackContext , c . key , this . _xhr . response ) : this . _xhr . response , this . game . cache . addBinary ( c . key , c . data ) } d && this . nextFile ( a , ! 0 ) } , jsonLoadComplete : function ( a ) { if ( ! this . _fileList [ a ] ) return void console . warn ( "Phaser.Loader jsonLoadComplete invalid index " + a ) ; var b = this . _fileList [ a ] , c = JSON . parse ( this . _xhr . responseText ) ; b . loaded = ! 0 , "tilemap" === b . type ? this . game . cache . addTilemap ( b . key , b . url , c , b . format ) : "json" === b . type ? this . game . cache . addJSON ( b . key , b . url , c ) : this . game . cache . addTextureAtlas ( b . key , b . url , b . data , c , b . format ) , this . nextFile ( a , ! 0 ) } , csvLoadComplete : function ( a ) { if ( ! this . _fileList [ a ] ) return void console . warn ( "Phaser.Loader csvLoadComplete invalid index " + a ) ; var b = this . _fileList [ a ] , c = this . _xhr . responseText ; b . loaded = ! 0 , this . game . cache . addTilemap ( b . key , b . url , c , b . format ) , this . nextFile ( a , ! 0 ) } , dataLoadError : function ( a ) { var b = this . _fileList [ a ] ; b . loaded = ! 0 , b . error = ! 0 , console . warn ( "Phaser.Loader dataLoadError: " + b . key ) , this . nextFile ( a , ! 0 ) } , xmlLoadComplete : function ( a ) { var b , c = this . _xhr . responseText ; try { if ( window . DOMParser ) { var d = new DOMParser ; b = d . parseFromString ( c , "text/xml" ) } else b = new ActiveXObject ( "Microsoft.XMLDOM" ) , b . async = "false" , b . loadXML ( c ) } catch ( e ) { b = void 0 } if ( ! b || ! b . documentElement || b . getElementsByTagName ( "parsererror" ) . length ) throw new Error ( "Phaser.Loader. Invalid XML given" ) ; var f = this . _fileList [ a ] ; f . loaded = ! 0 , "bitmapfont" == f . type ? this . game . cache . addBitmapFont ( f . key , f . url , f . data , b , f . xSpacing , f . ySpacing ) : "textureatlas" == f . type && this . game . cache . addTextureAtlas ( f . key , f . url , f . data , b , f . format ) , this . nextFile ( a , ! 0 ) } , nextFile : function ( a , b ) { this . progressFloat += this . _progressChunk , this . progress = Math . round ( this . progressFloat ) , this . progress > 100 && ( this . progress = 100 ) , null !== this . preloadSprite &&
} , getWebRGB : function ( a ) { var b = ( a >>> 24 ) / 255 , c = a >> 16 & 255 , d = a >> 8 & 255 , e = 255 & a ; return "rgba(" + c . toString ( ) + "," + d . toString ( ) + "," + e . toString ( ) + "," + b . toString ( ) + ")" } , getAlpha : function ( a ) { return a >>> 24 } , getAlphaFloat : function ( a ) { return ( a >>> 24 ) / 255 } , getRed : function ( a ) { return a >> 16 & 255 } , getGreen : function ( a ) { return a >> 8 & 255 } , getBlue : function ( a ) { return 255 & a } , getColorInfo : function ( a ) { var c = b . Color . getRGB ( a ) , d = b . Color . RGBtoHexstring ( a ) + "\n" ; return d = d . concat ( "Alpha: " + c . alpha + " Red: " + c . red + " Green: " + c . green + " Blue: " + c . blue ) + "\n" } , RGBtoHexstring : function ( a ) { var c = b . Color . getRGB ( a ) ; return "0x" + b . Color . colorToHexstring ( c . alpha ) + b . Color . colorToHexstring ( c . red ) + b . Color . colorToHexstring ( c . green ) + b . Color . colorToHexstring ( c . blue ) } , RGBtoWebstring : function ( a ) { var c = b . Color . getRGB ( a ) ; return "#" + b . Color . colorToHexstring ( c . red ) + b . Color . colorToHexstring ( c . green ) + b . Color . colorToHexstring ( c . blue ) } , colorToHexstring : function ( a ) { var b = "0123456789ABCDEF" , c = a % 16 , d = ( a - c ) / 16 , e = b . charAt ( d ) + b . charAt ( c ) ; return e } } , b . Physics = function ( a , b ) { b = b || { } , this . game = a , this . config = b , this . arcade = null , this . p2 = null , this . ninja = null , this . box2d = null , this . chipmunk = null , this . parseConfig ( ) } , b . Physics . ARCADE = 0 , b . Physics . P2JS = 1 , b . Physics . NINJA = 2 , b . Physics . BOX2D = 3 , b . Physics . CHIPMUNK = 5 , b . Physics . prototype = { parseConfig : function ( ) { this . config . hasOwnProperty ( "arcade" ) && this . config . arcade !== ! 0 || ! b . Physics . hasOwnProperty ( "Arcade" ) || ( this . arcade = new b . Physics . Arcade ( this . game ) , this . game . time . deltaCap = . 2 ) , this . config . hasOwnProperty ( "ninja" ) && this . config . ninja === ! 0 && b . Physics . hasOwnProperty ( "Ninja" ) && ( this . ninja = new b . Physics . Ninja ( this . game ) ) , this . config . hasOwnProperty ( "p2" ) && this . config . p2 === ! 0 && b . Physics . hasOwnProperty ( "P2" ) && ( this . p2 = new b . Physics . P2 ( this . game , this . config ) ) } , startSystem : function ( a ) { if ( a === b . Physics . ARCADE ? this . arcade = new b . Physics . Arcade ( this . game ) : a === b . Physics . P2JS && ( this . p2 = new b . Physics . P2 ( this . game , this . config ) ) , a === b . Physics . NINJA ) this . ninja = new b . Physics . Ninja ( this . game ) ; else { if ( a === b . Physics . BOX2D && null === this . box2d ) throw new Error ( "The Box2D physics system has not been implemented yet." ) ; if ( a === b . Physics . CHIPMUNK && null === this . chipmunk ) throw new Error ( "The Chipmunk physics system has not been implemented yet." ) } } , enable : function ( a , c , d ) { "undefined" == typeof c && ( c = b . Physics . ARCADE ) , "undefined" == typeof d && ( d = ! 1 ) , c === b . Physics . ARCADE ? this . arcade . enable ( a ) : c === b . Physics . P2JS && this . p2 ? this . p2 . enable ( a , d ) : c === b . Physics . NINJA && this . ninja && this . ninja . enableAABB ( a ) } , preUpdate : function ( ) { this . p2 && this . p2 . preUpdate ( ) } , update : function ( ) { this . p2 && this . p2 . update ( ) } , setBoundsToWorld : function ( ) { this . arcade && this . arcade . setBoundsToWorld ( ) , this . ninja && this . ninja . setBoundsToWorld ( ) , this . p2 && this . p2 . setBoundsToWorld ( ) } , clear : function ( ) { this . p2 && this . p2 . clear ( ) } , destroy : function ( ) { this . p2 && this . p2 . destroy ( ) , this . arcade = null , this . ninja = null , this . p2 = null } } , b . Physics . prototype . constructor = b . Physics , b . Physics . Arcade = function ( a ) { this . game = a , this . gravity = new b . Point , this . bounds = new b . Rectangle ( 0 , 0 , a . world . width , a . world . height ) , this . checkCollision = { up : ! 0 , down : ! 0 , left : ! 0 , right : ! 0 } , this . maxObjects = 10 , this . maxLevels = 4 , this . OVERLAP _BIAS = 4 , this . TILE _BIAS = 16 , this . forceX = ! 1 , this . quadTree = new b . QuadTree ( this . game . world . bounds . x , this . game . world . bounds . y , this . game . world . bounds . width , this . game . world . bounds . height , this . maxObjects , this . maxLevels ) , this . _overlap = 0 , this . _maxOverlap = 0 , this . _velocity1 = 0 , this . _velocity2 = 0 , this . _newVelocity1 = 0 , this . _newVelocity2 = 0 , this . _average = 0 , this . _mapData = [ ] , this . _result = ! 1 , this . _total = 0 , this . _angle = 0 , this . _dx = 0 , this . _dy = 0 } , b . Physics . Arcade . prototype . constructor = b . Physics . Arcade , b . Physics . Arcade . prototype = { setBounds : function ( a , b , c , d ) { this . bounds . setTo ( a , b , c , d ) } , setBoundsToWorld : function ( ) { this . bounds . setTo ( this . game . world . bounds . x , this . game . world . bounds . y , this . game . world . bounds . width , this . game . world . bounds . height ) } , enable : function ( a , c ) { "undefined" == typeof c && ( c = ! 0 ) ; var d = 1 ; if ( Array . isArray ( a ) ) for ( d = a . length ; d -- ; ) a [ d ] instanceof b . Group ? this . enable ( a [ d ] . children , c ) : ( this . enableBody ( a [ d ] ) , c && a [ d ] . hasOwnProperty ( "children" ) && a [ d ] . children . length > 0 && this . enable ( a [ d ] , ! 0 ) ) ; else a
2014-04-29 21:00:16 +00:00
} } ) , Object . defineProperty ( b . Particles . Arcade . Emitter . prototype , "top" , { get : function ( ) { return Math . floor ( this . y - this . height / 2 ) } } ) , Object . defineProperty ( b . Particles . Arcade . Emitter . prototype , "bottom" , { get : function ( ) { return Math . floor ( this . y + this . height / 2 ) } } ) , b . Tile = function ( a , b , c , d , e , f ) { this . layer = a , this . index = b , this . x = c , this . y = d , this . worldX = c * e , this . worldY = d * f , this . width = e , this . height = f , this . centerX = Math . abs ( e / 2 ) , this . centerY = Math . abs ( f / 2 ) , this . alpha = 1 , this . properties = { } , this . scanned = ! 1 , this . faceTop = ! 1 , this . faceBottom = ! 1 , this . faceLeft = ! 1 , this . faceRight = ! 1 , this . collideLeft = ! 1 , this . collideRight = ! 1 , this . collideUp = ! 1 , this . collideDown = ! 1 , this . collisionCallback = null , this . collisionCallbackContext = this } , b . Tile . prototype = { containsPoint : function ( a , b ) { return ! ( a < this . worldX || b < this . worldY || a > this . right || b > this . bottom ) } , intersects : function ( a , b , c , d ) { return c <= this . worldX ? ! 1 : d <= this . worldY ? ! 1 : a >= this . worldX + this . width ? ! 1 : b >= this . worldY + this . height ? ! 1 : ! 0 } , setCollisionCallback : function ( a , b ) { this . collisionCallback = a , this . collisionCallbackContext = b } , destroy : function ( ) { this . collisionCallback = null , this . collisionCallbackContext = null , this . properties = null } , setCollision : function ( a , b , c , d ) { this . collideLeft = a , this . collideRight = b , this . collideUp = c , this . collideDown = d } , resetCollision : function ( ) { this . collideLeft = ! 1 , this . collideRight = ! 1 , this . collideUp = ! 1 , this . collideDown = ! 1 , this . faceTop = ! 1 , this . faceBottom = ! 1 , this . faceLeft = ! 1 , this . faceRight = ! 1 } , isInteresting : function ( a , b ) { return a && b ? this . collideLeft || this . collideRight || this . collideUp || this . collideDown || this . faceTop || this . faceBottom || this . faceLeft || this . faceRight || this . collisionCallback : a ? this . collideLeft || this . collideRight || this . collideUp || this . collideDown : b ? this . faceTop || this . faceBottom || this . faceLeft || this . faceRight : ! 1 } , copy : function ( a ) { this . index = a . index , this . alpha = a . alpha , this . properties = a . properties , this . collideUp = a . collideUp , this . collideDown = a . collideDown , this . collideLeft = a . collideLeft , this . collideRight = a . collideRight , this . collisionCallback = a . collisionCallback , this . collisionCallbackContext = a . collisionCallbackContext } } , b . Tile . prototype . constructor = b . Tile , Object . defineProperty ( b . Tile . prototype , "collides" , { get : function ( ) { return this . collideLeft || this . collideRight || this . collideUp || this . collideDown } } ) , Object . defineProperty ( b . Tile . prototype , "canCollide" , { get : function ( ) { return this . collideLeft || this . collideRight || this . collideUp || this . collideDown || this . collisionCallback } } ) , Object . defineProperty ( b . Tile . prototype , "left" , { get : function ( ) { return this . worldX } } ) , Object . defineProperty ( b . Tile . prototype , "right" , { get : function ( ) { return this . worldX + this . width } } ) , Object . defineProperty ( b . Tile . prototype , "top" , { get : function ( ) { return this . worldY } } ) , Object . defineProperty ( b . Tile . prototype , "bottom" , { get : function ( ) { return this . worldY + this . height } } ) , b . Tilemap = function ( a , c , d , e , f , g ) { this . game = a , this . key = c ; var h = b . TilemapParser . parse ( this . game , c , d , e , f , g ) ; null !== h && ( this . width = h . width , this . height = h . height , this . tileWidth = h . tileWidth , this . tileHeight = h . tileHeight , this . orientation = h . orientation , this . format = h . format , this . version = h . version , this . properties = h . properties , this . widthInPixels = h . widthInPixels , this . heightInPixels = h . heightInPixels , this . layers = h . layers , this . tilesets = h . tilesets , this . tiles = h . tiles , this . objects = h . objects , this . collideIndexes = [ ] , this . collision = h . collision , this . images = h . images , this . currentLayer = 0 , this . debugMap = [ ] , this . _results = [ ] , this . _tempA = 0 , this . _tempB = 0 ) } , b . Tilemap . CSV = 0 , b . Tilemap . TILED _JSON = 1 , b . Tilemap . prototype = { create : function ( a , b , c , d , e , f ) { return "undefined" == typeof f && ( f = this . game . world ) , this . width = b , this . height = c , this . setTileSize ( d , e ) , this . layers . length = 0 , this . createBlankLayer ( a , b , c , d , e , f ) } , setTileSize : function ( a , b ) { this . tileWidth = a , this . tileHeight = b , this . widthInPixels = this . width * a , this . heightInPixels = this . height * b } , addTilesetImage : function ( a , c , d , e , f , g , h ) { if ( "undefined" == typeof d && ( d = this . tileWidth ) , "undefined" == typeof e && ( e = this . tileHeight ) , "undefined" == typeof f && ( f = 0 ) , "undefined" == typeof g && ( g = 0 ) , "undefined" == typeof h && ( h = 0 ) , 0 === d && ( d = 32 ) , 0 === e && ( e = 32 ) , "undefined" == typeof c ) { if ( "string" != typeof a ) return null ; if ( c
2014-04-29 14:39:53 +00:00
} , collideSpriteVsSprite : function ( a , b , c , d , e , f ) { this . separate ( a . body , b . body , d , e , f ) && ( c && c . call ( e , a , b ) , this . _total ++ ) } , collideSpriteVsGroup : function ( a , b , c , d , e , f ) { if ( 0 !== b . length ) for ( var g = 0 , h = b . children . length ; h > g ; g ++ ) b . children [ g ] . exists && b . children [ g ] . body && this . separate ( a . body , b . children [ g ] . body , d , e , f ) && ( c && c . call ( e , a , b . children [ g ] ) , this . _total ++ ) } , collideGroupVsSelf : function ( a , b , c , d , e ) { if ( 0 !== a . length ) for ( var f = a . children . length , g = 0 ; f > g ; g ++ ) for ( var h = g + 1 ; f >= h ; h ++ ) a . children [ g ] && a . children [ h ] && a . children [ g ] . exists && a . children [ h ] . exists && this . collideSpriteVsSprite ( a . children [ g ] , a . children [ h ] , b , c , d , e ) } , collideGroupVsGroup : function ( a , b , c , d , e , f ) { if ( 0 !== a . length && 0 !== b . length ) for ( var g = 0 , h = a . children . length ; h > g ; g ++ ) a . children [ g ] . exists && this . collideSpriteVsGroup ( a . children [ g ] , b , c , d , e , f ) } , separate : function ( a , b ) { return a . type !== Phaser . Physics . NINJA || b . type !== Phaser . Physics . NINJA ? ! 1 : a . aabb && b . aabb ? a . aabb . collideAABBVsAABB ( b . aabb ) : a . aabb && b . tile ? a . aabb . collideAABBVsTile ( b . tile ) : a . tile && b . aabb ? b . aabb . collideAABBVsTile ( a . tile ) : a . circle && b . tile ? a . circle . collideCircleVsTile ( b . tile ) : a . tile && b . circle ? b . circle . collideCircleVsTile ( a . tile ) : void 0 } } , Phaser . Physics . Ninja . Body = function ( a , b , c , d , e , f , g , h , i ) { b = b || null , "undefined" == typeof c && ( c = 1 ) , "undefined" == typeof d && ( d = 1 ) , "undefined" == typeof e && ( e = 16 ) , this . sprite = b , this . game = a . game , this . type = Phaser . Physics . NINJA , this . system = a , this . aabb = null , this . tile = null , this . circle = null , this . shape = null , this . drag = 1 , this . friction = . 05 , this . gravityScale = 1 , this . bounce = . 3 , this . velocity = new Phaser . Point , this . facing = Phaser . NONE , this . immovable = ! 1 , this . collideWorldBounds = ! 0 , this . checkCollision = { none : ! 1 , any : ! 0 , up : ! 0 , down : ! 0 , left : ! 0 , right : ! 0 } , this . touching = { none : ! 0 , up : ! 1 , down : ! 1 , left : ! 1 , right : ! 1 } , this . wasTouching = { none : ! 0 , up : ! 1 , down : ! 1 , left : ! 1 , right : ! 1 } , this . maxSpeed = 8 , b && ( f = b . x , g = b . y , h = b . width , i = b . height , 0 === b . anchor . x && ( f += . 5 * b . width ) , 0 === b . anchor . y && ( g += . 5 * b . height ) ) , 1 === c ? ( this . aabb = new Phaser . Physics . Ninja . AABB ( this , f , g , h , i ) , this . shape = this . aabb ) : 2 === c ? ( this . circle = new Phaser . Physics . Ninja . Circle ( this , f , g , e ) , this . shape = this . circle ) : 3 === c && ( this . tile = new Phaser . Physics . Ninja . Tile ( this , f , g , h , i , d ) , this . shape = this . tile ) } , Phaser . Physics . Ninja . Body . prototype = { preUpdate : function ( ) { this . wasTouching . none = this . touching . none , this . wasTouching . up = this . touching . up , this . wasTouching . down = this . touching . down , this . wasTouching . left = this . touching . left , this . wasTouching . right = this . touching . right , this . touching . none = ! 0 , this . touching . up = ! 1 , this . touching . down = ! 1 , this . touching . left = ! 1 , this . touching . right = ! 1 , this . shape . integrate ( ) , this . collideWorldBounds && this . shape . collideWorldBounds ( ) } , postUpdate : function ( ) { this . sprite && ( this . sprite . type === Phaser . TILESPRITE ? ( this . sprite . x = this . shape . pos . x - this . shape . xw , this . sprite . y = this . shape . pos . y - this . shape . yw ) : ( this . sprite . x = this . shape . pos . x , this . sprite . y = this . shape . pos . y ) ) , this . velocity . x < 0 ? this . facing = Phaser . LEFT : this . velocity . x > 0 && ( this . facing = Phaser . RIGHT ) , this . velocity . y < 0 ? this . facing = Phaser . UP : this . velocity . y > 0 && ( this . facing = Phaser . DOWN ) } , setZeroVelocity : function ( ) { this . shape . oldpos . x = this . shape . pos . x , this . shape . oldpos . y = this . shape . pos . y } , moveTo : function ( a , b ) { var c = a * this . game . time . physicsElapsed , b = this . game . math . degToRad ( b ) ; this . shape . pos . x = this . shape . oldpos . x + c * Math . cos ( b ) , this . shape . pos . y = this . shape . oldpos . y + c * Math . sin ( b ) } , moveFrom : function ( a , b ) { var c = - a * this . game . time . physicsElapsed , b = this . game . math . degToRad ( b ) ; this . shape . pos . x = this . shape . oldpos . x + c * Math . cos ( b ) , this . shape . pos . y = this . shape . oldpos . y + c * Math . sin ( b ) } , moveLeft : function ( a ) { var b = - a * this . game . time . physicsElapsed ; this . shape . pos . x = this . shape . oldpos . x + Math . min ( this . maxSpeed , Math . max ( - this . maxSpeed , this . shape . pos . x - this . shape . oldpos . x + b ) ) } , moveRight : function ( a ) { var b = a * this . game . time . physicsElapsed ; this . shape . pos . x = this . shape . oldpos . x + Math . min ( this . maxSpeed , Math . max ( - this . maxSpeed , this . shape . pos . x - this . shape . oldpos . x + b ) ) } , moveUp : function ( a ) { var b = - a * this . game . time . physicsElapsed ; this . shape . pos . y = this . shape . oldpos . y + Math . min ( this . maxSpeed , Math . max ( - this . maxSpeed , this . shape . pos . y - this . shape . oldpos . y + b ) ) } , moveDown : function ( a ) { var b = a * this . g
} , projCircle _Half : function ( a , b , c , d , e , f ) { var g = f . signx , h = f . signy , i = c * g + d * h ; if ( i > 0 ) return Phaser . Physics . Ninja . Circle . COL _NONE ; if ( 0 === c ) if ( 0 === d ) { var j = e . radius , k = e . pos . x - g * j - f . pos . x , l = e . pos . y - h * j - f . pos . y , m = g , n = h , o = k * m + l * n ; if ( 0 > o ) { m *= - o , n *= - o ; var p = Math . sqrt ( m * m + n * n ) , q = Math . sqrt ( a * a + b * b ) ; return p > q ? ( e . reportCollisionVsWorld ( a , b , a / q , b / q , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ) : ( e . reportCollisionVsWorld ( m , n , f . signx , f . signy ) , Phaser . Physics . Ninja . Circle . COL _OTHER ) } } else { if ( 0 !== i ) return e . reportCollisionVsWorld ( 0 , b * d , 0 , d , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var r = e . pos . x - f . pos . x ; if ( 0 > r * g ) return e . reportCollisionVsWorld ( 0 , b * d , 0 , d , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var s = e . pos . y - ( f . pos . y + d * f . yw ) , t = Math . sqrt ( r * r + s * s ) , u = e . radius - t ; if ( u > 0 ) return 0 === t ? ( r = g / Math . SQRT2 , s = d / Math . SQRT2 ) : ( r /= t , s /= t ) , e . reportCollisionVsWorld ( r * u , s * u , r , s , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } else if ( 0 === d ) { if ( 0 !== i ) return e . reportCollisionVsWorld ( a * c , 0 , c , 0 , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var s = e . pos . y - f . pos . y ; if ( 0 > s * h ) return e . reportCollisionVsWorld ( a * c , 0 , c , 0 , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var r = e . pos . x - ( f . pos . x + c * f . xw ) , t = Math . sqrt ( r * r + s * s ) , u = e . radius - t ; if ( u > 0 ) return 0 === t ? ( r = g / Math . SQRT2 , s = d / Math . SQRT2 ) : ( r /= t , s /= t ) , e . reportCollisionVsWorld ( r * u , s * u , r , s , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } else { var v = f . pos . x + c * f . xw , w = f . pos . y + d * f . yw , r = e . pos . x - v , s = e . pos . y - w , t = Math . sqrt ( r * r + s * s ) , u = e . radius - t ; if ( u > 0 ) return 0 === t ? ( r = c / Math . SQRT2 , s = d / Math . SQRT2 ) : ( r /= t , s /= t ) , e . reportCollisionVsWorld ( r * u , s * u , r , s , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } return Phaser . Physics . Ninja . Circle . COL _NONE } , projCircle _22DegS : function ( a , b , c , d , e , f ) { var g , h = f . signx , i = f . signy ; if ( i * d > 0 ) return Phaser . Physics . Ninja . Circle . COL _NONE ; if ( 0 === c ) { if ( 0 !== d ) return e . reportCollisionVsWorld ( 0 , b * d , 0 , d , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var j = f . sx , k = f . sy , l = e . radius , m = e . pos . x - ( f . pos . x - h * f . xw ) , n = e . pos . y - f . pos . y , o = m * - k + n * j ; if ( o * h * i > 0 ) { var p = Math . sqrt ( m * m + n * n ) , q = l - p ; if ( q > 0 ) return m /= p , n /= p , e . reportCollisionVsWorld ( m * q , n * q , m , n , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } else { m -= l * j , n -= l * k ; var r = m * j + n * k ; if ( 0 > r ) { j *= - r , k *= - r ; var s = Math . sqrt ( j * j + k * k ) ; return b > a ? ( g = a , b = 0 , e . pos . x - f . pos . x < 0 && ( a *= - 1 ) ) : ( g = b , a = 0 , e . pos . y - f . pos . y < 0 && ( b *= - 1 ) ) , s > g ? ( e . reportCollisionVsWorld ( a , b , a / g , b / g , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ) : ( e . reportCollisionVsWorld ( j , k , f . sx , f . sy , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER ) } } } else if ( 0 === d ) if ( 0 > h * c ) { var t = f . pos . x - h * f . xw , u = f . pos . y , v = e . pos . x - t , w = e . pos . y - u ; if ( 0 > w * i ) return e . reportCollisionVsWorld ( a * c , 0 , c , 0 , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var p = Math . sqrt ( v * v + w * w ) , q = e . radius - p ; if ( q > 0 ) return 0 === p ? ( v = c / Math . SQRT2 , w = d / Math . SQRT2 ) : ( v /= p , w /= p ) , e . reportCollisionVsWorld ( v * q , w * q , v , w , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } else { var j = f . sx , k = f . sy , m = e . pos . x - ( f . pos . x + c * f . xw ) , n = e . pos . y - ( f . pos . y - i * f . yw ) , o = m * - k + n * j ; if ( 0 > o * h * i ) { var p = Math . sqrt ( m * m + n * n ) , q = e . radius - p ; if ( q > 0 ) return m /= p , n /= p , e . reportCollisionVsWorld ( m * q , n * q , m , n , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } else { var r = m * j + n * k , q = e . radius - Math . abs ( r ) ; if ( q > 0 ) return e . reportCollisionVsWorld ( j * q , k * q , j , k , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } } else { var t = f . pos . x + c * f . xw , u = f . pos . y + d * f . yw , v = e . pos . x - t , w = e . pos . y - u , p = Math . sqrt ( v * v + w * w ) , q = e . radius - p ; if ( q > 0 ) return 0 === p ? ( v = c / Math . SQRT2 , w = d / Math . SQRT2 ) : ( v /= p , w /= p ) , e . reportCollisionVsWorld ( v * q , w * q , v , w , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER } return Phaser . Physics . Ninja . Circle . COL _NONE } , projCircle _22DegB : function ( a , b , c , d , e , f ) { var g , h = f . signx , i = f . signy ; if ( 0 === c ) if ( 0 === d ) { var j = f . sx , k = f . sy , l = e . radius , m = e . pos . x - j * l - ( f . pos . x - h * f . xw ) , n = e . pos . y - k * l - ( f . pos . y + i * f . yw ) , o = m * j + n * k ; if ( 0 > o ) { j *= - o , k *= - o ; var p = Math . sqrt ( j * j + k * k ) ; return b > a ? ( g = a , b = 0 , e . pos . x - f . pos . x < 0 && ( a *= - 1 ) ) : ( g = b , a = 0 , e . pos . y - f . pos . y < 0 && ( b *= - 1 ) ) , p > g ? ( e . reportCollisionVsWorld ( a , b , a / g , b / g , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ) : ( e . reportCollisionVsWorld ( j , k , f . sx , f . sy , f ) , Phaser . Physics . Ninja . Circle . COL _OTHER ) } } else { if ( 0 > i * d ) return e . reportCollisionVsWorld ( 0 , b * d , 0 , d , f ) , Phaser . Physics . Ninja . Circle . COL _AXIS ; var j = f . sx , k = f . sy , m = e . pos . x - ( f . pos . x - h * f . xw ) , n = e . pos . y - ( f . pos . y + i * f . yw ) , q = m * - k + n * j ; if ( q * h * i > 0 ) { var r = Math . sqrt ( m * m + n * n ) , s = e . radius
verts = o . vertices ; for ( var T = 0 ; T !== verts . length + 1 ; T ++ ) { var U = verts [ T % verts . length ] , V = verts [ ( T + 1 ) % verts . length ] ; if ( f . rotate ( A , U , p ) , f . rotate ( B , V , p ) , h ( A , A , r ) , h ( B , B , r ) , g ( E , B , A ) , f . normalize ( J , E ) , f . rotate90cw ( K , J ) , f . scale ( O , K , - z . radius ) , h ( O , O , s ) , e ( O , o , r , p ) ) { f . sub ( P , A , O ) ; var W = Math . abs ( f . dot ( P , K ) ) ; S > W && ( f . copy ( Q , O ) , S = W , f . scale ( N , K , W ) , f . add ( N , N , O ) , R = ! 0 ) } } if ( R ) { if ( m ) return ! 0 ; var X = this . createContactEquation ( y , q , b , j ) ; return f . sub ( X . normalA , Q , s ) , f . normalize ( X . normalA , X . normalA ) , f . scale ( X . contactPointA , X . normalA , n ) , h ( X . contactPointA , X . contactPointA , s ) , g ( X . contactPointA , X . contactPointA , y . position ) , g ( X . contactPointB , N , r ) , h ( X . contactPointB , X . contactPointB , r ) , g ( X . contactPointB , X . contactPointB , q . position ) , this . contactEquations . push ( X ) , this . enableFriction && this . frictionEquations . push ( this . createFrictionFromContact ( X ) ) , 1 } if ( n > 0 ) for ( var T = 0 ; T < verts . length ; T ++ ) { var Y = verts [ T ] ; if ( f . rotate ( M , Y , p ) , h ( M , M , r ) , g ( L , M , s ) , f . squaredLength ( L ) < n * n ) { if ( m ) return ! 0 ; var X = this . createContactEquation ( y , q , b , j ) ; return f . copy ( X . normalA , L ) , f . normalize ( X . normalA , X . normalA ) , f . scale ( X . contactPointA , X . normalA , n ) , h ( X . contactPointA , X . contactPointA , s ) , g ( X . contactPointA , X . contactPointA , y . position ) , g ( X . contactPointB , M , r ) , h ( X . contactPointB , X . contactPointB , r ) , g ( X . contactPointB , X . contactPointB , q . position ) , this . contactEquations . push ( X ) , this . enableFriction && this . frictionEquations . push ( this . createFrictionFromContact ( X ) ) , 1 } } return 0 } ; var R = f . create ( ) , S = f . create ( ) , T = f . create ( ) , U = f . create ( ) ; c . prototype [ q . PARTICLE | q . CONVEX ] = c . prototype [ q . PARTICLE | q . RECTANGLE ] = c . prototype . particleConvex = function ( a , b , c , d , j , k , l , m , n ) { var o = k , p = m , q = j , r = l , s = c , A = a , B = t , D = u , E = v , G = w , H = x , I = y , L = z , M = C , N = F , O = J , P = K , Q = Number . MAX _VALUE , R = ! 1 , S = o . vertices ; if ( ! e ( s , o , r , p ) ) return 0 ; if ( n ) return ! 0 ; for ( var T = 0 ; T !== S . length + 1 ; T ++ ) { var U = S [ T % S . length ] , V = S [ ( T + 1 ) % S . length ] ; f . rotate ( B , U , p ) , f . rotate ( D , V , p ) , h ( B , B , r ) , h ( D , D , r ) , g ( E , D , B ) , f . normalize ( G , E ) , f . rotate90cw ( H , G ) , g ( M , s , B ) ; { i ( M , H ) } g ( I , B , r ) , g ( L , s , r ) , f . sub ( O , B , s ) ; var W = Math . abs ( f . dot ( O , H ) ) ; Q > W && ( Q = W , f . scale ( N , H , W ) , f . add ( N , N , s ) , f . copy ( P , H ) , R = ! 0 ) } if ( R ) { var X = this . createContactEquation ( A , q , b , k ) ; return f . scale ( X . normalA , P , - 1 ) , f . normalize ( X . normalA , X . normalA ) , f . set ( X . contactPointA , 0 , 0 ) , h ( X . contactPointA , X . contactPointA , s ) , g ( X . contactPointA , X . contactPointA , A . position ) , g ( X . contactPointB , N , r ) , h ( X . contactPointB , X . contactPointB , r ) , g ( X . contactPointB , X . contactPointB , q . position ) , this . contactEquations . push ( X ) , this . enableFriction && this . frictionEquations . push ( this . createFrictionFromContact ( X ) ) , 1 } return 0 } , c . prototype [ q . CIRCLE ] = c . prototype . circleCircle = function ( a , b , c , d , e , i , j , k , l , m , n ) { var o = a , p = b , q = c , r = e , s = i , u = j , v = t , m = m || p . radius , n = n || s . radius ; g ( v , c , j ) ; var w = m + n ; if ( f . squaredLength ( v ) > w * w ) return 0 ; if ( l ) return ! 0 ; var x = this . createContactEquation ( o , r , b , i ) ; return g ( x . normalA , u , q ) , f . normalize ( x . normalA , x . normalA ) , f . scale ( x . contactPointA , x . normalA , m ) , f . scale ( x . contactPointB , x . normalA , - n ) , h ( x . contactPointA , x . contactPointA , q ) , g ( x . contactPointA , x . contactPointA , o . position ) , h ( x . contactPointB , x . contactPointB , u ) , g ( x . contactPointB , x . contactPointB , r . position ) , this . contactEquations . push ( x ) , this . enableFriction && this . frictionEquations . push ( this . createFrictionFromContact ( x ) ) , 1 } , c . prototype [ q . PLANE | q . CONVEX ] = c . prototype [ q . PLANE | q . RECTANGLE ] = c . prototype . planeConvex = function ( a , b , d , e , j , k , l , m , n ) { var o = j , p = l , q = k , r = m , w = a , x = b , y = d , z = e , A = t , B = u , C = v , D = 0 ; f . rotate ( B , s , z ) ; for ( var E = 0 ; E < q . vertices . length ; E ++ ) { var F = q . vertices [ E ] ; if ( f . rotate ( A , F , r ) , h ( A , A , p ) , g ( C , A , y ) , i ( C , B ) <= c . convexPrecision ) { if ( n ) return ! 0 ; D ++ ; var G = this . createContactEquation ( w , o , x , q ) ; g ( C , A , y ) , f . copy ( G . normalA , B ) ; var H = i ( C , G . normalA ) ; f . scale ( C , G . normalA , H ) , g ( G . contactPointB , A , o . position ) , g ( G . contactPointA , A , C ) , g ( G . contactPointA , G . contactPointA , w . position ) , this . contactEquations . push ( G ) , this . enableFriction && this . frictionEquations . push ( this . createFrictionFromContact ( G ) ) } } return D } , c . prototype . convexPlane = function ( a , b , c , d , e , f , g , h , i ) { return console . warn ( "Narrowphase.prototype.convexPlane is deprecated. Use planeConvex instead!" ) , this . planeConvex ( e , f , g , h , a , b , c , d , i ) } , c . prototype [ q . PARTICLE | q . PLANE ] = c . prototype . particlePlane = function ( a , b , c , d , e , h , j , k , l ) { var m = a , n = c , o = e , p = j , q =
else if ( f ++ > 3 * g ) break } return d . push ( e [ 0 ] , e [ 1 ] , e [ 2 ] ) , d } , c . _PointInTriangle = function ( a , b , c , d , e , f , g , h ) { var i = g - c , j = h - d , k = e - c , l = f - d , m = a - c , n = b - d , o = i * i + j * j , p = i * k + j * l , q = i * m + j * n , r = k * k + l * l , s = k * m + l * n , t = 1 / ( o * r - p * p ) , u = ( r * q - p * s ) * t , v = ( o * s - p * q ) * t ; return u >= 0 && v >= 0 && 1 > u + v } , c . _convex = function ( a , b , c , d , e , f ) { return ( b - d ) * ( e - c ) + ( c - a ) * ( f - d ) >= 0 } , b . exports = c } , { } ] , 30 : [ function ( a , b ) { var c = a ( "../../build/vec2" ) . vec2 ; c . crossLength = function ( a , b ) { return a [ 0 ] * b [ 1 ] - a [ 1 ] * b [ 0 ] } , c . crossVZ = function ( a , b , d ) { return c . rotate ( a , b , - Math . PI / 2 ) , c . scale ( a , a , d ) , a } , c . crossZV = function ( a , b , d ) { return c . rotate ( a , d , Math . PI / 2 ) , c . scale ( a , a , b ) , a } , c . rotate = function ( a , b , c ) { var d = Math . cos ( c ) , e = Math . sin ( c ) , f = b [ 0 ] , g = b [ 1 ] ; a [ 0 ] = d * f - e * g , a [ 1 ] = e * f + d * g } , c . rotate90cw = function ( a , b ) { a [ 0 ] = b [ 1 ] , a [ 1 ] = - b [ 0 ] } , c . toLocalFrame = function ( a , b , d , e ) { c . copy ( a , b ) , c . sub ( a , a , d ) , c . rotate ( a , a , - e ) } , c . toGlobalFrame = function ( a , b , d , e ) { c . copy ( a , b ) , c . rotate ( a , a , e ) , c . add ( a , a , d ) } , c . centroid = function ( a , b , d , e ) { return c . add ( a , b , d ) , c . add ( a , a , e ) , c . scale ( a , a , 1 / 3 ) , a } , b . exports = c } , { "../../build/vec2" : 1 } ] , 31 : [ function ( a , b ) { function c ( a ) { a = a || { } , h . call ( this ) , this . id = ++ c . _idCounter , this . world = null , this . shapes = [ ] , this . shapeOffsets = [ ] , this . shapeAngles = [ ] , this . mass = a . mass || 0 , this . invMass = 0 , this . inertia = 0 , this . invInertia = 0 , this . fixedRotation = ! ! a . fixedRotation || ! 1 , this . position = d . fromValues ( 0 , 0 ) , a . position && d . copy ( this . position , a . position ) , this . interpolatedPosition = d . fromValues ( 0 , 0 ) , this . interpolatedAngle = 0 , this . previousPosition = d . fromValues ( 0 , 0 ) , this . previousAngle = 0 , this . velocity = d . fromValues ( 0 , 0 ) , a . velocity && d . copy ( this . velocity , a . velocity ) , this . vlambda = d . fromValues ( 0 , 0 ) , this . wlambda = 0 , this . angle = a . angle || 0 , this . angularVelocity = a . angularVelocity || 0 , this . force = d . create ( ) , a . force && d . copy ( this . force , a . force ) , this . angularForce = a . angularForce || 0 , this . damping = "number" == typeof a . damping ? a . damping : . 1 , this . angularDamping = "number" == typeof a . angularDamping ? a . angularDamping : . 1 , this . motionState = 0 === this . mass ? c . STATIC : c . DYNAMIC , this . boundingRadius = 0 , this . aabb = new g , this . aabbNeedsUpdate = ! 0 , this . allowSleep = ! 0 , this . wantsToSleep = ! 1 , this . sleepState = c . AWAKE , this . sleepSpeedLimit = . 2 , this . sleepTimeLimit = 1 , this . gravityScale = 1 , this . timeLastSleepy = 0 , this . concavePath = null , this . lastDampingScale = 1 , this . lastAngularDampingScale = 1 , this . lastDampingTimeStep = - 1 , this . _wakeUpAfterNarrowphase = ! 1 , this . updateMassProperties ( ) } var d = a ( "../math/vec2" ) , e = a ( "poly-decomp" ) , f = a ( "../shapes/Convex" ) , g = a ( "../collision/AABB" ) , h = a ( "../events/EventEmitter" ) ; b . exports = c , c . prototype = new h , c . _idCounter = 0 , c . prototype . setDensity = function ( a ) { var b = this . getArea ( ) ; this . mass = b * a , this . updateMassProperties ( ) } , c . prototype . getArea = function ( ) { for ( var a = 0 , b = 0 ; b < this . shapes . length ; b ++ ) a += this . shapes [ b ] . area ; return a } ; var i = new g , j = d . create ( ) ; c . prototype . updateAABB = function ( ) { for ( var a = this . shapes , b = this . shapeOffsets , c = this . shapeAngles , e = a . length , f = 0 ; f !== e ; f ++ ) { var g = a [ f ] , h = j , k = c [ f ] + this . angle ; d . rotate ( h , b [ f ] , this . angle ) , d . add ( h , h , this . position ) , g . computeAABB ( i , h , k ) , 0 === f ? this . aabb . copy ( i ) : this . aabb . extend ( i ) } this . aabbNeedsUpdate = ! 1 } , c . prototype . updateBoundingRadius = function ( ) { for ( var a = this . shapes , b = this . shapeOffsets , c = a . length , e = 0 , f = 0 ; f !== c ; f ++ ) { var g = a [ f ] , h = d . length ( b [ f ] ) , i = g . boundingRadius ; h + i > e && ( e = h + i ) } this . boundingRadius = e } , c . prototype . addShape = function ( a , b , c ) { c = c || 0 , b = b ? d . fromValues ( b [ 0 ] , b [ 1 ] ) : d . fromValues ( 0 , 0 ) , this . shapes . push ( a ) , this . shapeOffsets . push ( b ) , this . shapeAngles . push ( c ) , this . updateMassProperties ( ) , this . updateBoundingRadius ( ) , this . aabbNeedsUpdate = ! 0 } , c . prototype . removeShape = function ( a ) { var b = this . shapes . indexOf ( a ) ; return - 1 !== b ? ( this . shapes . splice ( b , 1 ) , this . shapeOffsets . splice ( b , 1 ) , this . shapeAngles . splice ( b , 1 ) , this . aabbNeedsUpdate = ! 0 , ! 0 ) : ! 1 } , c . prototype . updateMassProperties = function ( ) { if ( this . motionState === c . STATIC || this . motionState === c . KINEMATIC ) this . mass = Number . MAX _VALUE , this . invMass = 0 , this . inertia = Number . MAX _VALUE , this . invInertia = 0 ; else { var a = this . shapes , b = a . length , e = this . mass / b , f = 0 ; if ( this . fixedRotation ) this . inertia = Number . MAX _VALUE , this . invInertia = 0 ; else { for ( var g = 0 ; b > g ; g ++ ) { var h = a [ g ] , i = d . squaredLength ( this . shapeOffsets [ g ] ) , j = h . computeMomentOfInertia ( e ) ; f += j + e * i } this . inertia
- 1 !== b && H . splice ( this . contactMaterials , b , 1 ) } , c . prototype . getContactMaterial = function ( a , b ) { for ( var c = this . contactMaterials , d = 0 , e = c . length ; d !== e ; d ++ ) { var f = c [ d ] ; if ( f . materialA === a && f . materialB === b || f . materialA === b && f . materialB === a ) return f } return ! 1 } , c . prototype . removeConstraint = function ( a ) { var b = this . constraints . indexOf ( a ) ; - 1 !== b && H . splice ( this . constraints , b , 1 ) } ; var L = ( j . create ( ) , j . create ( ) , j . create ( ) , j . create ( ) , j . create ( ) , j . create ( ) , j . create ( ) ) , M = j . fromValues ( 0 , 0 ) , N = j . fromValues ( 0 , 0 ) , O = ( j . fromValues ( 0 , 0 ) , j . fromValues ( 0 , 0 ) ) ; c . prototype . step = function ( a , b , c ) { if ( c = c || 10 , b = b || 0 , 0 === b ) this . internalStep ( a ) , this . time += a ; else { var d = Math . floor ( ( this . time + b ) / a ) - Math . floor ( this . time / a ) ; d = Math . min ( d , c ) ; for ( var e = 0 ; e !== d ; e ++ ) this . internalStep ( a ) ; this . time += b ; for ( var f = this . time % a , g = f / a , h = 0 ; h !== this . bodies . length ; h ++ ) { var i = this . bodies [ h ] ; i . motionState !== s . STATIC && i . sleepState !== s . SLEEPING ? ( j . sub ( O , i . position , i . previousPosition ) , j . scale ( O , O , g ) , j . add ( i . interpolatedPosition , i . position , O ) , i . interpolatedAngle = i . angle + ( i . angle - i . previousAngle ) * g ) : ( j . copy ( i . interpolatedPosition , i . position ) , i . interpolatedAngle = i . angle ) } } } ; var P = [ ] ; c . prototype . internalStep = function ( a ) { this . stepping = ! 0 ; var b , d , e = this , f = this . doProfiling , g = this . springs . length , h = this . springs , i = this . bodies , k = this . gravity , l = this . solver , m = this . bodies . length , n = this . broadphase , o = this . narrowphase , p = this . constraints , q = L , r = ( j . scale , j . add ) , t = ( j . rotate , this . islandManager ) ; if ( this . lastTimeStep = a , f && ( b = performance . now ( ) ) , this . useWorldGravityAsFrictionGravity ) { var u = j . length ( this . gravity ) ; 0 === u && this . useFrictionGravityOnZeroGravity || ( this . frictionGravity = u ) } if ( this . applyGravity ) for ( var v = 0 ; v !== m ; v ++ ) { var w = i [ v ] , x = w . force ; w . motionState === s . DYNAMIC && w . sleepState !== s . SLEEPING && ( j . scale ( q , k , w . mass * w . gravityScale ) , r ( x , x , q ) ) } if ( this . applySpringForces ) for ( var v = 0 ; v !== g ; v ++ ) { var y = h [ v ] ; y . applyForce ( ) } if ( this . applyDamping ) for ( var v = 0 ; v !== m ; v ++ ) { var w = i [ v ] ; w . motionState === s . DYNAMIC && w . applyDamping ( a ) } for ( var z = n . getCollisionPairs ( this ) , A = this . disabledBodyCollisionPairs , v = A . length - 2 ; v >= 0 ; v -= 2 ) for ( var B = z . length - 2 ; B >= 0 ; B -= 2 ) ( A [ v ] === z [ B ] && A [ v + 1 ] === z [ B + 1 ] || A [ v + 1 ] === z [ B ] && A [ v ] === z [ B + 1 ] ) && z . splice ( B , 2 ) ; var C = p . length ; for ( v = 0 ; v !== C ; v ++ ) { var D = p [ v ] ; if ( ! D . collideConnected ) for ( var B = z . length - 2 ; B >= 0 ; B -= 2 ) ( D . bodyA === z [ B ] && D . bodyB === z [ B + 1 ] || D . bodyB === z [ B ] && D . bodyA === z [ B + 1 ] ) && z . splice ( B , 2 ) } this . postBroadphaseEvent . pairs = z , this . emit ( this . postBroadphaseEvent ) , o . reset ( this ) ; for ( var v = 0 , E = z . length ; v !== E ; v += 2 ) for ( var F = z [ v ] , G = z [ v + 1 ] , I = 0 , J = F . shapes . length ; I !== J ; I ++ ) for ( var K = F . shapes [ I ] , M = F . shapeOffsets [ I ] , N = F . shapeAngles [ I ] , O = 0 , Q = G . shapes . length ; O !== Q ; O ++ ) { var R = G . shapes [ O ] , S = G . shapeOffsets [ O ] , T = G . shapeAngles [ O ] , U = this . defaultContactMaterial ; if ( K . material && R . material ) { var V = this . getContactMaterial ( K . material , R . material ) ; V && ( U = V ) } this . runNarrowphase ( o , F , K , M , N , G , R , S , T , U , this . frictionGravity ) } for ( var v = 0 ; v !== m ; v ++ ) { var W = i [ v ] ; W . _wakeUpAfterNarrowphase && ( W . wakeUp ( ) , W . _wakeUpAfterNarrowphase = ! 1 ) } if ( this . has ( "endContact" ) ) { this . overlapKeeper . getEndOverlaps ( P ) ; for ( var X = this . endContactEvent , O = P . length ; O -- ; ) { var Y = P [ O ] ; X . shapeA = Y . shapeA , X . shapeB = Y . shapeB , X . bodyA = Y . bodyA , X . bodyB = Y . bodyA , this . emit ( X ) } } this . overlapKeeper . tick ( ) ; var Z = this . preSolveEvent ; Z . contactEquations = o . contactEquations , Z . frictionEquations = o . frictionEquations , this . emit ( Z ) ; var C = p . length ; for ( v = 0 ; v !== C ; v ++ ) p [ v ] . update ( ) ; if ( o . contactEquations . length || o . frictionEquations . length || p . length ) if ( this . islandSplit ) { for ( t . equations . length = 0 , H . appendArray ( t . equations , o . contactEquations ) , H . appendArray ( t . equations , o . frictionEquations ) , v = 0 ; v !== C ; v ++ ) H . appendArray ( t . equations , p [ v ] . equations ) ; t . split ( this ) ; for ( var v = 0 ; v !== t . islands . length ; v ++ ) { var $ = t . islands [ v ] ; $ . equations . length && l . solveIsland ( a , $ ) } } else { for ( l . addEquations ( o . contactEquations ) , l . addEquations ( o . frictionEquations ) , v = 0 ; v !== C ; v ++ ) l . addEquations ( p [ v ] . equations ) ; this . solveConstraints && l . solve ( a , this ) , l . removeAllEquations ( ) } for ( var v = 0 ; v !== m ; v ++ ) { var W = i [ v ] ; W . sleepState !== s . SLEEPING && W . motionState !== s . STATIC && c . integrateBody ( W , a ) } for ( var v = 0 ; v !== m ; v ++ ) i [ v ] . setZeroForce ( ) ; if ( f && ( d = performance . now ( ) , e . lastStepTime = d - b ) , th
2014-04-29 21:00:16 +00:00
a . layers [ b ] . bodies . length = [ ] } , convertTilemap : function ( a , b , c , d ) { b = a . getLayer ( b ) , "undefined" == typeof c && ( c = ! 0 ) , "undefined" == typeof d && ( d = ! 0 ) , this . clearTilemapLayerBodies ( a , b ) ; for ( var e = 0 , f = 0 , g = 0 , h = 0 , i = a . layers [ b ] . height ; i > h ; h ++ ) { e = 0 ; for ( var j = 0 , k = a . layers [ b ] . width ; k > j ; j ++ ) { var l = a . layers [ b ] . data [ h ] [ j ] ; if ( l && l . collides ) if ( d ) { var m = a . getTileRight ( b , j , h ) ; if ( 0 === e && ( f = l . x * l . width , g = l . y * l . height , e = l . width ) , m && m . collides ) e += l . width ; else { var n = this . createBody ( f , g , 0 , ! 1 ) ; n . addRectangle ( e , l . height , e / 2 , l . height / 2 , 0 ) , c && this . addBody ( n ) , a . layers [ b ] . bodies . push ( n ) , e = 0 } } else { var n = this . createBody ( l . x * l . width , l . y * l . height , 0 , ! 1 ) ; n . addRectangle ( l . width , l . height , l . width / 2 , l . height / 2 , 0 ) , c && this . addBody ( n ) , a . layers [ b ] . bodies . push ( n ) } } } return a . layers [ b ] . bodies } , mpx : function ( a ) { return a *= 20 } , pxm : function ( a ) { return . 05 * a } , mpxi : function ( a ) { return a *= - 20 } , pxmi : function ( a ) { return a * - . 05 } } , Object . defineProperty ( Phaser . Physics . P2 . prototype , "friction" , { get : function ( ) { return this . world . defaultContactMaterial . friction } , set : function ( a ) { this . world . defaultContactMaterial . friction = a } } ) , Object . defineProperty ( Phaser . Physics . P2 . prototype , "defaultFriction" , { get : function ( ) { return this . world . defaultContactMaterial . friction } , set : function ( a ) { this . world . defaultContactMaterial . friction = a } } ) , Object . defineProperty ( Phaser . Physics . P2 . prototype , "restitution" , { get : function ( ) { return this . world . defaultContactMaterial . restitution } , set : function ( a ) { this . world . defaultContactMaterial . restitution = a } } ) , Object . defineProperty ( Phaser . Physics . P2 . prototype , "defaultRestitution" , { get : function ( ) { return this . world . defaultContactMaterial . restitution } , set : function ( a ) { this . world . defaultContactMaterial . restitution = a } } ) , Object . defineProperty ( Phaser . Physics . P2 . prototype , "contactMaterial" , { get : function ( ) { return this . world . defaultContactMaterial } , set : function ( a ) { this . world . defaultContactMaterial = a } } ) , Object . defineProperty ( Phaser . Physics . P2 . prototype , "applySpringForces" , { get : function ( ) { return this . world . applySpringForces } , set : function ( a ) { this . world . applySpringForces = a } } ) , Object . defineProperty ( Phaser . Physics . P2 . prototype , "applyDamping" , { get : function ( ) { return this . world . applyDamping } , set : function ( a ) { this . world . applyDamping = a } } ) , Object . defineProperty ( Phaser . Physics . P2 . prototype , "applyGravity" , { get : function ( ) { return this . world . applyGravity } , set : function ( a ) { this . world . applyGravity = a } } ) , Object . defineProperty ( Phaser . Physics . P2 . prototype , "solveConstraints" , { get : function ( ) { return this . world . solveConstraints } , set : function ( a ) { this . world . solveConstraints = a } } ) , Object . defineProperty ( Phaser . Physics . P2 . prototype , "time" , { get : function ( ) { return this . world . time } } ) , Object . defineProperty ( Phaser . Physics . P2 . prototype , "emitImpactEvent" , { get : function ( ) { return this . world . emitImpactEvent } , set : function ( a ) { this . world . emitImpactEvent = a } } ) , Object . defineProperty ( Phaser . Physics . P2 . prototype , "enableBodySleeping" , { get : function ( ) { return this . world . enableBodySleeping } , set : function ( a ) { this . world . enableBodySleeping = a } } ) , Object . defineProperty ( Phaser . Physics . P2 . prototype , "total" , { get : function ( ) { return this . world . bodies . length } } ) , Phaser . Physics . P2 . FixtureList = function ( a ) { Array . isArray ( a ) || ( a = [ a ] ) , this . rawList = a , this . init ( ) , this . parse ( this . rawList ) } , Phaser . Physics . P2 . FixtureList . prototype = { init : function ( ) { this . namedFixtures = { } , this . groupedFixtures = [ ] , this . allFixtures = [ ] } , setCategory : function ( a , b ) { var c = function ( b ) { b . collisionGroup = a } ; this . getFixtures ( b ) . forEach ( c ) } , setMask : function ( a , b ) { var c = function ( b ) { b . collisionMask = a } ; this . getFixtures ( b ) . forEach ( c ) } , setSensor : function ( a , b ) { var c = function ( b ) { b . sensor = a } ; this . getFixtures ( b ) . forEach ( c ) } , setMaterial : function ( a , b ) { var c = function ( b ) { b . material = a } ; this . getFixtures ( b ) . forEach ( c ) } , getFixtures : function ( a ) { var b = [ ] ; if ( a ) { a instanceof Array || ( a = [ a ] ) ; var c = this ; return a . forEach ( function ( a ) { c . namedFixtures [ a ] && b . push ( c . namedFixtures [ a ] ) } ) , this . flatten ( b ) } return this . allFixtures } , getFixtureByKey : function ( a ) { return this . namedFixtures [ a ] } , getGroup : function ( a ) { return this . groupedFixtures [ a ] } , parse : function ( ) { var a , b , c , d ; c = this . rawList , d = [ ] ; for ( a in c ) b = c [ a ] , isNaN ( a - 0 ) ? this . namedFixtures [ a ] = this . flatten ( b )
2014-02-28 09:30:53 +00:00
//# sourceMappingURL=phaser.map