2014-02-28 09:30:53 +00:00
/* Phaser v2.0.0 - http://phaser.io - @photonstorm - (c) 2014 Photon Storm Ltd. */
! function ( a ) { "object" == typeof exports ? module . exports = a ( ) : "function" == typeof define && define . amd ? define ( a ) : "undefined" != typeof window ? window . p2 = a ( ) : "undefined" != typeof global ? self . p2 = a ( ) : "undefined" != typeof self && ( self . p2 = a ( ) ) } ( function ( ) { return function a ( b , c , d ) { function e ( g , h ) { if ( ! c [ g ] ) { if ( ! b [ g ] ) { var i = "function" == typeof require && require ; if ( ! h && i ) return i ( g , ! 0 ) ; if ( f ) return f ( g , ! 0 ) ; throw new Error ( "Cannot find module '" + g + "'" ) } var j = c [ g ] = { exports : { } } ; b [ g ] [ 0 ] . call ( j . exports , function ( a ) { var c = b [ g ] [ 1 ] [ a ] ; return e ( c ? c : a ) } , j , j . exports , a , b , c , d ) } return c [ g ] . exports } for ( var f = "function" == typeof require && require , g = 0 ; g < d . length ; g ++ ) e ( d [ g ] ) ; return e } ( { 1 : [ function ( a , b , c ) { var d = { } , e = new Float32Array ( [ 1 , 0 , 0 , 1 ] ) ; if ( ! f ) var f = 1e-6 ; d . create = function ( ) { return new Float32Array ( e ) } , d . clone = function ( a ) { var b = new Float32Array ( 4 ) ; return b [ 0 ] = a [ 0 ] , b [ 1 ] = a [ 1 ] , b [ 2 ] = a [ 2 ] , b [ 3 ] = a [ 3 ] , b } , d . copy = function ( a , b ) { return a [ 0 ] = b [ 0 ] , a [ 1 ] = b [ 1 ] , a [ 2 ] = b [ 2 ] , a [ 3 ] = b [ 3 ] , a } , d . identity = function ( a ) { return a [ 0 ] = 1 , a [ 1 ] = 0 , a [ 2 ] = 0 , a [ 3 ] = 1 , a } , d . transpose = function ( a , b ) { if ( a === b ) { var c = b [ 1 ] ; a [ 1 ] = b [ 2 ] , a [ 2 ] = c } else a [ 0 ] = b [ 0 ] , a [ 1 ] = b [ 2 ] , a [ 2 ] = b [ 1 ] , a [ 3 ] = b [ 3 ] ; return a } , d . invert = function ( a , b ) { var c = b [ 0 ] , d = b [ 1 ] , e = b [ 2 ] , f = b [ 3 ] , g = c * f - e * d ; return g ? ( g = 1 / g , a [ 0 ] = f * g , a [ 1 ] = - d * g , a [ 2 ] = - e * g , a [ 3 ] = c * g , a ) : null } , d . adjoint = function ( a , b ) { var c = b [ 0 ] ; return a [ 0 ] = b [ 3 ] , a [ 1 ] = - b [ 1 ] , a [ 2 ] = - b [ 2 ] , a [ 3 ] = c , a } , d . determinant = function ( a ) { return a [ 0 ] * a [ 3 ] - a [ 2 ] * a [ 1 ] } , d . multiply = function ( a , b , c ) { var d = b [ 0 ] , e = b [ 1 ] , f = b [ 2 ] , g = b [ 3 ] , h = c [ 0 ] , i = c [ 1 ] , j = c [ 2 ] , k = c [ 3 ] ; return a [ 0 ] = d * h + e * j , a [ 1 ] = d * i + e * k , a [ 2 ] = f * h + g * j , a [ 3 ] = f * i + g * k , a } , d . mul = d . multiply , d . rotate = function ( a , b , c ) { var d = b [ 0 ] , e = b [ 1 ] , f = b [ 2 ] , g = b [ 3 ] , h = Math . sin ( c ) , i = Math . cos ( c ) ; return a [ 0 ] = d * i + e * h , a [ 1 ] = d * - h + e * i , a [ 2 ] = f * i + g * h , a [ 3 ] = f * - h + g * i , a } , d . scale = function ( a , b , c ) { var d = b [ 0 ] , e = b [ 1 ] , f = b [ 2 ] , g = b [ 3 ] , h = c [ 0 ] , i = c [ 1 ] ; return a [ 0 ] = d * h , a [ 1 ] = e * i , a [ 2 ] = f * h , a [ 3 ] = g * i , a } , d . str = function ( a ) { return "mat2(" + a [ 0 ] + ", " + a [ 1 ] + ", " + a [ 2 ] + ", " + a [ 3 ] + ")" } , "undefined" != typeof c && ( c . mat2 = d ) } , { } ] , 2 : [ function ( a , b , c ) { var d = { } ; if ( ! e ) var e = 1e-6 ; d . create = function ( ) { return new Float32Array ( 2 ) } , d . clone = function ( a ) { var b = new Float32Array ( 2 ) ; return b [ 0 ] = a [ 0 ] , b [ 1 ] = a [ 1 ] , b } , d . fromValues = function ( a , b ) { var c = new Float32Array ( 2 ) ; return c [ 0 ] = a , c [ 1 ] = b , c } , d . copy = function ( a , b ) { return a [ 0 ] = b [ 0 ] , a [ 1 ] = b [ 1 ] , a } , d . set = function ( a , b , c ) { return a [ 0 ] = b , a [ 1 ] = c , a } , d . add = function ( a , b , c ) { return a [ 0 ] = b [ 0 ] + c [ 0 ] , a [ 1 ] = b [ 1 ] + c [ 1 ] , a } , d . subtract = function ( a , b , c ) { return a [ 0 ] = b [ 0 ] - c [ 0 ] , a [ 1 ] = b [ 1 ] - c [ 1 ] , a } , d . sub = d . subtract , d . multiply = function ( a , b , c ) { return a [ 0 ] = b [ 0 ] * c [ 0 ] , a [ 1 ] = b [ 1 ] * c [ 1 ] , a } , d . mul = d . multiply , d . divide = function ( a , b , c ) { return a [ 0 ] = b [ 0 ] / c [ 0 ] , a [ 1 ] = b [ 1 ] / c [ 1 ] , a } , d . div = d . divide , d . min = function ( a , b , c ) { return a [ 0 ] = Math . min ( b [ 0 ] , c [ 0 ] ) , a [ 1 ] = Math . min ( b [ 1 ] , c [ 1 ] ) , a } , d . max = function ( a , b , c ) { return a [ 0 ] = Math . max ( b [ 0 ] , c [ 0 ] ) , a [ 1 ] = Math . max ( b [ 1 ] , c [ 1 ] ) , a } , d . scale = function ( a , b , c ) { return a [ 0 ] = b [ 0 ] * c , a [ 1 ] = b [ 1 ] * c , a } , d . distance = function ( a , b ) { var c = b [ 0 ] - a [ 0 ] , d = b [ 1 ] - a [ 1 ] ; return Math . sqrt ( c * c + d * d ) } , d . dist = d . distance , d . squaredDistance = function ( a , b ) { var c = b [ 0 ] - a [ 0 ] , d = b [ 1 ] - a [ 1 ] ; return c * c + d * d } , d . sqrDist = d . squaredDistance , d . length = function ( a ) { var b = a [ 0 ] , c = a [ 1 ] ; return Math . sqrt ( b * b + c * c ) } , d . len = d . length , d . squaredLength = function ( a ) { var b = a [ 0 ] , c = a [ 1 ] ; return b * b + c * c } , d . sqrLen = d . squaredLength , d . negate = function ( a , b ) { return a [ 0 ] = - b [ 0 ] , a [ 1 ] = - b [ 1 ] , a } , d . normalize = function ( a , b ) { var c = b [ 0 ] , d = b [ 1 ] , e = c * c + d * d ; return e > 0 && ( e = 1 / Math . sqrt ( e ) , a [ 0 ] = b [ 0 ] * e , a [ 1 ] = b [ 1 ] * e ) , a } , d . dot = function ( a , b ) { return a [ 0 ] * b [ 0 ] + a [ 1 ] * b [ 1 ] } , d . cross = function ( a , b , c ) { var d = b [ 0 ] * c [ 1 ] - b [ 1 ] * c [ 0 ] ; return a [ 0 ] = a [ 1 ] = 0 , a [ 2 ] = d , a } , d . lerp = function ( a , b , c , d ) { var e = b [ 0 ] , f = b [ 1 ] ; return a [ 0 ] = e + d * ( c [ 0 ] - e ) , a [ 1 ] = f + d * ( c [ 1 ] - f ) , a } , d . transformMat2 = function ( a , b , c ) { var d = b [ 0 ] , e = b [ 1 ] ; return a [ 0 ] = d * c [ 0 ] + e * c [ 1 ] , a [ 1 ] = d * c [ 2 ] + e * c [ 3 ] , a } , d . forEach = function ( ) { var a = new Float32Array ( 2 ) ; return function ( b , c , d , e , f , g ) { var h , i ; for ( c || ( c = 2 ) , d || ( d = 0 ) , i = e ? Math . min ( e * c + d , b . length ) : b . length , h = d ; i > h ; h += c ) a [ 0 ] = b [ h ] , a [ 1 ] = b [ h + 1 ] , f ( a , a , g ) , b [ h ] = a [ 0 ] , b [ h + 1 ] = a [ 1 ] ; return b } } ( ) , d . str = function ( a ) { return "vec2(" + a [ 0 ] + ", " + a [ 1 ] + ")" } , "undefined" != typeof c && ( c . vec2 = d ) } , { } ] , 3 : [ function ( a , b ) { function c ( ) { } var d = a ( "./Scalar" ) ; b . exports = c , c . lineInt = function ( a , b , c ) { c = c || 0 ; var e , f , g , h , i , j , k , l = [ 0 , 0 ] ; return
if ( c [ 1 ] - m > y ) return l ? ! 1 : 0 ; c [ 1 ] + m < z ; for ( var B = ! 1 , C = ! 1 , A = w ; x > A ; A ++ ) { g . set ( u , A * o , n [ A ] ) , g . set ( v , ( A + 1 ) * o , n [ A + 1 ] ) , g . add ( u , u , j ) , g . add ( v , v , j ) , g . sub ( t , v , u ) , g . rotate ( t , t , Math . PI / 2 ) , g . normalize ( t , t ) , g . scale ( q , t , - m ) , g . add ( q , q , c ) , g . sub ( p , q , u ) ; var D = g . dot ( p , t ) ; if ( q [ 0 ] >= u [ 0 ] && q [ 0 ] < v [ 0 ] && 0 >= D && ( C === ! 1 || Math . abs ( D ) < C ) && ( g . scale ( p , t , - D ) , g . add ( r , q , p ) , g . copy ( s , t ) , B = ! 0 , C = Math . abs ( D ) , l ) ) return ! 0 } if ( B ) { var E = this . createContactEquation ( e , a , f , b ) ; return g . copy ( E . ni , s ) , g . scale ( E . rj , E . ni , - m ) , i ( E . rj , E . rj , c ) , h ( E . rj , E . rj , a . position ) , g . copy ( E . ri , r ) , g . sub ( E . ri , E . ri , e . position ) , this . contactEquations . push ( E ) , this . enableFriction && this . frictionEquations . push ( this . createFrictionFromContact ( E ) ) , 1 } if ( m > 0 ) for ( var A = w ; x >= A ; A ++ ) if ( g . set ( u , A * o , n [ A ] ) , g . add ( u , u , j ) , g . sub ( p , c , u ) , g . squaredLength ( p ) < m * m ) { if ( l ) return ! 0 ; var E = this . createContactEquation ( e , a , f , b ) ; return g . copy ( E . ni , p ) , g . normalize ( E . ni , E . ni ) , g . scale ( E . rj , E . ni , - m ) , i ( E . rj , E . rj , c ) , h ( E . rj , E . rj , a . position ) , h ( E . ri , u , j ) , i ( E . ri , E . ri , j ) , h ( E . ri , E . ri , e . position ) , this . contactEquations . push ( E ) , this . enableFriction && this . frictionEquations . push ( this . createFrictionFromContact ( E ) ) , 1 } return 0 } } , { "../equations/ContactEquation" : 23 , "../equations/FrictionEquation" : 25 , "../math/vec2" : 33 , "../objects/Body" : 34 , "../shapes/Circle" : 38 , "../shapes/Rectangle" : 44 , "../shapes/Shape" : 45 , "../utils/Utils" : 50 } ] , 14 : [ function ( a , b ) { function c ( a , b , c , f ) { var g ; g = b ? new d ( a , 0 , c , f ) : new e ( a , 0 , c , f ) , this . root = g } function d ( a , b , c , d ) { this . bounds = a , this . children = [ ] , this . nodes = [ ] , d && ( this . maxChildren = d ) , c && ( this . maxDepth = c ) , b && ( this . depth = b ) } function e ( a , b , c , e ) { d . call ( this , a , b , c , e ) , this . stuckChildren = [ ] } var f = a ( "../shapes/Plane" ) , g = a ( "../collision/Broadphase" ) ; b . exports = { QuadTree : c , Node : d , BoundsNode : e } , c . prototype . insert = function ( a ) { if ( a instanceof Array ) for ( var b = a . length , c = 0 ; b > c ; c ++ ) this . root . insert ( a [ c ] ) ; else this . root . insert ( a ) } , c . prototype . clear = function ( ) { this . root . clear ( ) } , c . prototype . retrieve = function ( a ) { var b = this . root . retrieve ( a ) . slice ( 0 ) ; return b } , c . prototype . getCollisionPairs = function ( a ) { var b = [ ] ; this . insert ( a . bodies ) ; for ( var c = 0 ; c !== a . bodies . length ; c ++ ) for ( var d = a . bodies [ c ] , e = this . retrieve ( d ) , f = 0 , h = e . length ; f !== h ; f ++ ) { var i = e [ f ] ; if ( d !== i ) { for ( var j = ! 1 , k = 0 , l = b . length ; l > k ; k += 2 ) { var m = b [ k ] , n = b [ k + 1 ] ; if ( m == i && n == d || n == i && m == d ) { j = ! 0 ; break } } ! j && g . boundingRadiusCheck ( d , i ) && b . push ( d , i ) } } return this . clear ( ) , b } , d . prototype . classConstructor = d , d . prototype . children = null , d . prototype . depth = 0 , d . prototype . maxChildren = 4 , d . prototype . maxDepth = 4 , d . TOP _LEFT = 0 , d . TOP _RIGHT = 1 , d . BOTTOM _LEFT = 2 , d . BOTTOM _RIGHT = 3 , d . prototype . insert = function ( a ) { if ( this . nodes . length ) { var b = this . findIndex ( a ) ; return void this . nodes [ b ] . insert ( a ) } this . children . push ( a ) ; var c = this . children . length ; if ( ! ( this . depth >= this . maxDepth ) && c > this . maxChildren ) { this . subdivide ( ) ; for ( var d = 0 ; c > d ; d ++ ) this . insert ( this . children [ d ] ) ; this . children . length = 0 } } , d . prototype . retrieve = function ( a ) { if ( this . nodes . length ) { var b = this . findIndex ( a ) ; return this . nodes [ b ] . retrieve ( a ) } return this . children } , d . prototype . findIndex = function ( a ) { var b = this . bounds , c = a . position [ 0 ] - a . boundingRadius > b . x + b . width / 2 ? ! 1 : ! 0 , e = a . position [ 1 ] - a . boundingRadius > b . y + b . height / 2 ? ! 1 : ! 0 ; a instanceof f && ( c = e = ! 1 ) ; var g = d . TOP _LEFT ; return c ? e || ( g = d . BOTTOM _LEFT ) : g = e ? d . TOP _RIGHT : d . BOTTOM _RIGHT , g } , d . prototype . subdivide = function ( ) { var a = this . depth + 1 , b = this . bounds . x , c = this . bounds . y , e = this . bounds . width / 2 , f = this . bounds . height / 2 , g = b + e , h = c + f ; this . nodes [ d . TOP _LEFT ] = new this . classConstructor ( { x : b , y : c , width : e , height : f } , a ) , this . nodes [ d . TOP _RIGHT ] = new this . classConstructor ( { x : g , y : c , width : e , height : f } , a ) , this . nodes [ d . BOTTOM _LEFT ] = new this . classConstructor ( { x : b , y : h , width : e , height : f } , a ) , this . nodes [ d . BOTTOM _RIGHT ] = new this . classConstructor ( { x : g , y : h , width : e , height : f } , a ) } , d . prototype . clear = function ( ) { this . children . length = 0 ; for ( var a = this . nodes . length , b = 0 ; a > b ; b ++ ) this . nodes [ b ] . clear ( ) ; this . nodes . length = 0 } , e . prototype = new d , e . prototype . classConstructor = e , e . prototype . stuckChildren = null , e . prototype . out = [ ] , e . prototype . insert = function ( a ) { if ( this . nodes . length ) { var b = this . findIndex ( a ) , c = this . nodes [ b ] ; return void ( ! ( a instanceof f ) && a . position [ 0 ] - a . boundingRadius >= c . bounds . x && a . position [ 0 ] + a . boundingR
} ; var e = d . create ( ) , f = d . create ( ) , g = d . create ( ) , h = d . create ( ) , i = d . create ( ) , j = d . create ( ) , k = d . create ( ) , l = d . create ( ) , m = d . create ( ) ; c . prototype . applyForce = function ( ) { var a = this . stiffness , b = this . damping , c = this . restLength , n = this . bodyA , o = this . bodyB , p = e , q = f , r = g , s = h , t = m , u = i , v = j , w = k , x = l ; this . getWorldAnchorA ( u ) , this . getWorldAnchorB ( v ) , d . sub ( w , u , n . position ) , d . sub ( x , v , o . position ) , d . sub ( p , v , u ) ; var y = d . len ( p ) ; d . normalize ( q , p ) , d . sub ( r , o . velocity , n . velocity ) , d . crossZV ( t , o . angularVelocity , x ) , d . add ( r , r , t ) , d . crossZV ( t , n . angularVelocity , w ) , d . sub ( r , r , t ) , d . scale ( s , q , - a * ( y - c ) - b * d . dot ( r , q ) ) , d . sub ( n . force , n . force , s ) , d . add ( o . force , o . force , s ) ; var z = d . crossLength ( w , s ) , A = d . crossLength ( x , s ) ; n . angularForce -= z , o . angularForce += A } } , { "../math/vec2" : 33 } ] , 36 : [ function ( a , b ) { b . exports = { AABB : a ( "./collision/AABB" ) , AngleLockEquation : a ( "./equations/AngleLockEquation" ) , Body : a ( "./objects/Body" ) , Broadphase : a ( "./collision/Broadphase" ) , Capsule : a ( "./shapes/Capsule" ) , Circle : a ( "./shapes/Circle" ) , Constraint : a ( "./constraints/Constraint" ) , ContactEquation : a ( "./equations/ContactEquation" ) , ContactMaterial : a ( "./material/ContactMaterial" ) , Convex : a ( "./shapes/Convex" ) , DistanceConstraint : a ( "./constraints/DistanceConstraint" ) , Equation : a ( "./equations/Equation" ) , EventEmitter : a ( "./events/EventEmitter" ) , FrictionEquation : a ( "./equations/FrictionEquation" ) , GearConstraint : a ( "./constraints/GearConstraint" ) , GridBroadphase : a ( "./collision/GridBroadphase" ) , GSSolver : a ( "./solver/GSSolver" ) , Heightfield : a ( "./shapes/Heightfield" ) , Island : a ( "./solver/IslandSolver" ) , IslandSolver : a ( "./solver/IslandSolver" ) , Line : a ( "./shapes/Line" ) , LockConstraint : a ( "./constraints/LockConstraint" ) , Material : a ( "./material/Material" ) , Narrowphase : a ( "./collision/Narrowphase" ) , NaiveBroadphase : a ( "./collision/NaiveBroadphase" ) , Particle : a ( "./shapes/Particle" ) , Plane : a ( "./shapes/Plane" ) , RevoluteConstraint : a ( "./constraints/RevoluteConstraint" ) , PrismaticConstraint : a ( "./constraints/PrismaticConstraint" ) , Rectangle : a ( "./shapes/Rectangle" ) , RotationalVelocityEquation : a ( "./equations/RotationalVelocityEquation" ) , SAPBroadphase : a ( "./collision/SAPBroadphase" ) , Shape : a ( "./shapes/Shape" ) , Solver : a ( "./solver/Solver" ) , Spring : a ( "./objects/Spring" ) , Utils : a ( "./utils/Utils" ) , World : a ( "./world/World" ) , QuadTree : a ( "./collision/QuadTree" ) . QuadTree , vec2 : a ( "./math/vec2" ) , version : a ( "../package.json" ) . version } } , { "../package.json" : 8 , "./collision/AABB" : 9 , "./collision/Broadphase" : 10 , "./collision/GridBroadphase" : 11 , "./collision/NaiveBroadphase" : 12 , "./collision/Narrowphase" : 13 , "./collision/QuadTree" : 14 , "./collision/SAPBroadphase" : 15 , "./constraints/Constraint" : 16 , "./constraints/DistanceConstraint" : 17 , "./constraints/GearConstraint" : 18 , "./constraints/LockConstraint" : 19 , "./constraints/PrismaticConstraint" : 20 , "./constraints/RevoluteConstraint" : 21 , "./equations/AngleLockEquation" : 22 , "./equations/ContactEquation" : 23 , "./equations/Equation" : 24 , "./equations/FrictionEquation" : 25 , "./equations/RotationalVelocityEquation" : 27 , "./events/EventEmitter" : 28 , "./material/ContactMaterial" : 29 , "./material/Material" : 30 , "./math/vec2" : 33 , "./objects/Body" : 34 , "./objects/Spring" : 35 , "./shapes/Capsule" : 37 , "./shapes/Circle" : 38 , "./shapes/Convex" : 39 , "./shapes/Heightfield" : 40 , "./shapes/Line" : 41 , "./shapes/Particle" : 42 , "./shapes/Plane" : 43 , "./shapes/Rectangle" : 44 , "./shapes/Shape" : 45 , "./solver/GSSolver" : 46 , "./solver/IslandSolver" : 48 , "./solver/Solver" : 49 , "./utils/Utils" : 50 , "./world/World" : 51 } ] , 37 : [ function ( a , b ) { function c ( a , b ) { this . length = a || 1 , this . radius = b || 1 , d . call ( this , d . CAPSULE ) } var d = a ( "./Shape" ) , e = a ( "../math/vec2" ) ; b . exports = c , c . prototype = new d , c . prototype . computeMomentOfInertia = function ( a ) { var b = this . radius , c = this . length + b , d = 2 * b ; return a * ( d * d + c * c ) / 12 } , c . prototype . updateBoundingRadius = function ( ) { this . boundingRadius = this . radius + this . length / 2 } , c . prototype . updateArea = function ( ) { this . area = Math . PI * this . radius * this . radius + 2 * this . radius * this . length } ; var f = e . create ( ) ; c . prototype . computeAABB = function ( a , b , c ) { var d = this . radius ; e . set ( f , this . length , 0 ) , e . rotate ( f , f , c ) , e . set ( a . upperBound , Math . max ( f [ 0 ] + d , - f [ 0 ] + d ) , Math . max ( f [ 1 ] + d , - f [ 1 ] + d ) ) , e . set ( a . lowerBound , Math . min ( f [ 0 ] - d , - f [ 0 ] - d ) , Math . min ( f [ 1 ] - d , - f [ 1 ] - d ) ) , e . add ( a . lowerBound ,
2014-02-28 18:55:07 +00:00
} ) , function ( ) { var a = this , b = b || { } ; b . WEBGL _RENDERER = 0 , b . CANVAS _RENDERER = 1 , b . VERSION = "v1.5.0" , 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 = new b . Rectangle ( 0 , 0 , 1 , 1 ) , 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 . interactiv
} , 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 , "aVertexPosition" ) , this . aTextureCoord = a . getAttribLocation ( c , "aTextureCoord" ) , this . translationMatrix = a . getUniformLocation ( c , "translationMatrix" ) , this . alpha = a . getUniformLocation ( c , "alpha" ) , this . program = c } , b . PrimitiveShader = function ( a ) { this . gl = a , this . program = null , this . fragmentSrc = [ "precision mediump float;" , "varying vec4 vColor;" , "void main(void) {" , " gl_FragColor = vColor;" , "}" ] , this . vertexSrc = [ "attribute vec2 aVertexPosition;" , "attribute vec4 aColor;" , "uniform mat3 translationMatrix;" , "uniform vec2 projectionVector;" , "uniform vec2 offsetVector;" , "uniform float alpha;" , "uniform vec3 tint;" , "varying vec4 vColor;" , "void main(void) {" , " vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);" , " v -= offsetVector.xyx;" , " gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);" , " vColor = aColor * vec4(tint * alpha, alpha);" , "}" ] , this . init ( ) } , b . PrimitiveShader . prototype . init = function ( ) { var a = this . gl , c = b . compileProgram ( a , this . vertexSrc , this . fragmentSrc ) ; a . useProgram ( c ) , this . projectionVector = a . getUniformLocation ( c , "projectionVector" ) , this . offsetVector = a . getUniformLocation ( c , "offsetVector" ) , this . tintColor = a . getUniformLocation ( c , "tint" ) , this . aVertexPosition = a . getAttribLocation ( c , "aVertexPosition" ) , this . colorAttribute = a . getAttribLocation ( c , "aColor" ) , this . attributes = [ this . aVertexPosition , this . colorAttribute ] , this . translationMatrix = a . getUniformLocation ( c , "translationMatrix" ) , this . alpha = a . getUniformLocation ( c , "alpha" ) , this . program = c } , b . PrimitiveShader . prototype . destroy = function ( ) { this . gl . deleteProgram ( this . program ) , this . uniforms = null , this . gl = null , this . attribute = null } , b . WebGLGraphics = function ( ) { } , b . WebGLGraphics . renderGraphics = function ( a , c ) { var d = c . gl , e = c . projection , f = c . offset , g = c . shaderManager . primitiveShader ; a . _w
} , 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 , b , c ) { this . gl = a , this . frameBuffer = a . createFramebuffer ( ) , this . texture = a . createTexture ( ) , a . bindTexture ( a . TEXTURE _2D , this . texture ) , a . texParameteri ( a . TEXTURE _2D , a . TEXTURE _MAG _FILTER , a . LINEAR ) , a . texParameteri ( a . TEXTURE _2D , a . TEXTURE _MIN _FILTER , a . LINEAR ) , a . texParameteri ( a . TEXTURE _2D , a . TEXTURE _WRAP _S , a . CLAMP _TO _EDGE ) , a . texParameteri ( a . TEXTURE _2D , a . TEXTURE _WRAP _T , a . CLAMP _TO _EDGE ) , a . bindFramebuffer ( a . FRAMEBUFFER , this . framebuffer ) , a . bindFramebuffer ( a . FRAMEBUFFER , this . frameBuffer ) , a . framebufferTexture2D ( a . FRAMEBUFFER , a . COLOR _ATTACHMENT0 , a . TEXTURE _2D , this . texture , 0 ) , this . resize ( b , c ) } , b . FilterTexture . prototype . clear = function ( ) { var a = this . gl ; a . clearColor ( 0 , 0 , 0 , 0 ) , a . clear ( a . COLOR _BUFFER _BIT ) } , b . FilterTexture . prototype . resize = function ( a , b ) { if ( this . width !== a || this . height !== b ) { this . width = a , this . height = b ; var c = this . gl ; c . bindTexture ( c . TEXTURE _2D , this . texture ) , c . texImage2D ( c . TEXTURE _2D , 0 , c . RGBA , a , b , 0 , c . RGBA , c . UNSIGNED _BYTE , null ) } } , b . FilterTexture . prototype . destroy = function ( ) { var a = this . gl ; a . deleteFramebuffer ( this . frameBuffer ) , a . deleteTexture ( this . texture ) , this . frameBuffer = null , this . texture = null } , b . CanvasMaskManager = function ( ) { } , b . CanvasMaskManager . prototype . pushMask = function ( a , c ) { c . save ( ) ; var d = a . alpha , e = a . worldTransform ; c . setTransform ( e . a , e . c , e . b , e . d , e . tx , e . ty ) , b . CanvasGraphics . renderGraphicsMask ( a , c ) , c . clip ( ) , a . worldAlpha = d } , b . CanvasMaskManager . prototype . popMask = function ( a ) { a . restore ( ) } , b . CanvasTinter = function ( ) { } , b . CanvasTinter . getTintedTexture = function ( a , c ) { var d = a . texture ; c = b . CanvasTinter . roundColor ( c ) ; var e = "#" + ( "00000" + ( 0 | c ) . toString ( 16 ) ) . substr ( - 6 ) ; if ( d . tintCache = d . tintCache || { } , d . tintCache [ e ] ) return d . tintCache [ e ] ; var f = b . CanvasTinter . canvas || document . createElement ( "canvas" ) ; if ( b . CanvasTinter . tintMethod ( d , c , f ) , b . CanvasTinter . convertTintToImage ) { var g = new Image ; g . src = f . toDataURL ( ) , d . tintCache [ e ] = g } else d . tintCache [ e ] = f , b . CanvasTinter . canvas = null ; return f } , b . CanvasTinter . tintWithMultiply = function ( a , b , c ) { v
a = Array ( g + 1 ) . join ( c ) + a + Array ( f + 1 ) . join ( c ) ; break ; default : a += 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 && ! hasOwn . 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 ) } ) , b . Circle = function ( a , b , c ) { a = a || 0 , b = b || 0 , c = c || 0 , this . x = a , this . y = b , this . _diameter = c , this . _radius = c > 0 ? . 5 * c : 0 } , b . Circle . prototype = { circumference : function ( ) { return 2 * Math . PI * this . _radius } , setTo : function ( a , b , c ) { return this . x = a , this . y = b , this . _diameter = c , this . _radius = . 5 * c , this } , copyFrom : function ( a ) { return this . setTo ( a . x , a . y , a . diameter ) } , copyTo : function ( a ) { return a . x = this . x , a . y = this . y , a . diameter = this . _diameter , a } , distance : function ( a , c ) { return "undefined" == typeof c && ( c = ! 1 ) , c ? b . Math . distanceRound ( this . x , this . y , a . x , a . y ) : b . Math . distance ( this . x , this . y , a . x , a . y ) } , clone : function ( a ) { return "undefined" == typeof a ? a = new b . Circle ( this . x , this . y , this . diameter ) : a . setTo ( this . x , this . y , this . diameter ) , a } , contains : function ( a , c ) { return b . Circle . contains ( this , a , c ) } , circumferencePoint : function ( a , c , d ) { return b . Circle . circumferencePoint ( this , a , c , d ) } , offset : function ( a , b ) { return this . x += a , this . y += b , this } , offsetPoint : function ( a ) { return this . offset ( a . x , a . y ) } , toString : function ( ) { return "[{Phaser.Circle (x=" + this . x + " y=" + this . y + " diameter=" + this . diameter + " radius=" + this . radius + ")}]" } } , b . Circle . prototype . constructor = b . Circle , Object . defineProperty ( b . Circle . prototype , "diameter" , { get : function ( ) { return this . _diameter } , set : function ( a ) { a > 0 && ( this . _diameter = a , this . _radius = . 5 * a ) } } ) , Object . defineProperty ( b . Circle . prototype , "radius" , { get : function ( ) { return this . _radius } , set : function ( a ) { a > 0 && ( this . _radius = a , this . _diameter = 2 * a ) } } ) , Object . defineProperty ( b . Circle . prototype , "left" , { get : function ( ) { return this . x - this . _radius } , set : function ( a ) { a > this . x ? ( this . _radius = 0 , this . _diameter = 0 ) : this . radius = this . x - a } } ) , Object . defineProperty ( b . Circle . prototype , "right" , { get : function ( ) { return this . x + this . _radius } , set : function ( a ) { a < this . x ? ( this . _radius = 0 , this . _diameter = 0 ) : this . radius = a - this . x } } ) , Object . defineProperty ( b . Circle . prototype , "top" , { get : function ( ) { return this . y - this . _radius } , set : function ( a ) { a > this . y ? ( this . _radius = 0 , this . _diameter = 0 ) : this . radius = this . y - a } } ) , Object . defineProperty ( b . Circle . prototype , "bottom" , { get : function ( ) { return this . y + this . _radius } , set : function ( a ) { a < this . y ? ( this . _radius = 0 , this . _diameter = 0 ) : this . radius = a - this . y } } ) , Object . defineProperty ( b . Circle . prototype , "area" , { get : function ( ) { return this . _radius > 0 ? Math . PI * this . _radius * this . _radius : 0 } } ) , Object . defineProperty ( b . Circle . prototype , "empty" , { get : function ( ) { return 0 === this . _diameter } , set : function ( a ) { a === ! 0 && this . setTo ( 0 , 0 , 0 ) } } ) , b . Circle . contains = function ( a , b , c ) { if ( a . radius > 0 && b >= a . left && b <= a . right && c >= a . top && c <= a . bottom ) { var d = ( a . x - b ) * ( a . x - b ) , e = ( a . y - c ) * ( a . y - c ) ; return d + e <= a . radius * a . radius } return ! 1 } , b . Circle . equals = function ( a , b ) { return a . x == b . x && a . y == b . y && a . diameter == b . diameter } , b . Circle . intersects = function ( a , c ) { return b . Math . distance ( a . x , a . y , c . x , c . y ) <= a . radius + c . radius } , b . Circle . circumferencePoint = function ( a , c , d , e ) { return "undefined" == typeof d && ( d = ! 1 ) , "undefined" == typeof e && ( e = new b . Point ) , d === ! 0 && ( c = b . Math . radToDeg ( c ) ) , e . x = a . x + a . radius * Math . cos ( c ) , e
} , render : function ( ) { if ( 0 !== this . _pluginsLength ) for ( this . _p = 0 ; this . _p < this . _pluginsLength ; this . _p ++ ) this . plugins [ this . _p ] . visible && this . plugins [ this . _p ] . hasRender && this . plugins [ this . _p ] . render ( ) } , postRender : function ( ) { if ( 0 !== this . _pluginsLength ) for ( this . _p = 0 ; this . _p < this . _pluginsLength ; this . _p ++ ) this . plugins [ this . _p ] . visible && this . plugins [ this . _p ] . hasPostRender && this . plugins [ this . _p ] . postRender ( ) } , destroy : function ( ) { this . plugins . length = 0 , this . _pluginsLength = 0 , this . game = null , this . _parent = null } } , b . PluginManager . prototype . constructor = b . PluginManager , b . Stage = function ( a , c , d ) { this . game = a , this . offset = new b . Point , PIXI . Stage . call ( this , 0 , ! 1 ) , this . name = "_stage_root" , this . interactive = ! 1 , this . disableVisibilityChange = ! 1 , this . checkOffsetInterval = 2500 , this . exists = ! 0 , this . _hiddenVar = "hidden" , this . _nextOffsetCheck = 0 , this . _backgroundColor , a . config ? this . parseConfig ( a . config ) : ( this . game . canvas = b . Canvas . create ( c , d ) , this . game . canvas . style [ "-webkit-full-screen" ] = "width: 100%; height: 100%" ) } , b . Stage . prototype = Object . create ( PIXI . Stage . prototype ) , b . Stage . prototype . constructor = b . Stage , b . Stage . prototype . preUpdate = function ( ) { this . currentRenderOrderID = 0 ; for ( var a = this . children . length ; a -- ; ) this . children [ a ] . preUpdate ( ) } , b . Stage . prototype . update = function ( ) { for ( var a = this . children . length ; a -- ; ) this . children [ a ] . update ( ) } , b . Stage . prototype . postUpdate = function ( ) { if ( this . game . world . camera . target ) { this . game . world . camera . target . postUpdate ( ) , this . game . world . camera . update ( ) ; for ( var a = this . children . length ; a -- ; ) this . children [ a ] !== this . game . world . camera . target && this . children [ a ] . postUpdate ( ) } else { this . game . world . camera . update ( ) ; for ( var a = this . children . length ; a -- ; ) this . children [ a ] . postUpdate ( ) } this . checkOffsetInterval !== ! 1 && this . game . time . now > this . _nextOffsetCheck && ( b . Canvas . getOffset ( this . game . canvas , this . offset ) , this . _nextOffsetCheck = this . game . time . now + this . checkOffsetInterval ) } , b . Stage . prototype . parseConfig = function ( a ) { this . game . canvas = a . canvasID ? b . Canvas . create ( this . game . width , this . game . height , a . canvasID ) : b . Canvas . create ( this . game . width , this . game . height ) , a . canvasStyle ? this . game . canvas . stlye = a . canvasStyle : this . game . canvas . style [ "-webkit-full-screen" ] = "width: 100%; height: 100%" , a . checkOffsetInterval && ( this . checkOffsetInterval = a . checkOffsetInterval ) , a . disableVisibilityChange && ( this . disableVisibilityChange = a . disableVisibilityChange ) , a . fullScreenScaleMode && ( this . fullScreenScaleMode = a . fullScreenScaleMode ) , a . scaleMode && ( this . scaleMode = a . scaleMode ) , a . backgroundColor && ( this . backgroundColor = a . backgroundColor ) } , b . Stage . prototype . boot = function ( ) { b . Canvas . getOffset ( this . game . canvas , this . offset ) , this . bounds = new b . Rectangle ( this . offset . x , this . offset . y , this . game . width , this . game . height ) ; var a = this ; this . _onChange = function ( b ) { return a . visibilityChange ( b ) } , b . Canvas . setUserSelect ( this . game . canvas , "none" ) , b . Canvas . setTouchAction ( this . game . canvas , "none" ) , this . checkVisibility ( ) } , b . Stage . prototype . checkVisibility = function ( ) { this . _hiddenVar = void 0 != document . webkitHidden ? "webkitvisibilitychange" : void 0 != document . mozHidden ? "mozvisibilitychange" : void 0 != document . msHidden ? "msvisibilitychange" : void 0 != document . hidden ? "visibilitychange" : null , this . _hiddenVar && document . addEventListener ( this . _hiddenVar , this . _onChange , ! 1 ) , window . onpagehide && ( window . onpagehide = this . _onChange , window . onpageshow = this . _onChange ) , window . onblur = this . _onChange , window . onfocus = this . _onChange } , b . Stage . prototype . visibilityChange = function ( a ) { return this . disableVisibilityChange ? void 0 : "pagehide" === a . type || "blur" === a . type || "pageshow" === a . type || "focus" === a . type ? void ( "pagehide" === a . type || "blur" === a . type ? this . game . gamePaused ( a . timeStamp ) : ( "pageshow" === a . type || "focus" === a . type ) && this . game . gameResumed ( a . timeStamp ) ) : void ( document . hidden || document . mozHidden || document . msHidden || document . webkitHidden ? this . game . gamePaused ( a . timeStamp ) : this . game . gameResumed ( a . timeStamp ) ) } , b . Stage . prototype . setBackgroundColor = function ( a ) { this . _backgroundColor = a || 0 , this . backgroundColorSplit = PIXI . hex2rgb ( this . backgroundColor ) ; var b = this . _backgroundColor . toString ( 16 ) ; b = "000000" . substr ( 0 , 6 - b . length ) + b , this . backgroundColorString = "#" + b } , Object . defineProperty ( b . Sta
2014-02-28 09:30:53 +00:00
} , destroy : function ( ) { this . mouse . stop ( ) , this . keyboard . stop ( ) , this . touch . stop ( ) , this . mspointer . stop ( ) , this . gamepad . stop ( ) , this . moveCallback = null } , setMoveCallback : function ( a , b ) { this . moveCallback = a , this . moveCallbackContext = b } , addPointer : function ( ) { for ( var a = 0 , c = 10 ; c > 0 ; c -- ) null === this [ "pointer" + c ] && ( a = c ) ; return 0 === a ? ( console . warn ( "You can only have 10 Pointer objects" ) , null ) : ( this [ "pointer" + a ] = new b . Pointer ( this . game , a ) , this [ "pointer" + a ] ) } , update : function ( ) { return this . keyboard . update ( ) , this . pollRate > 0 && this . _pollCounter < this . pollRate ? void this . _pollCounter ++ : ( this . speed . x = this . position . x - this . _oldPosition . x , this . speed . y = this . position . y - this . _oldPosition . y , this . _oldPosition . copyFrom ( this . position ) , this . mousePointer . update ( ) , this . gamepad . active && this . gamepad . update ( ) , this . pointer1 . update ( ) , this . pointer2 . update ( ) , this . pointer3 && this . pointer3 . update ( ) , this . pointer4 && this . pointer4 . update ( ) , this . pointer5 && this . pointer5 . update ( ) , this . pointer6 && this . pointer6 . update ( ) , this . pointer7 && this . pointer7 . update ( ) , this . pointer8 && this . pointer8 . update ( ) , this . pointer9 && this . pointer9 . update ( ) , this . pointer10 && this . pointer10 . update ( ) , void ( this . _pollCounter = 0 ) ) } , reset : function ( a ) { if ( this . game . isBooted !== ! 1 ) { "undefined" == typeof a && ( a = ! 1 ) , this . keyboard . reset ( ) , this . mousePointer . reset ( ) , this . gamepad . reset ( ) ; for ( var c = 1 ; 10 >= c ; c ++ ) this [ "pointer" + c ] && this [ "pointer" + c ] . reset ( ) ; this . currentPointers = 0 , "none" !== this . game . canvas . style . cursor && ( this . game . canvas . style . cursor = "inherit" ) , a === ! 0 && ( this . onDown . dispose ( ) , this . onUp . dispose ( ) , this . onTap . dispose ( ) , this . onHold . dispose ( ) , this . onDown = new b . Signal , this . onUp = new b . Signal , this . onTap = new b . Signal , this . onHold = new b . Signal , this . interactiveItems . callAll ( "reset" ) ) , this . _pollCounter = 0 } } , resetSpeed : function ( a , b ) { this . _oldPosition . setTo ( a , b ) , this . speed . setTo ( 0 , 0 ) } , startPointer : function ( a ) { if ( this . maxPointers < 10 && this . totalActivePointers == this . maxPointers ) return null ; if ( this . pointer1 . active === ! 1 ) return this . pointer1 . start ( a ) ; if ( this . pointer2 . active === ! 1 ) return this . pointer2 . start ( a ) ; for ( var b = 3 ; 10 >= b ; b ++ ) if ( this [ "pointer" + b ] && this [ "pointer" + b ] . active === ! 1 ) return this [ "pointer" + b ] . start ( a ) ; return null } , updatePointer : function ( a ) { if ( this . pointer1 . active && this . pointer1 . identifier == a . identifier ) return this . pointer1 . move ( a ) ; if ( this . pointer2 . active && this . pointer2 . identifier == a . identifier ) return this . pointer2 . move ( a ) ; for ( var b = 3 ; 10 >= b ; b ++ ) if ( this [ "pointer" + b ] && this [ "pointer" + b ] . active && this [ "pointer" + b ] . identifier == a . identifier ) return this [ "pointer" + b ] . move ( a ) ; return null } , stopPointer : function ( a ) { if ( this . pointer1 . active && this . pointer1 . identifier == a . identifier ) return this . pointer1 . stop ( a ) ; if ( this . pointer2 . active && this . pointer2 . identifier == a . identifier ) return this . pointer2 . stop ( a ) ; for ( var b = 3 ; 10 >= b ; b ++ ) if ( this [ "pointer" + b ] && this [ "pointer" + b ] . active && this [ "pointer" + b ] . identifier == a . identifier ) return this [ "pointer" + b ] . stop ( a ) ; return null } , getPointer : function ( a ) { if ( a = a || ! 1 , this . pointer1 . active == a ) return this . pointer1 ; if ( this . pointer2 . active == a ) return this . pointer2 ; for ( var b = 3 ; 10 >= b ; b ++ ) if ( this [ "pointer" + b ] && this [ "pointer" + b ] . active == a ) return this [ "pointer" + b ] ; return null } , getPointerFromIdentifier : function ( a ) { if ( this . pointer1 . identifier == a ) return this . pointer1 ; if ( this . pointer2 . identifier == a ) return this . pointer2 ; for ( var b = 3 ; 10 >= b ; b ++ ) if ( this [ "pointer" + b ] && this [ "pointer" + b ] . identifier == a ) return this [ "pointer" + b ] ; return null } , getLocalPosition : function ( a , c , d ) { "undefined" == typeof d && ( d = new b . Point ) ; var e = a . worldTransform , f = 1 / ( e . a * e . d + e . b * - e . c ) ; return d . setTo ( e . d * f * c . x + - e . b * f * c . y + ( e . ty * e . b - e . tx * e . d ) * f , e . a * f * c . y + - e . c * f * c . x + ( - e . ty * e . a + e . tx * e . c ) * f ) } , hitTest : function ( a , c , d ) { if ( ! a . worldVisible ) return ! 1 ; if ( this . getLocalPosition ( a , c , this . _localPoint ) , d . copyFrom ( this . _localPoint ) , a . hitArea && a . hitArea . contains ) return a . hitArea . contains ( this . _localPoint . x , this . _localPoint . y ) ? ! 0 : ! 1 ; if ( a instanceof b . TileSprite ) { var e = a . width , f = a . height , g = - e * a . anchor . x ; if ( this . _localPoint . x > g && this . _localPoint . x < g + e ) { var h = - f * a . anchor . y ; if ( this . _localPoint . y > h && this . _localPoint . y < h + f ) return ! 0 } } else if ( a instanceof PIXI . Sprite ) { var e = a . texture . frame . width , f = a . textu
} , addButton : function ( a ) { return this . _hotkeys [ a ] = new b . GamepadButton ( this . game , a ) , this . _hotkeys [ a ] } , pollStatus : function ( ) { if ( ! this . _rawPad . timestamp || this . _rawPad . timestamp != this . _prevTimestamp ) { for ( var a = 0 ; a < this . _rawPad . buttons . length ; a += 1 ) { var b = this . _rawPad . buttons [ a ] ; this . _rawButtons [ a ] !== b && ( 1 === b ? this . processButtonDown ( a , b ) : 0 === b ? this . processButtonUp ( a , b ) : this . processButtonFloat ( a , b ) , this . _rawButtons [ a ] = b ) } for ( var c = this . _rawPad . axes , d = 0 ; d < c . length ; d += 1 ) { var e = c [ d ] ; this . processAxisChange ( e > 0 && e > this . deadZone || 0 > e && e < - this . deadZone ? { axis : d , value : e } : { axis : d , value : 0 } ) } this . _prevTimestamp = this . _rawPad . timestamp } } , connect : function ( a ) { var b = ! this . _connected ; this . _index = a . index , this . _connected = ! 0 , this . _rawPad = a , this . _rawButtons = a . buttons , this . _axes = a . axes , b && this . _padParent . onConnectCallback && this . _padParent . onConnectCallback . call ( this . _padParent . callbackContext , this . _index ) , b && this . onConnectCallback && this . onConnectCallback . call ( this . callbackContext ) } , disconnect : function ( ) { var a = this . _connected ; this . _connected = ! 1 , this . _rawPad = void 0 , this . _rawButtons = [ ] , this . _buttons = [ ] ; var b = this . _index ; this . _index = null , a && this . _padParent . onDisconnectCallback && this . _padParent . onDisconnectCallback . call ( this . _padParent . callbackContext , b ) , a && this . onDisconnectCallback && this . onDisconnectCallback . call ( this . callbackContext ) } , processAxisChange : function ( a ) { this . game . input . disabled || this . game . input . gamepad . disabled || this . _axes [ a . axis ] !== a . value && ( this . _axes [ a . axis ] = a . value , this . _padParent . onAxisCallback && this . _padParent . onAxisCallback . call ( this . _padParent . callbackContext , a , this . _index ) , this . onAxisCallback && this . onAxisCallback . call ( this . callbackContext , a ) ) } , processButtonDown : function ( a , b ) { this . game . input . disabled || this . game . input . gamepad . disabled || ( this . _padParent . onDownCallback && this . _padParent . onDownCallback . call ( this . _padParent . callbackContext , a , b , this . _index ) , this . onDownCallback && this . onDownCallback . call ( this . callbackContext , a , b ) , this . _buttons [ a ] && this . _buttons [ a ] . isDown ? this . _buttons [ a ] . duration = this . game . time . now - this . _buttons [ a ] . timeDown : this . _buttons [ a ] ? ( this . _buttons [ a ] . isDown = ! 0 , this . _buttons [ a ] . timeDown = this . game . time . now , this . _buttons [ a ] . duration = 0 , this . _buttons [ a ] . value = b ) : this . _buttons [ a ] = { isDown : ! 0 , timeDown : this . game . time . now , timeUp : 0 , duration : 0 , value : b } , this . _hotkeys [ a ] && this . _hotkeys [ a ] . processButtonDown ( b ) ) } , processButtonUp : function ( a , b ) { this . game . input . disabled || this . game . input . gamepad . disabled || ( this . _padParent . onUpCallback && this . _padParent . onUpCallback . call ( this . _padParent . callbackContext , a , b , this . _index ) , this . onUpCallback && this . onUpCallback . call ( this . callbackContext , a , b ) , this . _hotkeys [ a ] && this . _hotkeys [ a ] . processButtonUp ( b ) , this . _buttons [ a ] ? ( this . _buttons [ a ] . isDown = ! 1 , this . _buttons [ a ] . timeUp = this . game . time . now , this . _buttons [ a ] . value = b ) : this . _buttons [ a ] = { isDown : ! 1 , timeDown : this . game . time . now , timeUp : this . game . time . now , duration : 0 , value : b } ) } , processButtonFloat : function ( a , b ) { this . game . input . disabled || this . game . input . gamepad . disabled || ( this . _padParent . onFloatCallback && this . _padParent . onFloatCallback . call ( this . _padParent . callbackContext , a , b , this . _index ) , this . onFloatCallback && this . onFloatCallback . call ( this . callbackContext , a , b ) , this . _buttons [ a ] ? this . _buttons [ a ] . value = b : this . _buttons [ a ] = { value : b } , this . _hotkeys [ a ] && this . _hotkeys [ a ] . processButtonFloat ( b ) ) } , axis : function ( a ) { return this . _axes [ a ] ? this . _axes [ a ] : ! 1 } , isDown : function ( a ) { return this . _buttons [ a ] ? this . _buttons [ a ] . isDown : ! 1 } , justReleased : function ( a , b ) { return "undefined" == typeof b && ( b = 250 ) , this . _buttons [ a ] && this . _buttons [ a ] . isDown === ! 1 && this . game . time . now - this . _buttons [ a ] . timeUp < b } , justPressed : function ( a , b ) { return "undefined" == typeof b && ( b = 250 ) , this . _buttons [ a ] && this . _buttons [ a ] . isDown && this . _buttons [ a ] . duration < b } , buttonValue : function ( a ) { return this . _buttons [ a ] ? this . _buttons [ a ] . value : ! 1 } , reset : function ( ) { for ( var a = 0 ; a < this . _buttons . length ; a ++ ) this . _buttons [ a ] = 0 ; for ( var b = 0 ; b < this . _axes . length ; b ++ ) this . _axes [ b ] = 0 } } , b . SinglePad . prototype . constructor = b . SinglePad , Object . defineProperty ( b . SinglePad . prototype , "connected" , { get : function ( ) { return this . _connected } } ) , Object . defineProperty ( b . Singl
} , set : function ( a ) { a ? null === this . input && ( this . input = new b . InputHandler ( this ) , this . input . start ( ) ) : this . input && this . input . enabled && this . input . stop ( ) } } ) , Object . defineProperty ( b . Sprite . prototype , "physicsEnabled" , { get : function ( ) { return null !== this . body } , set : function ( a ) { a ? null === this . body && ( this . body = new b . Physics . Body ( this . game , this , this . x , this . y , 1 ) , this . anchor . set ( . 5 ) ) : this . body && this . body . destroy ( ) } } ) , Object . defineProperty ( b . Sprite . prototype , "exists" , { get : function ( ) { return ! ! this . _cache [ 6 ] } , set : function ( a ) { a ? ( this . _cache [ 6 ] = 1 , this . body && this . body . addToWorld ( ) , this . visible = ! 0 ) : ( this . _cache [ 6 ] = 0 , this . body && this . body . removeFromWorld ( ) , this . visible = ! 1 ) } } ) , Object . defineProperty ( b . Sprite . prototype , "fixedToCamera" , { get : function ( ) { return ! ! this . _cache [ 7 ] } , set : function ( a ) { a ? ( this . _cache [ 7 ] = 1 , this . cameraOffset . set ( this . x , this . y ) ) : this . _cache [ 7 ] = 0 } } ) , Object . defineProperty ( b . Sprite . prototype , "smoothed" , { get : function ( ) { return ! this . texture . baseTexture . scaleMode } , set : function ( a ) { a ? this . texture && ( this . texture . baseTexture . scaleMode = 0 ) : this . texture && ( this . texture . baseTexture . scaleMode = 1 ) } } ) , b . Image = function ( a , c , d , e , f ) { c = c || 0 , d = d || 0 , e = e || null , f = f || null , this . game = a , this . exists = ! 0 , this . name = "" , this . type = b . IMAGE , this . events = new b . Events ( this ) , this . key = e , this . _frame = 0 , this . _frameName = "" , PIXI . Sprite . call ( this , PIXI . TextureCache . _ _default ) , this . loadTexture ( e , f ) , this . position . set ( c , d ) , this . world = new b . Point ( c , d ) , this . autoCull = ! 1 , this . input = null , this . cameraOffset = new b . Point , this . _cache = new Int16Array ( [ 0 , 0 , 0 , 0 , 1 , 0 , 1 , 0 ] ) } , b . Image . prototype = Object . create ( PIXI . Sprite . prototype ) , b . Image . prototype . constructor = b . Image , b . Image . prototype . preUpdate = function ( ) { return this . _cache [ 0 ] = this . world . x , this . _cache [ 1 ] = this . world . y , this . _cache [ 2 ] = this . rotation , this . exists && this . parent . exists ? ( 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 . world . currentRenderOrderID ++ ) , ! 0 ) : ( this . renderOrderID = - 1 , ! 1 ) } , b . Image . prototype . update = function ( ) { } , b . Image . prototype . postUpdate = function ( ) { this . key instanceof b . BitmapData && this . key . _dirty && this . key . render ( ) , 1 === this . _cache [ 7 ] && ( this . position . x = this . game . camera . view . x + this . cameraOffset . x , this . position . y = this . game . camera . view . y + this . cameraOffset . y ) } , b . Image . prototype . loadTexture = function ( a , c ) { if ( c = c || 0 , a instanceof b . RenderTexture ) return this . key = a . key , void this . setTexture ( a ) ; if ( a instanceof b . BitmapData ) return this . key = a . key , void this . setTexture ( a . texture ) ; if ( a instanceof PIXI . Texture ) return this . key = a , void this . setTexture ( a ) ; if ( null === a || "undefined" == typeof a ) return this . key = "__default" , void this . setTexture ( PIXI . TextureCache [ this . key ] ) ; if ( "string" == typeof a && ! this . game . cache . checkImageKey ( a ) ) return this . key = "__missing" , void this . setTexture ( PIXI . TextureCache [ this . key ] ) ; if ( this . game . cache . isSpriteSheet ( a ) ) { this . key = a ; var d = this . game . cache . getFrameData ( a ) ; return "string" == typeof c ? ( this . _frame = 0 , this . _frameName = c , void this . setTexture ( PIXI . TextureCache [ d . getFrameByName ( c ) . uuid ] ) ) : ( this . _frame = c , this . _frameName = "" , void this . setTexture ( PIXI . TextureCache [ d . getFrame ( c ) . uuid ] ) ) } return this . key = a , void this . setTexture ( PIXI . TextureCache [ a ] ) } , b . Image . prototype . crop = function ( a ) { if ( "undefined" == typeof a || null === a ) this . texture . hasOwnProperty ( "sourceWidth" ) && this . texture . setFrame ( new b . Rectangle ( 0 , 0 , this . texture . sourceWidth , this . texture . sourceHeight ) ) ; else if ( this . texture instanceof PIXI . Texture ) { var c = { } ; b . Utils . extend ( ! 0 , c , this . texture ) , c . sourceWidth = c . width , c . sourceHeight = c . height , c . frame = a , c . width = a . width , c . height = a . height , this . texture = c , this . texture . updateFrame = ! 0 , PIXI . Texture . frameUpdates . push ( this . texture ) } else this . texture . setFrame ( a ) } , b . Image . prototype . revive = function ( ) { return this . alive = ! 0 , this . exists = ! 0 , this . visible = ! 0 , this . events && this . events . onRevived . dispatch ( this ) , this } , b . Image . prototype . kill = function ( ) { return this . alive = ! 1 , this . exists = ! 1 , this . visible = ! 1 , this . events && this . events . onKilled . dispatch ( this ) , this } , b . Image . prototype . destroy = function ( a ) { if ( nul
break ; case b . BitmapFont . ALIGN _CENTER : a = this . width / 2 - d [ e ] . length * ( this . characterWidth + this . customSpacingX ) / 2 , a += this . customSpacingX / 2 } 0 > a && ( a = 0 ) , this . pasteLine ( d [ e ] , a , c , this . customSpacingX ) , c += this . characterHeight + this . customSpacingY } } else { switch ( this . fixedWidth > 0 ? this . resize ( fixedWidth , this . characterHeight ) : this . resize ( this . _text . length * ( this . characterWidth + this . customSpacingX ) , this . characterHeight ) , this . textureBuffer . clear ( ) , this . align ) { case b . BitmapFont . ALIGN _LEFT : a = 0 ; break ; case b . BitmapFont . ALIGN _RIGHT : a = this . width - this . _text . length * ( this . characterWidth + this . customSpacingX ) ; break ; case b . BitmapFont . ALIGN _CENTER : a = this . width / 2 - this . _text . length * ( this . characterWidth + this . customSpacingX ) / 2 , a += this . customSpacingX / 2 } this . pasteLine ( this . _text , a , 0 , this . customSpacingX ) } } , b . BitmapFont . prototype . pasteLine = function ( a , c , d ) { for ( var e = new b . Point , f = 0 ; f < a . length ; f ++ ) if ( " " == a . charAt ( f ) ) c += this . characterWidth + this . customSpacingX ; else if ( this . grabData [ a . charCodeAt ( f ) ] >= 0 && ( this . stamp . frame = this . grabData [ a . charCodeAt ( f ) ] , e . set ( c , d ) , this . render ( this . stamp , e , ! 1 ) , c += this . characterWidth + this . customSpacingX , c > this . width ) ) break } , b . BitmapFont . prototype . getLongestLine = function ( ) { var a = 0 ; if ( this . _text . length > 0 ) for ( var b = this . _text . split ( "\n" ) , c = 0 ; c < b . length ; c ++ ) b [ c ] . length > a && ( a = b [ c ] . length ) ; return a } , b . BitmapFont . prototype . removeUnsupportedCharacters = function ( a ) { for ( var b = "" , c = 0 ; c < this . _text . length ; c ++ ) { var d = this . _text [ c ] , e = d . charCodeAt ( 0 ) ; ( this . grabData [ e ] >= 0 || ! a && "\n" === d ) && ( b = b . concat ( d ) ) } return b } , Object . defineProperty ( b . BitmapFont . prototype , "text" , { get : function ( ) { return this . _text } , set : function ( a ) { var b ; b = this . autoUpperCase ? a . toUpperCase ( ) : a , b !== this . _text && ( this . _text = b , this . removeUnsupportedCharacters ( this . multiLine ) , this . buildBitmapFontText ( ) ) } } ) , b . Canvas = { create : function ( a , b , c , d ) { if ( "undefined" == typeof d && ( d = ! 1 ) , a = a || 256 , b = b || 256 , d ) var e = document . createElement ( "canvas" ) ; else var e = document . createElement ( navigator . isCocoonJS ? "screencanvas" : "canvas" ) ; return "string" == typeof c && "" !== c && ( e . id = c ) , e . width = a , e . height = b , e . style . display = "block" , e } , getOffset : function ( a , c ) { c = c || new b . Point ; var d = a . getBoundingClientRect ( ) , e = a . clientTop || document . body . clientTop || 0 , f = a . clientLeft || document . body . clientLeft || 0 , g = 0 , h = 0 ; return "CSS1Compat" === document . compatMode ? ( g = window . pageYOffset || document . documentElement . scrollTop || a . scrollTop || 0 , h = window . pageXOffset || document . documentElement . scrollLeft || a . scrollLeft || 0 ) : ( g = window . pageYOffset || document . body . scrollTop || a . scrollTop || 0 , h = window . pageXOffset || document . body . scrollLeft || a . scrollLeft || 0 ) , c . x = d . left + h - f , c . y = d . top + g - e , c } , getAspectRatio : function ( a ) { return a . width / a . height } , setBackgroundColor : function ( a , b ) { return b = b || "rgb(0,0,0)" , a . style . backgroundColor = b , a } , setTouchAction : function ( a , b ) { return b = b || "none" , a . style . msTouchAction = b , a . style [ "ms-touch-action" ] = b , a . style [ "touch-action" ] = b , a } , setUserSelect : function ( a , b ) { return b = b || "none" , a . style [ "-webkit-touch-callout" ] = b , a . style [ "-webkit-user-select" ] = b , a . style [ "-khtml-user-select" ] = b , a . style [ "-moz-user-select" ] = b , a . style [ "-ms-user-select" ] = b , a . style [ "user-select" ] = b , a . style [ "-webkit-tap-highlight-color" ] = "rgba(0, 0, 0, 0)" , a } , addToDOM : function ( a , b , c ) { var d ; return "undefined" == typeof c && ( c = ! 0 ) , b && ( "string" == typeof b ? d = document . getElementById ( b ) : "object" == typeof b && 1 === b . nodeType && ( d = b ) ) , d || ( d = document . body ) , c && d . style && ( d . style . overflow = "hidden" ) , d . appendChild ( a ) , a } , setTransform : function ( a , b , c , d , e , f , g ) { return a . setTransform ( d , f , g , e , b , c ) , a } , setSmoothingEnabled : function ( a , b ) { return a . imageSmoothingEnabled = b , a . mozImageSmoothingEnabled = b , a . oImageSmoothingEnabled = b , a . webkitImageSmoothingEnabled = b , a . msImageSmoothingEnabled = b , a } , setImageRenderingCrisp : function ( a ) { return a . style [ "image-rendering" ] = "optimizeSpeed" , a . style [ "image-rendering" ] = "crisp-edges" , a . style [ "image-rendering" ] = "-moz-crisp-edges" , a . style [ "image-rendering" ] = "-webkit-optimize-contrast" , a . style [ "image-rendering" ] = "optimize-contrast" , a . style . msInterpolationMode = "nearest-neighbor" , a } , setImageRenderingBicubic : function ( a ) { return a . style [ "image-rendering" ] = "auto" , a . style . msInterpolationMode = "bicubic" , a } } , b . Device
0 > c && ( c = this . _now + this . events [ this . _i ] . delay ) , this . events [ this . _i ] . loop === ! 0 ? ( this . events [ this . _i ] . tick = c , this . events [ this . _i ] . callback . apply ( this . events [ this . _i ] . callbackContext , this . events [ this . _i ] . args ) ) : this . events [ this . _i ] . repeatCount > 0 ? ( this . events [ this . _i ] . repeatCount -- , this . events [ this . _i ] . tick = c , this . events [ this . _i ] . callback . apply ( this . events [ this . _i ] . callbackContext , this . events [ this . _i ] . args ) ) : ( this . events [ this . _i ] . callback . apply ( this . events [ this . _i ] . callbackContext , this . events [ this . _i ] . args ) , this . events . splice ( this . _i , 1 ) , this . _len -- ) , this . _i ++ } this . events . length > 0 ? this . order ( ) : ( this . expired = ! 0 , this . onComplete . dispatch ( this ) ) } return this . expired && this . autoDestroy ? ! 1 : ! 0 } , pause : function ( ) { this . running && ! this . expired && ( this . _pauseStarted = this . game . time . now , this . paused = ! 0 , this . _codePaused = ! 0 ) } , _pause : function ( ) { this . running && ! this . expired && ( this . _pauseStarted = this . game . time . now , this . paused = ! 0 ) } , resume : function ( ) { if ( this . running && ! this . expired ) { for ( var a = this . game . time . now - this . _pauseStarted , b = 0 ; b < this . events . length ; b ++ ) this . events [ b ] . tick += a ; this . nextTick += a , this . paused = ! 1 , this . _codePaused = ! 1 } } , _resume : function ( ) { this . _codePaused || this . resume ( ) } , destroy : function ( ) { this . onComplete . removeAll ( ) , this . running = ! 1 , this . events = [ ] , this . _i = this . _len } } , Object . defineProperty ( b . Timer . prototype , "next" , { get : function ( ) { return this . nextTick } } ) , Object . defineProperty ( b . Timer . prototype , "duration" , { get : function ( ) { return this . running && this . nextTick > this . _now ? this . nextTick - this . _now : 0 } } ) , Object . defineProperty ( b . Timer . prototype , "length" , { get : function ( ) { return this . events . length } } ) , Object . defineProperty ( b . Timer . prototype , "ms" , { get : function ( ) { return this . _now - this . _started } } ) , Object . defineProperty ( b . Timer . prototype , "seconds" , { get : function ( ) { return . 001 * this . ms } } ) , b . Timer . prototype . constructor = b . Timer , b . TimerEvent = function ( a , b , c , d , e , f , g , h ) { this . timer = a , this . delay = b , this . tick = c , this . repeatCount = d - 1 , this . loop = e , this . callback = f , this . callbackContext = g , this . args = h , this . pendingDelete = ! 1 } , b . TimerEvent . prototype . constructor = b . TimerEvent , b . AnimationManager = function ( a ) { this . sprite = a , this . game = a . game , this . currentFrame = null , this . updateIfVisible = ! 0 , this . isLoaded = ! 1 , this . _frameData = null , this . _anims = { } , this . _outputFrames = [ ] } , b . AnimationManager . prototype = { loadFrameData : function ( a ) { this . _frameData = a , this . frame = 0 , this . isLoaded = ! 0 } , add : function ( a , c , d , e , f ) { return null == this . _frameData ? void console . warn ( "No FrameData available for Phaser.Animation " + a ) : ( c = c || [ ] , d = d || 60 , "undefined" == typeof e && ( e = ! 1 ) , "undefined" == typeof f && ( f = c && "number" == typeof c [ 0 ] ? ! 0 : ! 1 ) , null == this . sprite . events . onAnimationStart && ( this . sprite . events . onAnimationStart = new b . Signal , this . sprite . events . onAnimationComplete = new b . Signal , this . sprite . events . onAnimationLoop = new b . Signal ) , this . _outputFrames . length = 0 , this . _frameData . getFrameIndexes ( c , f , this . _outputFrames ) , this . _anims [ a ] = new b . Animation ( this . game , this . sprite , a , this . _frameData , this . _outputFrames , d , e ) , this . currentAnim = this . _anims [ a ] , this . currentFrame = this . currentAnim . currentFrame , this . sprite . setTexture ( PIXI . TextureCache [ this . currentFrame . uuid ] ) , this . sprite . _ _tilePattern && ( this . _ _tilePattern = ! 1 , this . tilingTexture = ! 1 ) , this . _anims [ a ] ) } , 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 . _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
} , this . _xhr . send ( ) ; break ; case "tilemap" : if ( this . _xhr . open ( "GET" , this . baseURL + a . url , ! 0 ) , this . _xhr . responseType = "text" , a . format === b . Tilemap . TILED _JSON ) this . _xhr . onload = function ( ) { return c . jsonLoadComplete ( c . _fileIndex ) } ; else { if ( a . format !== b . Tilemap . CSV ) throw new Error ( "Phaser.Loader. Invalid Tilemap format: " + a . format ) ; this . _xhr . onload = function ( ) { return c . csvLoadComplete ( c . _fileIndex ) } } this . _xhr . onerror = function ( ) { return c . dataLoadError ( c . _fileIndex ) } , this . _xhr . send ( ) ; break ; case "text" : case "script" : case "physics" : this . _xhr . open ( "GET" , this . baseURL + a . url , ! 0 ) , this . _xhr . responseType = "text" , this . _xhr . onload = function ( ) { return c . fileComplete ( c . _fileIndex ) } , this . _xhr . onerror = function ( ) { return c . fileError ( c . _fileIndex ) } , this . _xhr . send ( ) ; break ; case "binary" : this . _xhr . open ( "GET" , this . baseURL + a . url , ! 0 ) , this . _xhr . responseType = "arraybuffer" , this . _xhr . onload = function ( ) { return c . fileComplete ( c . _fileIndex ) } , this . _xhr . onerror = function ( ) { return c . fileError ( c . _fileIndex ) } , this . _xhr . send ( ) } } , getAudioURL : function ( a ) { var b ; "string" == typeof a && ( a = [ a ] ) ; for ( var c = 0 ; c < a . length ; c ++ ) if ( b = a [ c ] . toLowerCase ( ) , b = b . substr ( ( Math . max ( 0 , b . lastIndexOf ( "." ) ) || 1 / 0 ) + 1 ) , this . game . device . canPlayAudio ( b ) ) return a [ c ] ; return null } , fileError : function ( a ) { this . _fileList [ a ] . loaded = ! 0 , this . _fileList [ a ] . error = ! 0 , this . onFileError . dispatch ( this . _fileList [ a ] . key , this . _fileList [ a ] ) , console . warn ( "Phaser.Loader error loading file: " + this . _fileList [ a ] . key + " from URL " + this . _fileList [ a ] . url ) , this . nextFile ( a , ! 1 ) } , 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 ) { this . game . cache . updateSound ( g , "isDecoding" , ! 0 ) ; var f = this , g = c . key ; 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 in
} , b . Physics . World . prototype = { postStepHandler : function ( ) { } , postBroadphaseHandler : function ( a ) { for ( var b = 0 ; b < a . pairs . length ; b += 2 ) { var c = a . pairs [ b ] , d = a . pairs [ b + 1 ] ; 1 !== c . id && 1 !== d . id } } , impactHandler : function ( a ) { if ( a . bodyA . parent && a . bodyB . parent ) { var b = a . bodyA . parent , c = a . bodyB . parent ; b . _bodyCallbacks [ a . bodyB . id ] && b . _bodyCallbacks [ a . bodyB . id ] . call ( b . _bodyCallbackContext [ a . bodyB . id ] , b , c , a . shapeA , a . shapeB ) , c . _bodyCallbacks [ a . bodyA . id ] && c . _bodyCallbacks [ a . bodyA . id ] . call ( c . _bodyCallbackContext [ a . bodyA . id ] , c , b , a . shapeB , a . shapeA ) , b . _groupCallbacks [ a . shapeB . collisionGroup ] && b . _groupCallbacks [ a . shapeB . collisionGroup ] . call ( b . _groupCallbackContext [ a . shapeB . collisionGroup ] , b , c , a . shapeA , a . shapeB ) , c . _groupCallbacks [ a . shapeA . collisionGroup ] && c . _groupCallbacks [ a . shapeA . collisionGroup ] . call ( c . _groupCallbackContext [ a . shapeA . collisionGroup ] , c , b , a . shapeB , a . shapeA ) } } , beginContactHandler : function ( a ) { a . bodyA . id > 1 && a . bodyB . id > 1 } , endContactHandler : function ( a ) { a . bodyA . id > 1 && a . bodyB . id > 1 } , setBoundsToWorld : function ( a , b , c , d , e ) { this . setBounds ( this . game . world . bounds . x , this . game . world . bounds . y , this . game . world . bounds . width , this . game . world . bounds . height , a , b , c , d , e ) } , setWorldMaterial : function ( a , b , c , d , e ) { "undefined" == typeof b && ( b = ! 0 ) , "undefined" == typeof c && ( c = ! 0 ) , "undefined" == typeof d && ( d = ! 0 ) , "undefined" == typeof e && ( e = ! 0 ) , b && this . _wallShapes [ 0 ] && ( this . _wallShapes [ 0 ] . material = a ) , c && this . _wallShapes [ 1 ] && ( this . _wallShapes [ 1 ] . material = a ) , d && this . _wallShapes [ 2 ] && ( this . _wallShapes [ 2 ] . material = a ) , e && this . _wallShapes [ 3 ] && ( this . _wallShapes [ 3 ] . material = a ) } , setBounds : function ( a , b , c , d , e , f , g , h , i ) { "undefined" == typeof e && ( e = ! 0 ) , "undefined" == typeof f && ( f = ! 0 ) , "undefined" == typeof g && ( g = ! 0 ) , "undefined" == typeof h && ( h = ! 0 ) , "undefined" == typeof i && ( i = ! 0 ) ; var j = c / 2 , k = d / 2 , l = j + a , m = k + b ; if ( null !== this . bounds ) { this . world . removeBody ( this . bounds ) ; for ( var n = this . bounds . shapes . length ; n -- ; ) { var o = this . bounds . shapes [ n ] ; this . bounds . removeShape ( o ) } this . bounds . position [ 0 ] = this . game . math . px2pi ( l ) , this . bounds . position [ 1 ] = this . game . math . px2pi ( m ) } else this . bounds = new p2 . Body ( { mass : 0 , position : [ this . game . math . px2pi ( l ) , this . game . math . px2pi ( m ) ] } ) ; e && ( this . _wallShapes [ 0 ] = new p2 . Plane , i && ( this . _wallShapes [ 0 ] . collisionGroup = this . boundsCollisionGroup . mask ) , this . bounds . addShape ( this . _wallShapes [ 0 ] , [ this . game . math . px2pi ( - j ) , 0 ] , 1.5707963267948966 ) ) , f && ( this . _wallShapes [ 1 ] = new p2 . Plane , i && ( this . _wallShapes [ 1 ] . collisionGroup = this . boundsCollisionGroup . mask ) , this . bounds . addShape ( this . _wallShapes [ 1 ] , [ this . game . math . px2pi ( j ) , 0 ] , - 1.5707963267948966 ) ) , g && ( this . _wallShapes [ 2 ] = new p2 . Plane , i && ( this . _wallShapes [ 2 ] . collisionGroup = this . boundsCollisionGroup . mask ) , this . bounds . addShape ( this . _wallShapes [ 2 ] , [ 0 , this . game . math . px2pi ( - k ) ] , - 3.141592653589793 ) ) , h && ( this . _wallShapes [ 3 ] = new p2 . Plane , i && ( this . _wallShapes [ 3 ] . collisionGroup = this . boundsCollisionGroup . mask ) , this . bounds . addShape ( this . _wallShapes [ 3 ] , [ 0 , this . game . math . px2pi ( k ) ] ) ) , this . world . addBody ( this . bounds ) } , update : function ( ) { this . world . step ( 1 / 60 ) } , destroy : function ( ) { this . world . clear ( ) , this . game = null } , addBody : function ( a ) { return a . data . world ? ! 1 : ( this . world . addBody ( a . data ) , this . onBodyAdded . dispatch ( a ) , ! 0 ) } , removeBody : function ( a ) { return this . world . removeBody ( a . data ) , this . onBodyRemoved . dispatch ( a ) , a } , addSpring : function ( a ) { return this . world . addSpring ( a ) , this . onSpringAdded . dispatch ( a ) , a } , removeSpring : function ( a ) { return this . world . removeSpring ( a ) , this . onSpringRemoved . dispatch ( a ) , a } , addConstraint : function ( a ) { return this . world . addConstraint ( a ) , this . onConstraintAdded . dispatch ( a ) , a } , removeConstraint : function ( a ) { return this . world . removeConstraint ( a ) , this . onConstraintRemoved . dispatch ( a ) , a } , addContactMaterial : function ( a ) { return this . world . addContactMaterial ( a ) , this . onContactMaterialAdded . dispatch ( a ) , a } , removeContactMaterial : function ( a ) { return this . world . removeContactMaterial ( a ) , this . onContactMaterialRemoved . dispatch ( a ) , a } , getContactMaterial : function ( a , b ) { return this . world . getContactMaterial ( a , b ) } , setMaterial : function ( a , b ) { for ( var c = b . length ; c -- ; ) b . setMaterial ( a ) } , createMaterial : function ( a , c ) { a = a || "" ; var d = new b . Physics . Material ( a ) ; return this . materials . push ( d ) , "undefined" != typeof c && c . setMa
} , getTileRight : function ( a , b , c ) { return b < this . layers [ a ] . width - 1 ? this . layers [ a ] . data [ c ] [ b + 1 ] : null } , setLayer : function ( a ) { a = this . getLayer ( a ) , this . layers [ a ] && ( this . currentLayer = a ) } , putTile : function ( a , c , d , e ) { e = this . getLayer ( e ) , c >= 0 && c < this . layers [ e ] . width && d >= 0 && d < this . layers [ e ] . height && ( a instanceof b . Tile ? this . layers [ e ] . data [ d ] [ c ] . copy ( a ) : this . layers [ e ] . data [ d ] [ c ] . index = a , this . layers [ e ] . dirty = ! 0 , this . calculateFaces ( e ) ) } , putTileWorldXY : function ( a , b , c , d , e , f ) { f = this . getLayer ( f ) , b = this . game . math . snapToFloor ( b , d ) / d , c = this . game . math . snapToFloor ( c , e ) / e , this . putTile ( a , b , c , f ) } , getTile : function ( a , b , c ) { return c = this . getLayer ( c ) , a >= 0 && a < this . layers [ c ] . width && b >= 0 && b < this . layers [ c ] . height ? this . layers [ c ] . data [ b ] [ a ] : void 0 } , getTileWorldXY : function ( a , b , c , d , e ) { return "undefined" == typeof c && ( c = this . tileWidth ) , "undefined" == typeof d && ( d = this . tileHeight ) , e = this . getLayer ( e ) , a = this . game . math . snapToFloor ( a , c ) / c , b = this . game . math . snapToFloor ( b , d ) / d , this . getTile ( a , b , e ) } , copy : function ( a , b , c , d , e ) { if ( e = this . getLayer ( e ) , ! this . layers [ e ] ) return void ( this . _results . length = 0 ) ; "undefined" == typeof a && ( a = 0 ) , "undefined" == typeof b && ( b = 0 ) , "undefined" == typeof c && ( c = this . layers [ e ] . width ) , "undefined" == typeof d && ( d = this . layers [ e ] . height ) , 0 > a && ( a = 0 ) , 0 > b && ( b = 0 ) , c > this . layers [ e ] . width && ( c = this . layers [ e ] . width ) , d > this . layers [ e ] . height && ( d = this . layers [ e ] . height ) , this . _results . length = 0 , this . _results . push ( { x : a , y : b , width : c , height : d , layer : e } ) ; for ( var f = b ; b + d > f ; f ++ ) for ( var g = a ; a + c > g ; g ++ ) this . _results . push ( this . layers [ e ] . data [ f ] [ g ] ) ; return this . _results } , paste : function ( a , b , c , d ) { if ( "undefined" == typeof a && ( a = 0 ) , "undefined" == typeof b && ( b = 0 ) , d = this . getLayer ( d ) , c && ! ( c . length < 2 ) ) { for ( var e = c [ 1 ] . x - a , f = c [ 1 ] . y - b , g = 1 ; g < c . length ; g ++ ) this . layers [ d ] . data [ f + c [ g ] . y ] [ e + c [ g ] . x ] . copy ( c [ g ] ) ; this . layers [ d ] . dirty = ! 0 , this . calculateFaces ( d ) } } , swap : function ( a , b , c , d , e , f , g ) { g = this . getLayer ( g ) , this . copy ( c , d , e , f , g ) , this . _results . length < 2 || ( this . _tempA = a , this . _tempB = b , this . _results . forEach ( this . swapHandler , this ) , this . paste ( c , d , this . _results , g ) ) } , swapHandler : function ( a , b ) { a . index === this . _tempA ? this . _results [ b ] . index = this . _tempB : a . index === this . _tempB && ( this . _results [ b ] . index = this . _tempA ) } , forEach : function ( a , b , c , d , e , f , g ) { g = this . getLayer ( g ) , this . copy ( c , d , e , f , g ) , this . _results . length < 2 || ( this . _results . forEach ( a , b ) , this . paste ( c , d , this . _results , g ) ) } , replace : function ( a , b , c , d , e , f , g ) { if ( g = this . getLayer ( g ) , this . copy ( c , d , e , f , g ) , ! ( this . _results . length < 2 ) ) { for ( var h = 1 ; h < this . _results . length ; h ++ ) this . _results [ h ] . index === a && ( this . _results [ h ] . index = b ) ; this . paste ( c , d , this . _results , g ) } } , random : function ( a , b , c , d , e ) { if ( e = this . getLayer ( e ) , this . copy ( a , b , c , d , e ) , ! ( this . _results . length < 2 ) ) { for ( var f = [ ] , g = 1 ; g < this . _results . length ; g ++ ) if ( this . _results [ g ] . index ) { var h = this . _results [ g ] . index ; - 1 === f . indexOf ( h ) && f . push ( h ) } for ( var i = 1 ; i < this . _results . length ; i ++ ) this . _results [ i ] . index = this . game . rnd . pick ( f ) ; this . paste ( a , b , this . _results , e ) } } , shuffle : function ( a , c , d , e , f ) { if ( f = this . getLayer ( f ) , this . copy ( a , c , d , e , f ) , ! ( this . _results . length < 2 ) ) { for ( var g = [ ] , h = 1 ; h < this . _results . length ; h ++ ) this . _results [ h ] . index && g . push ( this . _results [ h ] . index ) ; b . Utils . shuffle ( g ) ; for ( var i = 1 ; i < this . _results . length ; i ++ ) this . _results [ i ] . index = g [ i - 1 ] ; this . paste ( a , c , this . _results , f ) } } , fill : function ( a , b , c , d , e , f ) { if ( f = this . getLayer ( f ) , this . copy ( b , c , d , e , f ) , ! ( this . _results . length < 2 ) ) { for ( var g = 1 ; g < this . _results . length ; g ++ ) this . _results [ g ] . index = a ; this . paste ( b , c , this . _results , f ) } } , removeAllLayers : function ( ) { this . layers . length = 0 , this . currentLayer = 0 } , dump : function ( ) { for ( var a = "" , b = [ "" ] , c = 0 ; c < this . layers [ this . currentLayer ] . height ; c ++ ) { for ( var d = 0 ; d < this . layers [ this . currentLayer ] . width ; d ++ ) a += "%c " , b . push ( this . layers [ this . currentLayer ] . data [ c ] [ d ] > 1 ? this . debugMap [ this . layers [ this . currentLayer ] . data [ c ] [ d ] ] ? "background: " + this . debugMap [ this . layers [ this . currentLayer ] . data [ c ] [ d ] ] : "background: #ffffff" : "background: rgb(0, 0, 0)" ) ; a += "\n" } b [ 0 ] = a , console . log . apply ( console , b ) } , destroy : function ( ) { this . removeAllLayers ( ) , this . data = [ ] , this . game = null } } , b . Tilemap . prototype . constructor = b . Tilemap , b . TilemapLayer = function ( a , c , d , e , f ) { this . game = a , this . map = c , this . index = d , this . layer = c . layers [ d ] , this . canvas =
//# sourceMappingURL=phaser.map