2015-08-21 15:25:41 +00:00
/* Phaser v2.4.3 - http://phaser.io - @photonstorm - (c) 2015 Photon Storm Ltd. */
2014-02-28 09:30:53 +00:00
2015-07-23 15:02:45 +00:00
! function ( a ) { if ( "object" == typeof exports ) module . exports = a ( ) ; else { var b ; "undefined" != typeof window ? b = window : "undefined" != typeof global ? b = global : "undefined" != typeof self && ( b = self ) , b . 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 ) { 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 e = a [ 1 ] [ 1 ] - a [ 0 ] [ 1 ] , f = a [ 0 ] [ 0 ] - a [ 1 ] [ 0 ] , g = e * a [ 0 ] [ 0 ] + f * a [ 0 ] [ 1 ] , h = b [ 1 ] [ 1 ] - b [ 0 ] [ 1 ] , i = b [ 0 ] [ 0 ] - b [ 1 ] [ 0 ] , j = h * b [ 0 ] [ 0 ] + i * b [ 0 ] [ 1 ] , k = e * i - h * f , d . eq ( k , 0 , c ) || ( l [ 0 ] = ( i * g - f * j ) / k , l [ 1 ] = ( e * j - h * g ) / k ) , l } , c . segmentsIntersect = function ( a , b , c , d ) { var e = b [ 0 ] - a [ 0 ] , f = b [ 1 ] - a [ 1 ] , g = d [ 0 ] - c [ 0 ] , h = d [ 1 ] - c [ 1 ] ; if ( g * f - h * e == 0 ) return ! 1 ; var i = ( e * ( c [ 1 ] - a [ 1 ] ) + f * ( a [ 0 ] - c [ 0 ] ) ) / ( g * f - h * e ) , j = ( g * ( a [ 1 ] - c [ 1 ] ) + h * ( c [ 0 ] - a [ 0 ] ) ) / ( h * e - g * f ) ; return i >= 0 && 1 >= i && j >= 0 && 1 >= j } } , { "./Scalar" : 4 } ] , 2 : [ function ( a , b ) { function c ( ) { } b . exports = c , c . area = function ( a , b , c ) { return ( b [ 0 ] - a [ 0 ] ) * ( c [ 1 ] - a [ 1 ] ) - ( c [ 0 ] - a [ 0 ] ) * ( b [ 1 ] - a [ 1 ] ) } , c . left = function ( a , b , d ) { return c . area ( a , b , d ) > 0 } , c . leftOn = function ( a , b , d ) { return c . area ( a , b , d ) >= 0 } , c . right = function ( a , b , d ) { return c . area ( a , b , d ) < 0 } , c . rightOn = function ( a , b , d ) { return c . area ( a , b , d ) <= 0 } ; var d = [ ] , e = [ ] ; c . collinear = function ( a , b , f , g ) { if ( g ) { var h = d , i = e ; h [ 0 ] = b [ 0 ] - a [ 0 ] , h [ 1 ] = b [ 1 ] - a [ 1 ] , i [ 0 ] = f [ 0 ] - b [ 0 ] , i [ 1 ] = f [ 1 ] - b [ 1 ] ; var j = h [ 0 ] * i [ 0 ] + h [ 1 ] * i [ 1 ] , k = Math . sqrt ( h [ 0 ] * h [ 0 ] + h [ 1 ] * h [ 1 ] ) , l = Math . sqrt ( i [ 0 ] * i [ 0 ] + i [ 1 ] * i [ 1 ] ) , m = Math . acos ( j / ( k * l ) ) ; return g > m } return 0 == c . area ( a , b , f ) } , c . sqdist = function ( a , b ) { var c = b [ 0 ] - a [ 0 ] , d = b [ 1 ] - a [ 1 ] ; return c * c + d * d } } , { } ] , 3 : [ function ( a , b ) { function c ( ) { this . vertices = [ ] } function d ( a , b , c , d , e ) { e = e || 0 ; var f = b [ 1 ] - a [ 1 ] , h = a [ 0 ] - b [ 0 ] , i = f * a [ 0 ] + h * a [ 1 ] , j = d [ 1 ] - c [ 1 ] , k = c [ 0 ] - d [ 0 ] , l = j * c [ 0 ] + k * c [ 1 ] , m = f * k - j * h ; return g . eq ( m , 0 , e ) ? [ 0 , 0 ] : [ ( k * i - h * l ) / m , ( f * l - j * i ) / m ] } var e = a ( "./Line" ) , f = a ( "./Point" ) , g = a ( "./Scalar" ) ; b . exports = c , c . prototype . at = function ( a ) { var b = this . vertices , c = b . length ; return b [ 0 > a ? a % c + c : a % c ] } , c . prototype . first = function ( ) { return this . vertices [ 0 ] } , c . prototype . last = function ( ) { return this . vertices [ this . vertices . length - 1 ] } , c . prototype . clear = function ( ) { this . vertices . length = 0 } , c . prototype . append = function ( a , b , c ) { if ( "undefined" == typeof b ) throw new Error ( "From is not given!" ) ; if ( "undefined" == typeof c ) throw new Error ( "To is not given!" ) ; if ( b > c - 1 ) throw new Error ( "lol1" ) ; if ( c > a . vertices . length ) throw new Error ( "lol2" ) ; if ( 0 > b ) throw new Error ( "lol3" ) ; for ( var d = b ; c > d ; d ++ ) this . vertices . push ( a . vertices [ d ] ) } , c . prototype . makeCCW = function ( ) { for ( var a = 0 , b = this . vertices , c = 1 ; c < this . vertices . length ; ++ c ) ( b [ c ] [ 1 ] < b [ a ] [ 1 ] || b [ c ] [ 1 ] == b [ a ] [ 1 ] && b [ c ] [ 0 ] > b [ a ] [ 0 ] ) && ( a = c ) ; f . left ( this . at ( a - 1 ) , this . at ( a ) , this . at ( a + 1 ) ) || this . reverse ( ) } , c . prototype . reverse = function ( ) { for ( var a = [ ] , b = 0 , c = this . vertices . length ; b !== c ; b ++ ) a . push ( this . vertices . pop ( ) ) ; this . vertices = a } , c . prototype . isReflex = function ( a ) { return f . right ( this . at ( a - 1 ) , this . at ( a ) , this . at ( a + 1 ) ) } ; var h = [ ] , i = [ ] ; c . prototype . canSee = function ( a , b ) { var c , d , g = h , j = i ; if ( f . leftOn ( this . at ( a + 1 ) , this . at ( a ) , this . at ( b ) ) && f . rightOn ( this . at ( a - 1 ) , this . at ( a ) , this . at ( b ) ) ) return ! 1 ; d = f . sqdist ( this . at ( a ) , this . at ( b ) ) ; for ( var k = 0 ; k !== this . vertices . length ; ++ k ) if ( ( k + 1 ) % this . vertices . length !== a && k !== a && f . leftOn ( this . at ( a ) , this . at ( b ) , this . at ( k + 1 ) ) && f . rightOn ( this . at ( a ) , this . at ( b ) , this . at ( k ) ) && ( g [ 0 ] = this . at ( a ) , g [ 1 ] = this . at ( b ) , j [ 0 ] = this . at ( k ) , j [ 1 ] = this . at ( k + 1 ) , c = e . lineInt ( g , j ) , f . sqdist ( this . at ( a ) , c ) < d ) ) return ! 1 ; return ! 0 } , c . prototype . copy = function ( a , b , d ) { var e = d || new c ; if ( e . clear ( ) , b > a ) for ( var f = a ; b >= f ; f ++ ) e . vertices . push ( this . vertices [ f ] ) ; else { for ( var f = 0 ; b >= f ; f ++ ) e . vertices . push ( this . vertices [ f ] ) ; for ( var f = a ; f < this . vertices . length ; f ++ ) e . vertices . push ( this . vertices [ f ] ) } return e } , c . prototype . getCutEdges = function ( ) { for ( var a = [ ] , b = [ ] , d = [ ] , e = new c , f = Number . MAX _VALUE , g = 0 ; g < this . vertices . length ; ++ g ) if ( this . isReflex ( g ) ) for ( var h = 0 ; h < this . vertices . length ; ++ h ) if ( this . canSee ( g , h ) ) { b = this . co
f . copy ( D . normalA , p ) , f . normalize ( D . normalA , D . normalA ) , f . scale ( D . contactPointB , D . normalA , - m ) , h ( D . contactPointB , D . contactPointB , c ) , g ( D . contactPointB , D . contactPointB , a . position ) , g ( D . contactPointA , u , j ) , h ( D . contactPointA , D . contactPointA , j ) , g ( D . contactPointA , D . contactPointA , e . position ) , this . contactEquations . push ( D ) , this . enableFriction && this . frictionEquations . push ( this . createFrictionFromContact ( D ) ) } return B ? 1 : 0 } ; var ob = f . create ( ) , pb = f . create ( ) , qb = f . create ( ) , rb = new o ( { vertices : [ f . create ( ) , f . create ( ) , f . create ( ) , f . create ( ) ] } ) ; c . prototype [ p . BOX | p . HEIGHTFIELD ] = c . prototype [ p . CONVEX | p . HEIGHTFIELD ] = c . prototype . convexHeightfield = function ( a , b , c , d , e , g , h , i , j ) { var k = g . heights , l = g . elementWidth , m = ob , n = pb , o = qb , p = rb , q = Math . floor ( ( a . aabb . lowerBound [ 0 ] - h [ 0 ] ) / l ) , r = Math . ceil ( ( a . aabb . upperBound [ 0 ] - h [ 0 ] ) / l ) ; 0 > q && ( q = 0 ) , r >= k . length && ( r = k . length - 1 ) ; for ( var s = k [ q ] , t = k [ r ] , u = q ; r > u ; u ++ ) k [ u ] < t && ( t = k [ u ] ) , k [ u ] > s && ( s = k [ u ] ) ; if ( a . aabb . lowerBound [ 1 ] > s ) return j ? ! 1 : 0 ; for ( var v = 0 , u = q ; r > u ; u ++ ) { f . set ( m , u * l , k [ u ] ) , f . set ( n , ( u + 1 ) * l , k [ u + 1 ] ) , f . add ( m , m , h ) , f . add ( n , n , h ) ; var w = 100 ; f . set ( o , . 5 * ( n [ 0 ] + m [ 0 ] ) , . 5 * ( n [ 1 ] + m [ 1 ] - w ) ) , f . sub ( p . vertices [ 0 ] , n , o ) , f . sub ( p . vertices [ 1 ] , m , o ) , f . copy ( p . vertices [ 2 ] , p . vertices [ 1 ] ) , f . copy ( p . vertices [ 3 ] , p . vertices [ 0 ] ) , p . vertices [ 2 ] [ 1 ] -= w , p . vertices [ 3 ] [ 1 ] -= w , v += this . convexConvex ( a , b , c , d , e , p , o , 0 , j ) } return v } } , { "../equations/ContactEquation" : 21 , "../equations/Equation" : 22 , "../equations/FrictionEquation" : 23 , "../math/vec2" : 30 , "../objects/Body" : 31 , "../shapes/Box" : 37 , "../shapes/Circle" : 39 , "../shapes/Convex" : 40 , "../shapes/Shape" : 45 , "../utils/ContactEquationPool" : 48 , "../utils/FrictionEquationPool" : 49 , "../utils/TupleDictionary" : 56 , "../utils/Utils" : 57 } ] , 11 : [ function ( a , b ) { function c ( a ) { a = a || { } , this . from = a . from ? e . fromValues ( a . from [ 0 ] , a . from [ 1 ] ) : e . create ( ) , this . to = a . to ? e . fromValues ( a . to [ 0 ] , a . to [ 1 ] ) : e . create ( ) , this . checkCollisionResponse = void 0 !== a . checkCollisionResponse ? a . checkCollisionResponse : ! 0 , this . skipBackfaces = ! ! a . skipBackfaces , this . collisionMask = void 0 !== a . collisionMask ? a . collisionMask : - 1 , this . collisionGroup = void 0 !== a . collisionGroup ? a . collisionGroup : - 1 , this . mode = void 0 !== a . mode ? a . mode : c . ANY , this . callback = a . callback || function ( ) { } , this . direction = e . create ( ) , this . length = 1 , this . update ( ) } function d ( a , b , c ) { e . sub ( g , c , a ) ; var d = e . dot ( g , b ) ; return e . scale ( h , b , d ) , e . add ( h , h , a ) , e . squaredDistance ( c , h ) } b . exports = c ; { var e = a ( "../math/vec2" ) ; a ( "../collision/RaycastResult" ) , a ( "../shapes/Shape" ) , a ( "../collision/AABB" ) } c . prototype . constructor = c , c . CLOSEST = 1 , c . ANY = 2 , c . ALL = 4 , c . prototype . update = function ( ) { var a = this . direction ; e . sub ( a , this . to , this . from ) , this . length = e . length ( a ) , e . normalize ( a , a ) } , c . prototype . intersectBodies = function ( a , b ) { for ( var c = 0 , d = b . length ; ! a . shouldStop ( this ) && d > c ; c ++ ) { var e = b [ c ] , f = e . getAABB ( ) ; ( f . overlapsRay ( this ) >= 0 || f . containsPoint ( this . from ) ) && this . intersectBody ( a , e ) } } ; var f = e . create ( ) ; c . prototype . intersectBody = function ( a , b ) { var c = this . checkCollisionResponse ; if ( ! c || b . collisionResponse ) for ( var d = f , g = 0 , h = b . shapes . length ; h > g ; g ++ ) { var i = b . shapes [ g ] ; if ( ( ! c || i . collisionResponse ) && 0 !== ( this . collisionGroup & i . collisionMask ) && 0 !== ( i . collisionGroup & this . collisionMask ) ) { e . rotate ( d , i . position , b . angle ) , e . add ( d , d , b . position ) ; var j = i . angle + b . angle ; if ( this . intersectShape ( a , i , j , d , b ) , a . shouldStop ( this ) ) break } } } , c . prototype . intersectShape = function ( a , b , c , e , f ) { var g = this . from , h = d ( g , this . direction , e ) ; h > b . boundingRadius * b . boundingRadius || ( this . _currentBody = f , this . _currentShape = b , b . raycast ( a , this , e , c ) , this . _currentBody = this . _currentShape = null ) } , c . prototype . getAABB = function ( a ) { var b = this . to , c = this . from ; e . set ( a . lowerBound , Math . min ( b [ 0 ] , c [ 0 ] ) , Math . min ( b [ 1 ] , c [ 1 ] ) ) , e . set ( a . upperBound , Math . max ( b [ 0 ] , c [ 0 ] ) , Math . max ( b [ 1 ] , c [ 1 ] ) ) } ; e . create ( ) ; c . prototype . reportIntersection = function ( a , b , d , f ) { var g = ( this . from , this . to , this . _currentShape ) , h = this . _currentBody ; if ( ! ( this . skipBackfaces && e . dot ( d , this . direction ) > 0 ) ) switch ( this . mode ) { case c . ALL : a . set ( d , g , h , b , f ) , this . callback ( a ) ; break ; case c . CLOSEST : ( b < a . fraction || ! a . hasHit ( ) ) && a . set ( d , g , h , b , f ) ; break ; case c . ANY : a . set ( d , g , h , b , f ) } } ; var g = e . create ( ) , h = e . create ( ) } , { "../collision/AABB" : 7 , "../collision/RaycastResult" : 12 , "../math/vec2" : 30 , "../shapes/Shape" : 45 } ] , 12 : [ function
} var d = a ( "../math/vec2" ) , e = a ( "poly-decomp" ) , f = a ( "../shapes/Convex" ) , g = a ( "../collision/RaycastResult" ) , h = a ( "../collision/Ray" ) , i = a ( "../collision/AABB" ) , j = a ( "../events/EventEmitter" ) ; b . exports = c , c . prototype = new j , c . prototype . constructor = c , c . _idCounter = 0 , c . prototype . updateSolveMassProperties = function ( ) { this . sleepState === c . SLEEPING || this . type === c . KINEMATIC ? ( this . invMassSolve = 0 , this . invInertiaSolve = 0 ) : ( this . invMassSolve = this . invMass , this . invInertiaSolve = this . invInertia ) } , 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 } , c . prototype . getAABB = function ( ) { return this . aabbNeedsUpdate && this . updateAABB ( ) , this . aabb } ; var k = new i , l = d . create ( ) ; c . prototype . updateAABB = function ( ) { for ( var a = this . shapes , b = a . length , c = l , e = this . angle , f = 0 ; f !== b ; f ++ ) { var g = a [ f ] , h = g . angle + e ; d . rotate ( c , g . position , e ) , d . add ( c , c , this . position ) , g . computeAABB ( k , c , h ) , 0 === f ? this . aabb . copy ( k ) : this . aabb . extend ( k ) } this . aabbNeedsUpdate = ! 1 } , c . prototype . updateBoundingRadius = function ( ) { for ( var a = this . shapes , b = a . length , c = 0 , e = 0 ; e !== b ; e ++ ) { var f = a [ e ] , g = d . length ( f . position ) , h = f . boundingRadius ; g + h > c && ( c = g + h ) } this . boundingRadius = c } , c . prototype . addShape = function ( a , b , c ) { if ( a . body ) throw new Error ( "A shape can only be added to one body." ) ; a . body = this , b ? d . copy ( a . position , b ) : d . set ( a . position , 0 , 0 ) , a . angle = c || 0 , this . shapes . push ( a ) , 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 . aabbNeedsUpdate = ! 0 , a . body = null , ! 0 ) : ! 1 } , c . prototype . updateMassProperties = function ( ) { if ( this . type === c . STATIC || this . type === 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 ( h . position ) , j = h . computeMomentOfInertia ( e ) ; f += j + e * i } this . inertia = f , this . invInertia = f > 0 ? 1 / f : 0 } this . invMass = 1 / this . mass , d . set ( this . massMultiplier , this . fixedX ? 0 : 1 , this . fixedY ? 0 : 1 ) } } ; d . create ( ) ; c . prototype . applyForce = function ( a , b ) { if ( d . add ( this . force , this . force , a ) , b ) { var c = d . crossLength ( b , a ) ; this . angularForce += c } } ; var m = d . create ( ) , n = d . create ( ) , o = d . create ( ) ; c . prototype . applyForceLocal = function ( a , b ) { b = b || o ; var c = m , d = n ; this . vectorToWorldFrame ( c , a ) , this . vectorToWorldFrame ( d , b ) , this . applyForce ( c , d ) } ; var p = d . create ( ) ; c . prototype . applyImpulse = function ( a , b ) { if ( this . type === c . DYNAMIC ) { var e = p ; if ( d . scale ( e , a , this . invMass ) , d . multiply ( e , this . massMultiplier , e ) , d . add ( this . velocity , e , this . velocity ) , b ) { var f = d . crossLength ( b , a ) ; f *= this . invInertia , this . angularVelocity += f } } } ; var q = d . create ( ) , r = d . create ( ) , s = d . create ( ) ; c . prototype . applyImpulseLocal = function ( a , b ) { b = b || s ; var c = q , d = r ; this . vectorToWorldFrame ( c , a ) , this . vectorToWorldFrame ( d , b ) , this . applyImpulse ( c , d ) } , c . prototype . toLocalFrame = function ( a , b ) { d . toLocalFrame ( a , b , this . position , this . angle ) } , c . prototype . toWorldFrame = function ( a , b ) { d . toGlobalFrame ( a , b , this . position , this . angle ) } , c . prototype . vectorToLocalFrame = function ( a , b ) { d . vectorToLocalFrame ( a , b , this . angle ) } , c . prototype . vectorToWorldFrame = function ( a , b ) { d . vectorToGlobalFrame ( a , b , this . angle ) } , c . prototype . fromPolygon = function ( a , b ) { b = b || { } ; for ( var c = this . shapes . length ; c >= 0 ; -- c ) this . removeShape ( this . shapes [ c ] ) ; var g = new e . Polygon ; if ( g . vertices = a , g . makeCCW ( ) , "number" == typeof b . removeCollinearPoints && g . removeCollinearPoints ( b . removeCollinearPoints ) , "undefined" == typeof b . skipSimpleCheck && ! g . isSimple ( ) ) return ! 1 ; this . concavePath = g . vertices . slice ( 0 ) ; for ( var c = 0 ; c < this . concavePath . length ; c ++ ) { var h = [ 0 , 0 ] ; d . copy ( h , this . concavePath [ c ] ) , this . concavePath [ c ] = h } var i ; i = b . optimalDecomp ? g . decomp ( ) : g . quickDecomp ( ) ; for ( var j = d . create ( ) , c = 0 ; c !== i . length ; c ++ ) { for ( var k = new f ( { vertices : i [ c ] . vertices } ) , l = 0 ; l !== k . vertices . length ; l ++ ) { var h = k . vertices [ l ] ; d . sub ( h , h , k . centerOfMass ) } d . scale ( j , k . centerOfMass , 1 ) , k . updateTriangles ( ) , k . updateCenterOfMass ( ) , k . updateBoundingRadius ( ) , this . addShape ( k ,
2015-08-24 12:55:00 +00:00
for ( var t = this . invCs , u = this . Bs , q = this . lambda , r = 0 ; r !== k . length ; r ++ ) { var v = k [ r ] ; ( v . timeStep !== a || v . needsUpdate ) && ( v . timeStep = a , v . update ( ) ) , u [ r ] = v . computeB ( v . a , v . b , a ) , t [ r ] = v . computeInvC ( v . epsilon ) } var v , w , r , x ; if ( 0 !== l ) { for ( r = 0 ; r !== o ; r ++ ) { var s = n [ r ] ; s . resetConstraintVelocity ( ) } if ( j ) { for ( f = 0 ; f !== j ; f ++ ) { for ( w = 0 , x = 0 ; x !== l ; x ++ ) { v = k [ x ] ; var y = c . iterateEquation ( x , v , v . epsilon , u , t , q , p , a , f ) ; w += Math . abs ( y ) } if ( this . usedIterations ++ , m >= w * w ) break } for ( c . updateMultipliers ( k , q , 1 / a ) , x = 0 ; x !== l ; x ++ ) { var z = k [ x ] ; if ( z instanceof h ) { for ( var A = 0 , B = 0 ; B !== z . contactEquations . length ; B ++ ) A += z . contactEquations [ B ] . multiplier ; A *= z . frictionCoefficient / z . contactEquations . length , z . maxForce = A , z . minForce = - A } } } for ( f = 0 ; f !== i ; f ++ ) { for ( w = 0 , x = 0 ; x !== l ; x ++ ) { v = k [ x ] ; var y = c . iterateEquation ( x , v , v . epsilon , u , t , q , p , a , f ) ; w += Math . abs ( y ) } if ( this . usedIterations ++ , m >= w * w ) break } for ( r = 0 ; r !== o ; r ++ ) n [ r ] . addConstraintVelocity ( ) ; c . updateMultipliers ( k , q , 1 / a ) } } , c . updateMultipliers = function ( a , b , c ) { for ( var d = a . length ; d -- ; ) a [ d ] . multiplier = b [ d ] * c } , c . iterateEquation = function ( a , b , c , d , e , f , g , h ) { var i = d [ a ] , j = e [ a ] , k = f [ a ] , l = b . computeGWlambda ( ) , m = b . maxForce , n = b . minForce ; g && ( i = 0 ) ; var o = j * ( i - l - c * k ) , p = k + o ; return n * h > p ? o = n * h - k : p > m * h && ( o = m * h - k ) , f [ a ] += o , b . addToWlambda ( o ) , o } } , { "../equations/FrictionEquation" : 23 , "../math/vec2" : 30 , "../utils/Utils" : 57 , "./Solver" : 47 } ] , 47 : [ function ( a , b ) { function c ( a , b ) { a = a || { } , d . call ( this ) , this . type = b , this . equations = [ ] , this . equationSortFunction = a . equationSortFunction || ! 1 } var d = ( a ( "../utils/Utils" ) , a ( "../events/EventEmitter" ) ) ; b . exports = c , c . prototype = new d , c . prototype . constructor = c , c . prototype . solve = function ( ) { throw new Error ( "Solver.solve should be implemented by subclasses!" ) } ; var e = { bodies : [ ] } ; c . prototype . solveIsland = function ( a , b ) { this . removeAllEquations ( ) , b . equations . length && ( this . addEquations ( b . equations ) , e . bodies . length = 0 , b . getBodies ( e . bodies ) , e . bodies . length && this . solve ( a , e ) ) } , c . prototype . sortEquations = function ( ) { this . equationSortFunction && this . equations . sort ( this . equationSortFunction ) } , c . prototype . addEquation = function ( a ) { a . enabled && this . equations . push ( a ) } , c . prototype . addEquations = function ( a ) { for ( var b = 0 , c = a . length ; b !== c ; b ++ ) { var d = a [ b ] ; d . enabled && this . equations . push ( d ) } } , c . prototype . removeEquation = function ( a ) { var b = this . equations . indexOf ( a ) ; - 1 !== b && this . equations . splice ( b , 1 ) } , c . prototype . removeAllEquations = function ( ) { this . equations . length = 0 } , c . GS = 1 , c . ISLAND = 2 } , { "../events/EventEmitter" : 26 , "../utils/Utils" : 57 } ] , 48 : [ function ( a , b ) { function c ( ) { e . apply ( this , arguments ) } var d = a ( "../equations/ContactEquation" ) , e = a ( "./Pool" ) ; b . exports = c , c . prototype = new e , c . prototype . constructor = c , c . prototype . create = function ( ) { return new d } , c . prototype . destroy = function ( a ) { return a . bodyA = a . bodyB = null , this } } , { "../equations/ContactEquation" : 21 , "./Pool" : 55 } ] , 49 : [ function ( a , b ) { function c ( ) { e . apply ( this , arguments ) } var d = a ( "../equations/FrictionEquation" ) , e = a ( "./Pool" ) ; b . exports = c , c . prototype = new e , c . prototype . constructor = c , c . prototype . create = function ( ) { return new d } , c . prototype . destroy = function ( a ) { return a . bodyA = a . bodyB = null , this } } , { "../equations/FrictionEquation" : 23 , "./Pool" : 55 } ] , 50 : [ function ( a , b ) { function c ( ) { e . apply ( this , arguments ) } var d = a ( "../world/IslandNode" ) , e = a ( "./Pool" ) ; b . exports = c , c . prototype = new e , c . prototype . constructor = c , c . prototype . create = function ( ) { return new d } , c . prototype . destroy = function ( a ) { return a . reset ( ) , this } } , { "../world/IslandNode" : 60 , "./Pool" : 55 } ] , 51 : [ function ( a , b ) { function c ( ) { e . apply ( this , arguments ) } var d = a ( "../world/Island" ) , e = a ( "./Pool" ) ; b . exports = c , c . prototype = new e , c . prototype . constructor = c , c . prototype . create = function ( ) { return new d } , c . prototype . destroy = function ( a ) { return a . reset ( ) , this } } , { "../world/Island" : 58 , "./Pool" : 55 } ] , 52 : [ function ( a , b ) { function c ( ) { this . overlappingShapesLastState = new d , this . overlappingShapesCurrentState = new d , this . recordPool = new e ( { size : 16 } ) , this . tmpDict = new d , this . tmpArray1 = [ ] } { var d = a ( "./TupleDictionary" ) , e = ( a ( "./OverlapKeeperRecord" ) , a ( "./OverlapKeeperRecordPool" ) ) ; a ( "./Utils" ) } b . exports = c , c . prototype . tick = function ( ) { for ( var a = this . overlappingShapesLastState , b = this . overlappingShapesCurrentState , c = a . keys . length ; c -- ; ) { { var d = a . keys [ c ] , e = a . getByKey (
return this . children [ a ] } , b . DisplayObjectContainer . prototype . removeChild = function ( a ) { var b = this . children . indexOf ( a ) ; if ( - 1 !== b ) return this . removeChildAt ( b ) } , b . DisplayObjectContainer . prototype . removeChildAt = function ( a ) { var b = this . getChildAt ( a ) ; return this . stage && b . removeStageReference ( ) , b . parent = void 0 , this . children . splice ( a , 1 ) , b } , b . DisplayObjectContainer . prototype . removeChildren = function ( a , b ) { var c = a || 0 , d = "number" == typeof b ? b : this . children . length , e = d - c ; if ( e > 0 && d >= e ) { for ( var f = this . children . splice ( c , e ) , g = 0 ; g < f . length ; g ++ ) { var h = f [ g ] ; this . stage && h . removeStageReference ( ) , h . parent = void 0 } return f } if ( 0 === e && 0 === this . children . length ) return [ ] ; throw new Error ( "removeChildren: Range Error, numeric values are outside the acceptable range" ) } , b . DisplayObjectContainer . prototype . updateTransform = function ( ) { if ( this . visible && ( this . displayObjectUpdateTransform ( ) , ! this . _cacheAsBitmap ) ) for ( var a = 0 ; a < this . children . length ; a ++ ) this . children [ a ] . updateTransform ( ) } , b . DisplayObjectContainer . prototype . displayObjectContainerUpdateTransform = b . DisplayObjectContainer . prototype . updateTransform , b . DisplayObjectContainer . prototype . getBounds = function ( ) { if ( 0 === this . children . length ) return b . EmptyRectangle ; for ( var a , c , d , e = 1 / 0 , f = 1 / 0 , g = - 1 / 0 , h = - 1 / 0 , i = ! 1 , j = 0 , k = this . children . length ; k > j ; j ++ ) { var l = this . children [ j ] ; l . visible && ( i = ! 0 , a = this . children [ j ] . getBounds ( ) , e = e < a . x ? e : a . x , f = f < a . y ? f : a . y , c = a . width + a . x , d = a . height + a . y , g = g > c ? g : c , h = h > d ? h : d ) } if ( ! i ) return b . EmptyRectangle ; var m = this . _bounds ; return m . x = e , m . y = f , m . width = g - e , m . height = h - f , m } , b . DisplayObjectContainer . prototype . getLocalBounds = function ( ) { var a = this . worldTransform ; this . worldTransform = b . identityMatrix ; for ( var c = 0 , d = this . children . length ; d > c ; c ++ ) this . children [ c ] . updateTransform ( ) ; var e = this . getBounds ( ) ; return this . worldTransform = a , e } , b . DisplayObjectContainer . prototype . setStageReference = function ( a ) { this . stage = a ; for ( var b = 0 ; b < this . children . length ; b ++ ) this . children [ b ] . setStageReference ( a ) } , b . DisplayObjectContainer . prototype . removeStageReference = function ( ) { for ( var a = 0 ; a < this . children . length ; a ++ ) this . children [ a ] . removeStageReference ( ) ; this . stage = null } , b . DisplayObjectContainer . prototype . _renderWebGL = function ( a ) { if ( this . visible && ! ( this . alpha <= 0 ) ) { if ( this . _cacheAsBitmap ) return void this . _renderCachedSprite ( a ) ; var b ; if ( this . _mask || this . _filters ) { for ( this . _filters && ( a . spriteBatch . flush ( ) , a . filterManager . pushFilter ( this . _filterBlock ) ) , this . _mask && ( a . spriteBatch . stop ( ) , a . maskManager . pushMask ( this . mask , a ) , a . spriteBatch . start ( ) ) , b = 0 ; b < this . children . length ; b ++ ) this . children [ b ] . _renderWebGL ( a ) ; a . spriteBatch . stop ( ) , this . _mask && a . maskManager . popMask ( this . _mask , a ) , this . _filters && a . filterManager . popFilter ( ) , a . spriteBatch . start ( ) } else for ( b = 0 ; b < this . children . length ; b ++ ) this . children [ b ] . _renderWebGL ( a ) } } , b . DisplayObjectContainer . prototype . _renderCanvas = function ( a ) { if ( this . visible !== ! 1 && 0 !== this . alpha ) { if ( this . _cacheAsBitmap ) return void this . _renderCachedSprite ( a ) ; this . _mask && a . maskManager . pushMask ( this . _mask , a ) ; for ( var b = 0 ; b < this . children . length ; b ++ ) this . children [ b ] . _renderCanvas ( a ) ; this . _mask && a . maskManager . popMask ( a ) } } , b . Sprite = function ( a ) { b . DisplayObjectContainer . call ( this ) , this . anchor = new b . Point , this . texture = a || b . Texture . emptyTexture , this . _width = 0 , this . _height = 0 , this . tint = 16777215 , this . cachedTint = - 1 , this . tintedTexture = null , this . blendMode = b . blendModes . NORMAL , this . shader = null , this . texture . baseTexture . hasLoaded && this . onTextureUpdate ( ) , this . renderable = ! 0 } , b . Sprite . prototype = Object . create ( b . DisplayObjectContainer . prototype ) , b . Sprite . prototype . constructor = b . Sprite , Object . defineProperty ( b . Sprite . prototype , "width" , { get : function ( ) { return this . scale . x * this . texture . frame . width } , set : function ( a ) { this . scale . x = a / this . texture . frame . width , this . _width = a } } ) , Object . defineProperty ( b . Sprite . prototype , "height" , { get : function ( ) { return this . scale . y * this . texture . frame . height } , set : function ( a ) { this . scale . y = a / this . texture . frame . height , this . _height = a } } ) , b . Sprite . prototype . setTexture = function ( a , b ) { void 0 !== b && this . texture . baseTexture . destroy ( ) , this . texture = a , this . texture . valid = ! 0 } , b . Sprite . prototype . onTextureUpdate = function ( ) { this . _width && ( this . scale . x = this . _width /
} , b . glContexts = [ ] , b . instances = [ ] , b . WebGLRenderer = function ( a , c , d ) { if ( d ) for ( var e in b . defaultRenderOptions ) void 0 === d [ e ] && ( d [ e ] = b . defaultRenderOptions [ e ] ) ; else d = b . defaultRenderOptions ; b . defaultRenderer || ( b . defaultRenderer = this ) , this . type = b . WEBGL _RENDERER , this . resolution = d . resolution , this . transparent = d . transparent , this . autoResize = d . autoResize || ! 1 , this . preserveDrawingBuffer = d . preserveDrawingBuffer , this . clearBeforeRender = d . clearBeforeRender , this . width = a || 800 , this . height = c || 600 , this . view = d . view || document . createElement ( "canvas" ) , this . _contextOptions = { alpha : this . transparent , antialias : d . antialias , premultipliedAlpha : this . transparent && "notMultiplied" !== this . transparent , stencil : ! 0 , preserveDrawingBuffer : d . preserveDrawingBuffer } , this . projection = new b . Point , this . offset = new b . Point ( 0 , 0 ) , this . shaderManager = new b . WebGLShaderManager , this . spriteBatch = new b . WebGLSpriteBatch , this . maskManager = new b . WebGLMaskManager , this . filterManager = new b . WebGLFilterManager , this . stencilManager = new b . WebGLStencilManager , this . blendModeManager = new b . WebGLBlendModeManager , this . renderSession = { } , this . renderSession . gl = this . gl , this . renderSession . drawCount = 0 , this . renderSession . shaderManager = this . shaderManager , this . renderSession . maskManager = this . maskManager , this . renderSession . filterManager = this . filterManager , this . renderSession . blendModeManager = this . blendModeManager , this . renderSession . spriteBatch = this . spriteBatch , this . renderSession . stencilManager = this . stencilManager , this . renderSession . renderer = this , this . renderSession . resolution = this . resolution , this . initContext ( ) , this . mapBlendModes ( ) } , b . WebGLRenderer . prototype . constructor = b . WebGLRenderer , b . WebGLRenderer . prototype . initContext = function ( ) { var a = this . view . getContext ( "webgl" , this . _contextOptions ) || this . view . getContext ( "experimental-webgl" , this . _contextOptions ) ; if ( this . gl = a , ! a ) throw new Error ( "This browser does not support webGL. Try using the canvas renderer" ) ; this . glContextId = a . id = b . WebGLRenderer . glContextId ++ , b . glContexts [ this . glContextId ] = a , b . instances [ this . glContextId ] = this , a . disable ( a . DEPTH _TEST ) , a . disable ( a . CULL _FACE ) , a . enable ( a . BLEND ) , this . shaderManager . setContext ( a ) , this . spriteBatch . setContext ( a ) , this . maskManager . setContext ( a ) , this . filterManager . setContext ( a ) , this . blendModeManager . setContext ( a ) , this . stencilManager . setContext ( a ) , this . renderSession . gl = this . gl , this . resize ( this . width , this . height ) } , b . WebGLRenderer . prototype . render = function ( a ) { if ( ! this . contextLost ) { this . _ _stage !== a && ( this . _ _stage = a ) , a . updateTransform ( ) ; var b = this . gl ; b . viewport ( 0 , 0 , this . width , this . height ) , b . bindFramebuffer ( b . FRAMEBUFFER , null ) , this . clearBeforeRender && ( this . transparent ? b . clearColor ( 0 , 0 , 0 , 0 ) : b . clearColor ( a . backgroundColorSplit [ 0 ] , a . backgroundColorSplit [ 1 ] , a . backgroundColorSplit [ 2 ] , 1 ) , b . clear ( b . COLOR _BUFFER _BIT ) ) , this . renderDisplayObject ( a , this . projection ) } } , b . WebGLRenderer . prototype . renderDisplayObject = function ( a , c , d , e ) { this . renderSession . blendModeManager . setBlendMode ( b . blendModes . NORMAL ) , this . renderSession . drawCount = 0 , this . renderSession . flipY = d ? - 1 : 1 , this . renderSession . projection = c , this . renderSession . offset = this . offset , this . spriteBatch . begin ( this . renderSession ) , this . filterManager . begin ( this . renderSession , d ) , a . _renderWebGL ( this . renderSession , e ) , this . spriteBatch . end ( ) } , b . WebGLRenderer . prototype . resize = function ( a , b ) { this . width = a * this . resolution , this . height = b * this . resolution , this . view . width = this . width , this . view . height = this . height , this . autoResize && ( this . view . style . width = this . width / this . resolution + "px" , this . view . style . height = this . height / this . resolution + "px" ) , this . gl . viewport ( 0 , 0 , this . width , this . height ) , this . projection . x = this . width / 2 / this . resolution , this . projection . y = - this . height / 2 / this . resolution } , b . WebGLRenderer . prototype . updateTexture = function ( a ) { if ( a . hasLoaded ) { var c = this . gl ; return a . _glTextures [ c . id ] || ( a . _glTextures [ c . id ] = c . createTexture ( ) ) , c . bindTexture ( c . TEXTURE _2D , a . _glTextures [ c . id ] ) , c . pixelStorei ( c . UNPACK _PREMULTIPLY _ALPHA _WEBGL , a . premultipliedAlpha ) , c . texImage2D ( c . TEXTURE _2D , 0 , c . RGBA , c . RGBA , c . UNSIGNED _BYTE , a . source ) , c . texParameteri ( c . TEXTURE _2D , c . TEXTURE _MAG _FILTER , a . scaleMode === b . scaleModes . LINEAR ? c . LINEAR : c . NEAREST ) , a . mipmap && b . isPower
} , b . CanvasTinter . tintWithPerPixel = function ( a , c , d ) { var e = d . getContext ( "2d" ) , f = a . crop ; d . width = f . width , d . height = f . height , e . globalCompositeOperation = "copy" , e . drawImage ( a . baseTexture . source , f . x , f . y , f . width , f . height , 0 , 0 , f . width , f . height ) ; for ( var g = b . hex2rgb ( c ) , h = g [ 0 ] , i = g [ 1 ] , j = g [ 2 ] , k = e . getImageData ( 0 , 0 , f . width , f . height ) , l = k . data , m = 0 ; m < l . length ; m += 4 ) if ( l [ m + 0 ] *= h , l [ m + 1 ] *= i , l [ m + 2 ] *= j , ! b . CanvasTinter . canHandleAlpha ) { var n = l [ m + 3 ] ; l [ m + 0 ] /= 255 / n , l [ m + 1 ] /= 255 / n , l [ m + 2 ] /= 255 / n } e . putImageData ( k , 0 , 0 ) } , b . CanvasTinter . checkInverseAlpha = function ( ) { var a = new b . CanvasBuffer ( 2 , 1 ) ; a . context . fillStyle = "rgba(10, 20, 30, 0.5)" , a . context . fillRect ( 0 , 0 , 1 , 1 ) ; var c = a . context . getImageData ( 0 , 0 , 1 , 1 ) ; if ( null === c ) return ! 1 ; a . context . putImageData ( c , 1 , 0 ) ; var d = a . context . getImageData ( 1 , 0 , 1 , 1 ) ; return d . data [ 0 ] === c . data [ 0 ] && d . data [ 1 ] === c . data [ 1 ] && d . data [ 2 ] === c . data [ 2 ] && d . data [ 3 ] === c . data [ 3 ] } , b . CanvasTinter . canHandleAlpha = b . CanvasTinter . checkInverseAlpha ( ) , b . CanvasTinter . canUseMultiply = b . canUseNewCanvasBlendModes ( ) , b . CanvasTinter . tintMethod = b . CanvasTinter . canUseMultiply ? b . CanvasTinter . tintWithMultiply : b . CanvasTinter . tintWithPerPixel , b . CanvasRenderer = function ( a , c , d ) { if ( d ) for ( var e in b . defaultRenderOptions ) void 0 === d [ e ] && ( d [ e ] = b . defaultRenderOptions [ e ] ) ; else d = b . defaultRenderOptions ; b . defaultRenderer || ( b . defaultRenderer = this ) , this . type = b . CANVAS _RENDERER , this . resolution = d . resolution , this . clearBeforeRender = d . clearBeforeRender , this . transparent = d . transparent , this . autoResize = d . autoResize || ! 1 , this . width = a || 800 , this . height = c || 600 , this . width *= this . resolution , this . height *= this . resolution , this . view = d . view || b . CanvasPool . create ( this , this . width , this . height ) , this . context = this . view . getContext ( "2d" , { alpha : this . transparent } ) , this . refresh = ! 0 , this . view . width = this . width * this . resolution , this . view . height = this . height * this . resolution , this . count = 0 , this . maskManager = new b . CanvasMaskManager , this . renderSession = { context : this . context , maskManager : this . maskManager , scaleMode : null , smoothProperty : null , roundPixels : ! 1 } , this . mapBlendModes ( ) , this . resize ( a , c ) , "imageSmoothingEnabled" in this . context ? this . renderSession . smoothProperty = "imageSmoothingEnabled" : "webkitImageSmoothingEnabled" in this . context ? this . renderSession . smoothProperty = "webkitImageSmoothingEnabled" : "mozImageSmoothingEnabled" in this . context ? this . renderSession . smoothProperty = "mozImageSmoothingEnabled" : "oImageSmoothingEnabled" in this . context ? this . renderSession . smoothProperty = "oImageSmoothingEnabled" : "msImageSmoothingEnabled" in this . context && ( this . renderSession . smoothProperty = "msImageSmoothingEnabled" ) } , b . CanvasRenderer . prototype . constructor = b . CanvasRenderer , b . CanvasRenderer . prototype . render = function ( a ) { a . updateTransform ( ) , this . context . setTransform ( 1 , 0 , 0 , 1 , 0 , 0 ) , this . context . globalAlpha = 1 , this . renderSession . currentBlendMode = b . blendModes . NORMAL , this . context . globalCompositeOperation = b . blendModesCanvas [ b . blendModes . NORMAL ] , navigator . isCocoonJS && this . view . screencanvas && ( this . context . fillStyle = "black" , this . context . clear ( ) ) , this . clearBeforeRender && ( this . transparent ? this . context . clearRect ( 0 , 0 , this . width , this . height ) : ( this . context . fillStyle = a . backgroundColorString , this . context . fillRect ( 0 , 0 , this . width , this . height ) ) ) , this . renderDisplayObject ( a ) } , b . CanvasRenderer . prototype . destroy = function ( a ) { void 0 === a && ( a = ! 0 ) , a && this . view . parent && this . view . parent . removeChild ( this . view ) , this . view = null , this . context = null , this . maskManager = null , this . renderSession = null } , b . CanvasRenderer . prototype . resize = function ( a , b ) { this . width = a * this . resolution , this . height = b * this . resolution , this . view . width = this . width , this . view . height = this . height , this . autoResize && ( this . view . style . width = this . width / this . resolution + "px" , this . view . style . height = this . height / this . resolution + "px" ) } , b . CanvasRenderer . prototype . renderDisplayObject = function ( a , b , c ) { this . renderSession . context = b || this . context , this . renderSession . resolution = this . resolution , a . _renderCanvas ( this . renderSession , c ) } , b . CanvasRenderer . prototype . mapBlendModes = function ( ) { b . blendModesCanvas || ( b . blendModesCanvas = [ ] , b . canUseNewCanvasBlendModes ( ) ? ( b . blendModesCanvas [ b . blendModes . NORMAL ] = "source-over" , b . blendModesCanvas [ b . blendModes . ADD ] = "lighter" , b . blendModesC
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 && "object" != typeof window . Uint32Array ) { var d = function ( a ) { var b = new Array ; window [ a ] = function ( a ) { if ( "number" == typeof a ) { Array . call ( this , a ) , this . length = a ; for ( var b = 0 ; b < this . length ; b ++ ) this [ b ] = 0 } else { Array . call ( this , a . length ) , this . length = a . length ; for ( var b = 0 ; b < this . length ; b ++ ) this [ b ] = a [ b ] } } , window [ a ] . prototype = b , window [ a ] . constructor = window [ a ] } ; d ( "Uint32Array" ) , d ( "Int16Array" ) } window . console || ( window . console = { } , window . console . log = window . console . assert = function ( ) { } , window . console . warn = window . console . assert = function ( ) { } ) , c . Utils = { getProperty : function ( a , b ) { for ( var c = b . split ( "." ) , d = c . pop ( ) , e = c . length , f = 1 , g = c [ 0 ] ; e > f && ( a = a [ g ] ) ; ) g = c [ f ] , f ++ ; return a ? a [ d ] : null } , setProperty : function ( a , b , c ) { for ( var d = b . split ( "." ) , e = d . pop ( ) , f = d . length , g = 1 , h = d [ 0 ] ; f > g && ( a = a [ h ] ) ; ) h = d [ g ] , g ++ ; return a && ( a [ e ] = c ) , a } , chanceRoll : function ( a ) { return void 0 === a && ( a = 50 ) , a > 0 && 100 * Math . random ( ) <= a } , randomChoice : function ( a , b ) { return Math . random ( ) < . 5 ? a : b } , 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 } , pad : function ( a , b , c , d ) { if ( void 0 === b ) var b = 0 ; if ( void 0 === c ) var c = " " ; if ( void 0 === 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 , b , 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 ( b in a ) d = h [ b ] , e = a [ b ] , h !== e && ( k && e && ( c . Utils . isPlainObject ( e ) || ( f = Array . isArray ( e ) ) ) ? ( f ? ( f = ! 1 , g = d && Array . isArray ( d ) ? d : [ ] ) : g = d && c . Utils . isPlainObject ( d ) ? d : { } , h [ b ] = c . Utils . extend ( k , g , e ) ) : void 0 !== e && ( h [ b ] = e ) ) ; return h } , mixinPrototype : function ( a , b , c ) { void 0 === c && ( c = ! 1 ) ; for ( var d = Object . keys ( b ) , e = 0 ; e < d . length ; e ++ ) { var f = d [ e ] , g = b [ f ] ; ! c && f in a || ( ! g || "function" != typeof g . get && "function" != typeof g . set ? a [ f ] = g : "function" == typeof g . clone ? a [ f ] = g . clone ( ) : Object . defineProperty ( a , f , g ) ) } } , mixin : function ( a , b ) { if ( ! a || "object" != typeof a ) return b ; for ( var d in a ) { var e = a [ d ] ; if ( ! e . childNodes && ! e . cloneNode ) { var f = typeof a [ d ] ; b [ d ] = a [ d ] && "object" === f ? typeof b [ d ] === f ? c . Utils . mixin ( a [ d ] , b [ d ] ) : c . Utils . mixin ( a [ d ] , new e . constructor ) : a [ d ] } } return b } } , c . Circle = function ( a , b , d ) { a = a || 0 , b = b || 0 , d = d || 0 , this . x = a , this . y = b , this . _diameter = d , this . _radius = 0 , d > 0 && ( this . _radius = . 5 * d ) , this . type = c . CIRCLE } , c . Circle . prototype = { circumference : function ( ) { return 2 * Math . PI * this . _radius } , random : function ( a ) { void 0 === a && ( a = new c . Point ) ; var b = 2 * Math . PI * Math . random ( ) , d = Math . random ( ) + Math . random ( ) , e = d > 1 ? 2 - d : d , f = e * Math . cos ( b ) , g = e * Math . sin ( b ) ; return a . x = this . x + f * this . radius , a . y = this . y + g * this . radius , a } , getBounds : function ( ) { return new c . Rectangle ( this . x - this . radius , this . y - this . radius , this . diameter , this . diameter ) } , 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 , b ) { var d = c . Math . distance ( this . x , this . y , a . x , a . y ) ; return b ? Math . round ( d ) : d } , clone : function ( a ) { return void 0 === a || null === a ? a = new c . Circle ( this . x , this . y , this . diameter ) : a . setTo ( this . x , this . y , this . diameter ) , a } , contains : function ( a , b ) { return c . Circle . contains ( this , a , b ) } , circumferencePoint : function ( a , b , d ) { return c . Circle . circumferencePoint ( this , a , b , 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 + ")}]" } } , c . Circle . prototype . constructor = c . Circle , Ob
2015-08-21 15:25:41 +00:00
} , c . Create . PALETTE _ARNE = 0 , c . Create . PALETTE _JMP = 1 , c . Create . PALETTE _CGA = 2 , c . Create . PALETTE _C64 = 3 , c . Create . PALETTE _JAPANESE _MACHINE = 4 , c . Create . prototype = { texture : function ( a , b , c , d , e ) { void 0 === c && ( c = 8 ) , void 0 === d && ( d = c ) , void 0 === e && ( e = 0 ) ; var f = b [ 0 ] . length * c , g = b . length * d ; this . bmd . resize ( f , g ) , this . bmd . clear ( ) ; for ( var h = 0 ; h < b . length ; h ++ ) for ( var i = b [ h ] , j = 0 ; j < i . length ; j ++ ) { var k = i [ j ] ; "." !== k && " " !== k && ( this . ctx . fillStyle = this . palettes [ e ] [ k ] , this . ctx . fillRect ( j * c , h * d , c , d ) ) } return this . bmd . generateTexture ( a ) } , grid : function ( a , b , c , d , e , f ) { this . bmd . resize ( b , c ) , this . ctx . fillStyle = f ; for ( var g = 0 ; c > g ; g += e ) this . ctx . fillRect ( 0 , g , b , 1 ) ; for ( var h = 0 ; b > h ; h += d ) this . ctx . fillRect ( h , 0 , 1 , c ) ; return this . bmd . generateTexture ( a ) } } , c . Create . prototype . constructor = c . Create , c . State = function ( ) { this . game = null , this . key = "" , this . add = null , this . make = null , this . camera = null , this . cache = null , this . input = null , this . load = null , this . math = null , this . sound = null , this . scale = null , this . stage = null , this . time = null , this . tweens = null , this . world = null , this . particles = null , this . physics = null , this . rnd = null } , c . State . prototype = { init : function ( ) { } , preload : function ( ) { } , loadUpdate : function ( ) { } , loadRender : function ( ) { } , create : function ( ) { } , update : function ( ) { } , preRender : function ( ) { } , render : function ( ) { } , resize : function ( ) { } , paused : function ( ) { } , resumed : function ( ) { } , pauseUpdate : function ( ) { } , shutdown : function ( ) { } } , c . State . prototype . constructor = c . State , c . StateManager = function ( a , b ) { this . game = a , this . states = { } , this . _pendingState = null , "undefined" != typeof b && null !== b && ( this . _pendingState = b ) , this . _clearWorld = ! 1 , this . _clearCache = ! 1 , this . _created = ! 1 , this . _args = [ ] , this . current = "" , this . onStateChange = new c . Signal , this . onInitCallback = null , this . onPreloadCallback = null , this . onCreateCallback = null , this . onUpdateCallback = null , this . onRenderCallback = null , this . onResizeCallback = null , this . onPreRenderCallback = null , this . onLoadUpdateCallback = null , this . onLoadRenderCallback = null , this . onPausedCallback = null , this . onResumedCallback = null , this . onPauseUpdateCallback = null , this . onShutDownCallback = null } , c . StateManager . prototype = { boot : function ( ) { this . game . onPause . add ( this . pause , this ) , this . game . onResume . add ( this . resume , this ) , null !== this . _pendingState && "string" != typeof this . _pendingState && this . add ( "default" , this . _pendingState , ! 0 ) } , add : function ( a , b , d ) { void 0 === d && ( d = ! 1 ) ; var e ; return b instanceof c . State ? e = b : "object" == typeof b ? ( e = b , e . game = this . game ) : "function" == typeof b && ( e = new b ( this . game ) ) , this . states [ a ] = e , d && ( this . game . isBooted ? this . start ( a ) : this . _pendingState = a ) , e } , remove : function ( a ) { this . current === a && ( 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 . onPreRenderCallback = null , this . onRenderCallback = null , this . onResizeCallback = null , this . onPausedCallback = null , this . onResumedCallback = null , this . onPauseUpdateCallback = null ) , delete this . states [ a ] } , start : function ( a , b , c ) { void 0 === b && ( b = ! 0 ) , void 0 === c && ( c = ! 1 ) , this . checkState ( a ) && ( this . _pendingState = a , this . _clearWorld = b , this . _clearCache = c , arguments . length > 3 && ( this . _args = Array . prototype . splice . call ( arguments , 3 ) ) ) } , restart : function ( a , b ) { void 0 === a && ( a = ! 0 ) , void 0 === b && ( b = ! 1 ) , this . _pendingState = this . current , this . _clearWorld = a , this . _clearCache = b , arguments . length > 2 && ( this . _args = Array . prototype . splice . call ( arguments , 2 ) ) } , dummy : function ( ) { } , preUpdate : function ( ) { if ( this . _pendingState && this . game . isBooted ) { var a = this . current ; if ( this . clearCurrentState ( ) , this . setCurrentState ( this . _pendingState ) , this . onStateChange . dispatch ( this . current , a ) , this . current !== this . _pendingState ) return ; this . _pendingState = null , this . onPreloadCallback ? ( this . game . load . reset ( ! 0 ) , this . onPreloadCallback . call ( this . callbackContext , this . game ) , 0 === this . game . load . totalQueuedFiles ( ) && 0 === this . game . load . totalQueuedPacks ( ) ? this . loadComplete ( ) : this . game . load . start ( ) ) : this . loadComplete ( ) } } , clearCurrentState : function ( ) { this . current && ( this . onShutDownCallback && this . onShutDownCallback . call ( this . callbackContext , this . game ) , this . game . tweens . removeAll ( ) , this . game . camera . reset ( ) , this . game . input . reset (
c || ! a . events || a . destroyPhase || a . events . onRemovedFromGroup$dispatch ( a , this ) ; var d = this . removeChild ( a ) ; return this . removeFromHash ( a ) , this . updateZ ( ) , this . cursor === a && this . next ( ) , b && d && d . destroy ( ! 0 ) , ! 0 } , c . Group . prototype . moveAll = function ( a , b ) { if ( void 0 === b && ( b = ! 1 ) , this . children . length > 0 && a instanceof c . Group ) { do a . add ( this . children [ 0 ] , b ) ; while ( this . children . length > 0 ) ; this . hash = [ ] , this . cursor = null } return a } , c . Group . prototype . removeAll = function ( a , b ) { if ( void 0 === a && ( a = ! 1 ) , void 0 === b && ( b = ! 1 ) , 0 !== this . children . length ) { do { ! b && this . children [ 0 ] . events && this . children [ 0 ] . events . onRemovedFromGroup$dispatch ( this . children [ 0 ] , this ) ; var c = this . removeChild ( this . children [ 0 ] ) ; this . removeFromHash ( c ) , a && c && c . destroy ( ! 0 ) } while ( this . children . length > 0 ) ; this . hash = [ ] , this . cursor = null } } , c . Group . prototype . removeBetween = function ( a , b , c , d ) { if ( void 0 === b && ( b = this . children . length - 1 ) , void 0 === c && ( c = ! 1 ) , void 0 === d && ( d = ! 1 ) , 0 !== this . children . length ) { if ( a > b || 0 > a || b > this . children . length ) return ! 1 ; for ( var e = b ; e >= a ; ) { ! d && this . children [ e ] . events && this . children [ e ] . events . onRemovedFromGroup$dispatch ( this . children [ e ] , this ) ; var f = this . removeChild ( this . children [ e ] ) ; this . removeFromHash ( f ) , c && f && f . destroy ( ! 0 ) , this . cursor === this . children [ e ] && ( this . cursor = null ) , e -- } this . updateZ ( ) } } , c . Group . prototype . destroy = function ( a , b ) { null === this . game || this . ignoreDestroy || ( void 0 === a && ( a = ! 0 ) , void 0 === b && ( b = ! 1 ) , this . onDestroy . dispatch ( this , a , b ) , this . removeAll ( a ) , this . cursor = null , this . filters = null , this . pendingDestroy = ! 1 , b || ( this . parent && this . parent . removeChild ( this ) , this . game = null , this . exists = ! 1 ) ) } , Object . defineProperty ( c . Group . prototype , "total" , { get : function ( ) { return this . iterate ( "exists" , ! 0 , c . Group . RETURN _TOTAL ) } } ) , Object . defineProperty ( c . Group . prototype , "length" , { get : function ( ) { return this . children . length } } ) , Object . defineProperty ( c . Group . prototype , "angle" , { get : function ( ) { return c . Math . radToDeg ( this . rotation ) } , set : function ( a ) { this . rotation = c . Math . degToRad ( a ) } } ) , c . World = function ( a ) { c . Group . call ( this , a , null , "__world" , ! 1 ) , this . bounds = new c . Rectangle ( 0 , 0 , a . width , a . height ) , this . camera = null , this . _definedSize = ! 1 , this . _width = a . width , this . _height = a . height , this . game . state . onStateChange . add ( this . stateChange , this ) } , c . World . prototype = Object . create ( c . Group . prototype ) , c . World . prototype . constructor = c . World , c . World . prototype . boot = function ( ) { this . camera = new c . Camera ( this . game , 0 , 0 , 0 , this . game . width , this . game . height ) , this . camera . displayObject = this , this . camera . scale = this . scale , this . game . camera = this . camera , this . game . stage . addChild ( this ) } , c . World . prototype . stateChange = function ( ) { this . x = 0 , this . y = 0 , this . camera . reset ( ) } , c . World . prototype . setBounds = function ( a , b , c , d ) { this . _definedSize = ! 0 , this . _width = c , this . _height = d , this . bounds . setTo ( a , b , c , d ) , this . x = a , this . y = b , this . camera . bounds && this . camera . bounds . setTo ( a , b , Math . max ( c , this . game . width ) , Math . max ( d , this . game . height ) ) , this . game . physics . setBoundsToWorld ( ) } , c . World . prototype . resize = function ( a , b ) { this . _definedSize && ( a < this . _width && ( a = this . _width ) , b < this . _height && ( b = this . _height ) ) , this . bounds . width = a , this . bounds . height = b , this . game . camera . setBoundsToWorld ( ) , this . game . physics . setBoundsToWorld ( ) } , c . World . prototype . shutdown = function ( ) { this . destroy ( ! 0 , ! 0 ) } , c . World . prototype . wrap = function ( a , b , c , d , e ) { void 0 === b && ( b = 0 ) , void 0 === c && ( c = ! 1 ) , void 0 === d && ( d = ! 0 ) , void 0 === e && ( e = ! 0 ) , c ? ( a . getBounds ( ) , d && ( a . x + a . _currentBounds . width < this . bounds . x ? a . x = this . bounds . right : a . x > this . bounds . right && ( a . x = this . bounds . left ) ) , e && ( a . y + a . _currentBounds . height < this . bounds . top ? a . y = this . bounds . bottom : a . y > this . bounds . bottom && ( a . y = this . bounds . top ) ) ) : ( d && a . x + b < this . bounds . x ? a . x = this . bounds . right + b : d && a . x - b > this . bounds . right && ( a . x = this . bounds . left - b ) , e && a . y + b < this . bounds . top ? a . y = this . bounds . bottom + b : e && a . y - b > this . bounds . bottom && ( a . y = this . bounds . top - b ) ) } , Object . defineProperty ( c . World . prototype , "width" , { get : function ( ) { return this . bounds . width } , set : function ( a ) { a < this . game . width && ( a = this . game . width ) , this . bounds . width = a , this . _width = a , this . _definedSize = ! 0 } } ) , Object . defineProperty ( c . World . prototype , "height" , { get : function ( ) { return this . bounds . height } , set : function ( a ) { a < this . game . height && ( a = this . game . height ) , this . bounds .
console . log . apply ( console , f ) } else window . console && console . log ( "Phaser v" + a + " | Pixi.js " + PIXI . VERSION + " | " + b + " | " + d + " | http://phaser.io" ) } } , setUpRenderer : function ( ) { if ( this . canvas = c . Canvas . create ( this , this . width , this . height , this . config . canvasID , ! 0 ) , this . config . canvasStyle ? this . canvas . style = this . config . canvasStyle : this . canvas . style [ "-webkit-full-screen" ] = "width: 100%; height: 100%" , this . device . cocoonJS && ( this . canvas . screencanvas = this . renderType === c . CANVAS ? ! 0 : ! 1 ) , this . renderType === c . HEADLESS || this . renderType === c . CANVAS || this . renderType === c . AUTO && this . device . webGL === ! 1 ) { if ( ! this . device . canvas ) throw new Error ( "Phaser.Game - cannot create Canvas or WebGL context, aborting." ) ; this . renderType === c . AUTO && ( this . renderType = c . CANVAS ) , this . renderer = new PIXI . CanvasRenderer ( this . width , this . height , { view : this . canvas , transparent : this . transparent , resolution : this . resolution , clearBeforeRender : ! 0 } ) , this . context = this . renderer . context } else this . renderType = c . WEBGL , this . renderer = new PIXI . WebGLRenderer ( this . width , this . height , { view : this . canvas , transparent : this . transparent , resolution : this . resolution , antialias : this . antialias , preserveDrawingBuffer : this . preserveDrawingBuffer } ) , this . context = null , this . canvas . addEventListener ( "webglcontextlost" , this . contextLost . bind ( this ) , ! 1 ) , this . canvas . addEventListener ( "webglcontextrestored" , this . contextRestored . bind ( this ) , ! 1 ) ; this . renderType !== c . HEADLESS && ( this . stage . smoothed = this . antialias , c . Canvas . addToDOM ( this . canvas , this . parent , ! 1 ) , c . Canvas . setTouchAction ( this . canvas ) ) } , contextLost : function ( a ) { a . preventDefault ( ) , this . renderer . contextLost = ! 0 } , contextRestored : function ( ) { this . renderer . initContext ( ) , this . cache . clearGLTextures ( ) , this . renderer . contextLost = ! 1 } , update : function ( a ) { if ( this . time . update ( a ) , this . _kickstart ) return this . updateLogic ( 1 / this . time . desiredFps ) , this . stage . updateTransform ( ) , this . updateRender ( this . time . slowMotion * this . time . desiredFps ) , void ( this . _kickstart = ! 1 ) ; if ( this . _spiraling > 1 && ! this . forceSingleUpdate ) this . time . time > this . _nextFpsNotification && ( this . _nextFpsNotification = this . time . time + 1e4 , this . fpsProblemNotifier . dispatch ( ) ) , this . _deltaTime = 0 , this . _spiraling = 0 , this . updateRender ( this . time . slowMotion * this . time . desiredFps ) ; else { var b = 1e3 * this . time . slowMotion / this . time . desiredFps ; this . _deltaTime += Math . max ( Math . min ( 3 * b , this . time . elapsed ) , 0 ) ; var c = 0 ; for ( this . updatesThisFrame = Math . floor ( this . _deltaTime / b ) , this . forceSingleUpdate && ( this . updatesThisFrame = Math . min ( 1 , this . updatesThisFrame ) ) ; this . _deltaTime >= b && ( this . _deltaTime -= b , this . currentUpdateID = c , this . updateLogic ( 1 / this . time . desiredFps ) , this . stage . updateTransform ( ) , c ++ , ! this . forceSingleUpdate || 1 !== c ) ; ) ; c > this . _lastCount ? this . _spiraling ++ : c < this . _lastCount && ( this . _spiraling = 0 ) , this . _lastCount = c , this . updateRender ( this . _deltaTime / b ) } } , updateLogic : function ( a ) { this . _paused || this . pendingStep ? ( this . scale . pauseUpdate ( ) , this . state . pauseUpdate ( ) , this . debug . preUpdate ( ) ) : ( this . stepping && ( this . pendingStep = ! 0 ) , this . scale . preUpdate ( ) , this . debug . preUpdate ( ) , this . world . camera . preUpdate ( ) , this . physics . preUpdate ( ) , this . state . preUpdate ( a ) , this . plugins . preUpdate ( a ) , this . stage . preUpdate ( ) , this . state . update ( ) , this . stage . update ( ) , this . tweens . update ( a ) , this . sound . update ( ) , this . input . update ( ) , this . physics . update ( ) , this . particles . update ( ) , this . plugins . update ( ) , this . stage . postUpdate ( ) , this . plugins . postUpdate ( ) ) } , updateRender : function ( a ) { this . lockRender || ( this . state . preRender ( a ) , this . renderer . render ( this . stage ) , this . plugins . render ( a ) , this . state . render ( a ) , this . plugins . postRender ( a ) ) } , enableStep : function ( ) { this . stepping = ! 0 , this . pendingStep = ! 1 , this . stepCount = 0 } , disableStep : function ( ) { this . stepping = ! 1 , this . pendingStep = ! 1 } , step : function ( ) { this . pendingStep = ! 1 , this . stepCount ++ } , destroy : function ( ) { this . raf . stop ( ) , this . state . destroy ( ) , this . sound . destroy ( ) , this . scale . destroy ( ) , this . stage . destroy ( ) , this . input . destroy ( ) , this . physics . destroy ( ) , this . state = null , this . cache = null , this . input = null , this . load = null , this . sound = null , this . stage = null , this . time = null , this . world = null , this . isBooted = ! 1 , this . renderer . destroy ( ! 1 ) , c . Canvas . removeFromDOM ( this . canvas ) , c . GAMES [ this . id ] = null } , gamePaused : function ( a ) { this . _
} , justPressed : function ( a ) { return a = a || this . game . input . justPressedRate , this . isDown === ! 0 && this . timeDown + a > this . game . time . time } , justReleased : function ( a ) { return a = a || this . game . input . justReleasedRate , this . isUp && this . timeUp + a > this . game . time . time } , addClickTrampoline : function ( a , b , c , d ) { if ( this . isDown ) { for ( var e = this . _clickTrampolines = this . _clickTrampolines || [ ] , f = 0 ; f < e . length ; f ++ ) if ( e [ f ] . name === a ) { e . splice ( f , 1 ) ; break } e . push ( { name : a , targetObject : this . targetObject , callback : b , callbackContext : c , callbackArgs : d } ) } } , processClickTrampolines : function ( ) { var a = this . _clickTrampolines ; if ( a ) { for ( var b = 0 ; b < a . length ; b ++ ) { var c = a [ b ] ; c . targetObject === this . _trampolineTargetObject && c . callback . apply ( c . callbackContext , c . callbackArgs ) } this . _clickTrampolines = null , this . _trampolineTargetObject = null } } , reset : function ( ) { this . isMouse === ! 1 && ( this . active = ! 1 ) , this . pointerId = null , this . identifier = null , this . dirty = ! 1 , this . totalTouches = 0 , this . _holdSent = ! 1 , this . _history . length = 0 , this . _stateReset = ! 0 , this . resetButtons ( ) , this . targetObject && this . targetObject . _releasedHandler ( this ) , this . targetObject = null } , resetMovement : function ( ) { this . movementX = 0 , this . movementY = 0 } } , c . Pointer . prototype . constructor = c . Pointer , Object . defineProperty ( c . Pointer . prototype , "duration" , { get : function ( ) { return this . isUp ? - 1 : this . game . time . time - this . timeDown } } ) , Object . defineProperty ( c . Pointer . prototype , "worldX" , { get : function ( ) { return this . game . world . camera . x + this . x } } ) , Object . defineProperty ( c . Pointer . prototype , "worldY" , { get : function ( ) { return this . game . world . camera . y + this . y } } ) , c . Touch = function ( a ) { this . game = a , this . enabled = ! 0 , this . touchLockCallbacks = [ ] , this . callbackContext = this . game , this . touchStartCallback = null , this . touchMoveCallback = null , this . touchEndCallback = null , this . touchEnterCallback = null , this . touchLeaveCallback = null , this . touchCancelCallback = null , this . preventDefault = ! 0 , this . event = null , this . _onTouchStart = null , this . _onTouchMove = null , this . _onTouchEnd = null , this . _onTouchEnter = null , this . _onTouchLeave = null , this . _onTouchCancel = null , this . _onTouchMove = null } , c . Touch . prototype = { start : function ( ) { if ( null === this . _onTouchStart ) { var a = this ; this . game . device . touch && ( this . _onTouchStart = function ( b ) { return a . onTouchStart ( b ) } , this . _onTouchMove = function ( b ) { return a . onTouchMove ( b ) } , this . _onTouchEnd = function ( b ) { return a . onTouchEnd ( b ) } , this . _onTouchEnter = function ( b ) { return a . onTouchEnter ( b ) } , this . _onTouchLeave = function ( b ) { return a . onTouchLeave ( b ) } , this . _onTouchCancel = function ( b ) { return a . onTouchCancel ( b ) } , this . game . canvas . addEventListener ( "touchstart" , this . _onTouchStart , ! 1 ) , this . game . canvas . addEventListener ( "touchmove" , this . _onTouchMove , ! 1 ) , this . game . canvas . addEventListener ( "touchend" , this . _onTouchEnd , ! 1 ) , this . game . canvas . addEventListener ( "touchcancel" , this . _onTouchCancel , ! 1 ) , this . game . device . cocoonJS || ( this . game . canvas . addEventListener ( "touchenter" , this . _onTouchEnter , ! 1 ) , this . game . canvas . addEventListener ( "touchleave" , this . _onTouchLeave , ! 1 ) ) ) } } , consumeDocumentTouches : function ( ) { this . _documentTouchMove = function ( a ) { a . preventDefault ( ) } , document . addEventListener ( "touchmove" , this . _documentTouchMove , ! 1 ) } , addTouchLockCallback : function ( a , b ) { this . touchLockCallbacks . push ( { callback : a , context : b } ) } , removeTouchLockCallback : function ( a , b ) { for ( var c = this . touchLockCallbacks . length ; c -- ; ) if ( this . touchLockCallbacks [ c ] . callback === a && this . touchLockCallbacks [ c ] . context === b ) return this . touchLockCallbacks . splice ( c , 1 ) , ! 0 ; return ! 1 } , onTouchStart : function ( a ) { for ( var b = this . touchLockCallbacks . length ; b -- ; ) this . touchLockCallbacks [ b ] . callback . call ( this . touchLockCallbacks [ b ] . context , this , a ) && this . touchLockCallbacks . splice ( b , 1 ) ; if ( this . event = a , this . game . input . enabled && this . enabled ) { this . touchStartCallback && this . touchStartCallback . call ( this . callbackContext , a ) , this . preventDefault && a . preventDefault ( ) ; for ( var b = 0 ; b < a . changedTouches . length ; b ++ ) this . game . input . startPointer ( a . changedTouches [ b ] ) } } , onTouchCancel : function ( a ) { if ( this . event = a , this . touchCancelCallback && this . touchCancelCallback . call ( this . callbackContext , a ) , this . game . input . enabled && this . enabled ) { this . preventDefault && a . preventDefault ( ) ; for ( var b = 0 ; b < a . changedTouches . length ; b ++ ) this . game . input . stopPointer ( a . changed
} , downDuration : function ( a ) { return void 0 === a && ( a = 50 ) , this . isDown && this . duration < a } , upDuration : function ( a ) { return void 0 === a && ( a = 50 ) , ! this . isDown && this . game . time . time - this . timeUp < a } } , Object . defineProperty ( c . Key . prototype , "justDown" , { get : function ( ) { var a = this . _justDown ; return this . _justDown = ! 1 , a } } ) , Object . defineProperty ( c . Key . prototype , "justUp" , { get : function ( ) { var a = this . _justUp ; return this . _justUp = ! 1 , a } } ) , Object . defineProperty ( c . Key . prototype , "enabled" , { get : function ( ) { return this . _enabled } , set : function ( a ) { a = ! ! a , a !== this . _enabled && ( a || this . reset ( ! 1 ) , this . _enabled = a ) } } ) , c . Key . prototype . constructor = c . Key , c . Keyboard = function ( a ) { this . game = a , this . enabled = ! 0 , this . event = null , this . pressEvent = null , this . callbackContext = this , this . onDownCallback = null , this . onPressCallback = null , this . onUpCallback = null , this . _keys = [ ] , this . _capture = [ ] , this . _onKeyDown = null , this . _onKeyPress = null , this . _onKeyUp = null , this . _i = 0 , this . _k = 0 } , c . Keyboard . prototype = { addCallbacks : function ( a , b , c , d ) { this . callbackContext = a , "undefined" != typeof b && ( this . onDownCallback = b ) , "undefined" != typeof c && ( this . onUpCallback = c ) , "undefined" != typeof d && ( this . onPressCallback = d ) } , addKey : function ( a ) { return this . _keys [ a ] || ( this . _keys [ a ] = new c . Key ( this . game , a ) , this . addKeyCapture ( a ) ) , this . _keys [ a ] } , addKeys : function ( a ) { var b = { } ; for ( var c in a ) b [ c ] = this . addKey ( a [ c ] ) ; return b } , removeKey : function ( a ) { this . _keys [ a ] && ( this . _keys [ a ] = null , this . removeKeyCapture ( a ) ) } , createCursorKeys : function ( ) { return this . addKeys ( { up : c . Keyboard . UP , down : c . Keyboard . DOWN , left : c . Keyboard . LEFT , right : c . Keyboard . RIGHT } ) } , start : function ( ) { if ( ! this . game . device . cocoonJS && null === this . _onKeyDown ) { var a = this ; this . _onKeyDown = function ( b ) { return a . processKeyDown ( b ) } , this . _onKeyUp = function ( b ) { return a . processKeyUp ( b ) } , this . _onKeyPress = function ( b ) { return a . processKeyPress ( b ) } , window . addEventListener ( "keydown" , this . _onKeyDown , ! 1 ) , window . addEventListener ( "keyup" , this . _onKeyUp , ! 1 ) , window . addEventListener ( "keypress" , this . _onKeyPress , ! 1 ) } } , stop : function ( ) { window . removeEventListener ( "keydown" , this . _onKeyDown ) , window . removeEventListener ( "keyup" , this . _onKeyUp ) , window . removeEventListener ( "keypress" , this . _onKeyPress ) , this . _onKeyDown = null , this . _onKeyUp = null , this . _onKeyPress = null } , destroy : function ( ) { this . stop ( ) , this . clearCaptures ( ) , this . _keys . length = 0 , this . _i = 0 } , addKeyCapture : function ( a ) { if ( "object" == typeof a ) for ( var b in a ) this . _capture [ a [ b ] ] = ! 0 ; else this . _capture [ a ] = ! 0 } , removeKeyCapture : function ( a ) { delete this . _capture [ a ] } , clearCaptures : function ( ) { this . _capture = { } } , update : function ( ) { for ( this . _i = this . _keys . length ; this . _i -- ; ) this . _keys [ this . _i ] && this . _keys [ this . _i ] . update ( ) } , processKeyDown : function ( a ) { this . event = a , this . game . input . enabled && this . enabled && ( this . _capture [ a . keyCode ] && a . preventDefault ( ) , this . _keys [ a . keyCode ] || ( this . _keys [ a . keyCode ] = new c . Key ( this . game , a . keyCode ) ) , this . _keys [ a . keyCode ] . processKeyDown ( a ) , this . _k = a . keyCode , this . onDownCallback && this . onDownCallback . call ( this . callbackContext , a ) ) } , processKeyPress : function ( a ) { this . pressEvent = a , this . game . input . enabled && this . enabled && this . onPressCallback && this . onPressCallback . call ( this . callbackContext , String . fromCharCode ( a . charCode ) , a ) } , processKeyUp : function ( a ) { this . event = a , this . game . input . enabled && this . enabled && ( this . _capture [ a . keyCode ] && a . preventDefault ( ) , this . _keys [ a . keyCode ] || ( this . _keys [ a . keyCode ] = new c . Key ( this . game , a . keyCode ) ) , this . _keys [ a . keyCode ] . processKeyUp ( a ) , this . onUpCallback && this . onUpCallback . call ( this . callbackContext , a ) ) } , reset : function ( a ) { void 0 === a && ( a = ! 0 ) , this . event = null ; for ( var b = this . _keys . length ; b -- ; ) this . _keys [ b ] && this . _keys [ b ] . reset ( a ) } , downDuration : function ( a , b ) { return this . _keys [ a ] ? this . _keys [ a ] . downDuration ( b ) : null } , upDuration : function ( a , b ) { return this . _keys [ a ] ? this . _keys [ a ] . upDuration ( b ) : null } , isDown : function ( a ) { return this . _keys [ a ] ? this . _keys [ a ] . isDown : null } } , Object . defineProperty ( c . Keyboard . prototype , "lastChar" , { get : function ( ) { return 32 === this . event . charCode ? "" : String . fromCharCode ( this . pressEvent . charCode ) } } ) , Object . defineProperty ( c . Keyboard . prototype , "lastKey" , { get : function ( ) { return this . _keys [ this . _k ] } } ) , c . Keyboard . prototype . constructor = c . Keyboard , c . Keyboard . A = "A" . cha
return j } } ) , c . Button = function ( a , b , d , e , f , g , h , i , j , k ) { b = b || 0 , d = d || 0 , e = e || null , f = f || null , g = g || this , c . Image . call ( this , a , b , d , e , i ) , this . type = c . BUTTON , this . physicsType = c . SPRITE , this . _onOverFrame = null , this . _onOutFrame = null , this . _onDownFrame = null , this . _onUpFrame = null , this . onOverSound = null , this . onOutSound = null , this . onDownSound = null , this . onUpSound = null , this . onOverSoundMarker = "" , this . onOutSoundMarker = "" , this . onDownSoundMarker = "" , this . onUpSoundMarker = "" , this . onInputOver = new c . Signal , this . onInputOut = new c . Signal , this . onInputDown = new c . Signal , this . onInputUp = new c . Signal , this . onOverMouseOnly = ! 1 , this . freezeFrames = ! 1 , this . forceOut = ! 1 , this . inputEnabled = ! 0 , this . input . start ( 0 , ! 0 ) , this . input . useHandCursor = ! 0 , this . setFrames ( h , i , j , k ) , null !== f && this . onInputUp . add ( f , g ) , this . events . onInputOver . add ( this . onInputOverHandler , this ) , this . events . onInputOut . add ( this . onInputOutHandler , this ) , this . events . onInputDown . add ( this . onInputDownHandler , this ) , this . events . onInputUp . add ( this . onInputUpHandler , this ) , this . events . onRemovedFromWorld . add ( this . removedFromWorld , this ) } , c . Button . prototype = Object . create ( c . Image . prototype ) , c . Button . prototype . constructor = c . Button ; var f = "Over" , g = "Out" , h = "Down" , i = "Up" ; c . Button . prototype . clearFrames = function ( ) { this . setFrames ( null , null , null , null ) } , c . Button . prototype . removedFromWorld = function ( ) { this . inputEnabled = ! 1 } , c . Button . prototype . setStateFrame = function ( a , b , c ) { var d = "_on" + a + "Frame" ; null !== b ? ( this [ d ] = b , c && this . changeStateFrame ( a ) ) : this [ d ] = null } , c . Button . prototype . changeStateFrame = function ( a ) { if ( this . freezeFrames ) return ! 1 ; var b = "_on" + a + "Frame" , c = this [ b ] ; return "string" == typeof c ? ( this . frameName = c , ! 0 ) : "number" == typeof c ? ( this . frame = c , ! 0 ) : ! 1 } , c . Button . prototype . setFrames = function ( a , b , c , d ) { this . setStateFrame ( f , a , this . input . pointerOver ( ) ) , this . setStateFrame ( g , b , ! this . input . pointerOver ( ) ) , this . setStateFrame ( h , c , this . input . pointerDown ( ) ) , this . setStateFrame ( i , d , this . input . pointerUp ( ) ) } , c . Button . prototype . setStateSound = function ( a , b , d ) { var e = "on" + a + "Sound" , f = "on" + a + "SoundMarker" ; b instanceof c . Sound || b instanceof c . AudioSprite ? ( this [ e ] = b , this [ f ] = "string" == typeof d ? d : "" ) : ( this [ e ] = null , this [ f ] = "" ) } , c . Button . prototype . playStateSound = function ( a ) { var b = "on" + a + "Sound" , c = this [ b ] ; if ( c ) { var d = "on" + a + "SoundMarker" , e = this [ d ] ; return c . play ( e ) , ! 0 } return ! 1 } , c . Button . prototype . setSounds = function ( a , b , c , d , e , j , k , l ) { this . setStateSound ( f , a , b ) , this . setStateSound ( g , e , j ) , this . setStateSound ( h , c , d ) , this . setStateSound ( i , k , l ) } , c . Button . prototype . setOverSound = function ( a , b ) { this . setStateSound ( f , a , b ) } , c . Button . prototype . setOutSound = function ( a , b ) { this . setStateSound ( g , a , b ) } , c . Button . prototype . setDownSound = function ( a , b ) { this . setStateSound ( h , a , b ) } , c . Button . prototype . setUpSound = function ( a , b ) { this . setStateSound ( i , a , b ) } , c . Button . prototype . onInputOverHandler = function ( a , b ) { b . justReleased ( ) || ( this . changeStateFrame ( f ) , ( ! this . onOverMouseOnly || b . isMouse ) && ( this . playStateSound ( f ) , this . onInputOver && this . onInputOver . dispatch ( this , b ) ) ) } , c . Button . prototype . onInputOutHandler = function ( a , b ) { this . changeStateFrame ( g ) , this . playStateSound ( g ) , this . onInputOut && this . onInputOut . dispatch ( this , b ) } , c . Button . prototype . onInputDownHandler = function ( a , b ) { this . changeStateFrame ( h ) , this . playStateSound ( h ) , this . onInputDown && this . onInputDown . dispatch ( this , b ) } , c . Button . prototype . onInputUpHandler = function ( a , b , c ) { if ( this . playStateSound ( i ) , this . onInputUp && this . onInputUp . dispatch ( this , b , c ) , ! this . freezeFrames ) if ( this . forceOut ) this . changeStateFrame ( g ) ; else { var d = this . changeStateFrame ( i ) ; d || this . changeStateFrame ( c ? f : g ) } } , c . SpriteBatch = function ( a , b , d , e ) { ( void 0 === b || null === b ) && ( b = a . world ) , PIXI . SpriteBatch . call ( this ) , c . Group . call ( this , a , b , d , e ) , this . type = c . SPRITEBATCH } , c . SpriteBatch . prototype = c . Utils . extend ( ! 0 , c . SpriteBatch . prototype , c . Group . prototype , PIXI . SpriteBatch . prototype ) , c . SpriteBatch . prototype . constructor = c . SpriteBatch , c . Particle = function ( a , b , d , e , f ) { c . Sprite . call ( this , a , b , d , e , f ) , this . autoScale = ! 1 , this . scaleData = null , this . _s = 0 , this . autoAlpha = ! 1 , this . alphaData = null , this . _a = 0 } , c . Particle . prototype = Object . create ( c . Sprite . prototype ) , c . Particle . prototype . constructor = c . Particle , c . Particle . prototype . update = function ( ) { this . auto
var e , f = new c . Point , g = new c . Point , h = new c . Point , i = [ ] ; if ( b ) if ( a [ 0 ] instanceof c . Point ) for ( e = 0 ; e < b . length / 3 ; e ++ ) i . push ( a [ b [ 3 * e ] ] ) , i . push ( a [ b [ 3 * e + 1 ] ] ) , i . push ( a [ b [ 3 * e + 2 ] ] ) , 3 === i . length && ( this . drawTriangle ( i , d ) , i = [ ] ) ; else for ( e = 0 ; e < b . length ; e ++ ) f . x = a [ 2 * b [ e ] ] , f . y = a [ 2 * b [ e ] + 1 ] , i . push ( f . copyTo ( { } ) ) , 3 === i . length && ( this . drawTriangle ( i , d ) , i = [ ] ) ; else if ( a [ 0 ] instanceof c . Point ) for ( e = 0 ; e < a . length / 3 ; e ++ ) this . drawTriangle ( [ a [ 3 * e ] , a [ 3 * e + 1 ] , a [ 3 * e + 2 ] ] , d ) ; else for ( e = 0 ; e < a . length / 6 ; e ++ ) f . x = a [ 6 * e + 0 ] , f . y = a [ 6 * e + 1 ] , g . x = a [ 6 * e + 2 ] , g . y = a [ 6 * e + 3 ] , h . x = a [ 6 * e + 4 ] , h . y = a [ 6 * e + 5 ] , this . drawTriangle ( [ f , g , h ] , d ) } , c . RenderTexture = function ( a , b , d , e , f , g ) { void 0 === e && ( e = "" ) , void 0 === f && ( f = c . scaleModes . DEFAULT ) , void 0 === g && ( g = 1 ) , this . game = a , this . key = e , this . type = c . RENDERTEXTURE , this . _tempMatrix = new PIXI . Matrix , PIXI . RenderTexture . call ( this , b , d , this . game . renderer , f , g ) , this . render = c . RenderTexture . prototype . render } , c . RenderTexture . prototype = Object . create ( PIXI . RenderTexture . prototype ) , c . RenderTexture . prototype . constructor = c . RenderTexture , c . RenderTexture . prototype . renderXY = function ( a , b , c , d ) { a . updateTransform ( ) , this . _tempMatrix . copyFrom ( a . worldTransform ) , this . _tempMatrix . tx = b , this . _tempMatrix . ty = c , this . renderer . type === PIXI . WEBGL _RENDERER ? this . renderWebGL ( a , this . _tempMatrix , d ) : this . renderCanvas ( a , this . _tempMatrix , d ) } , c . RenderTexture . prototype . renderRawXY = function ( a , b , c , d ) { this . _tempMatrix . identity ( ) . translate ( b , c ) , this . renderer . type === PIXI . WEBGL _RENDERER ? this . renderWebGL ( a , this . _tempMatrix , d ) : this . renderCanvas ( a , this . _tempMatrix , d ) } , c . RenderTexture . prototype . render = function ( a , b , c ) { this . _tempMatrix . copyFrom ( void 0 === b || null === b ? a . worldTransform : b ) , this . renderer . type === PIXI . WEBGL _RENDERER ? this . renderWebGL ( a , this . _tempMatrix , c ) : this . renderCanvas ( a , this . _tempMatrix , c ) } , c . Text = function ( a , b , d , e , f ) { b = b || 0 , d = d || 0 , e = void 0 === e || null === e ? "" : e . toString ( ) , f = f || { } , this . type = c . TEXT , this . physicsType = c . SPRITE , this . padding = new c . Point , this . textBounds = null , this . canvas = PIXI . CanvasPool . create ( this ) , this . context = this . canvas . getContext ( "2d" ) , this . colors = [ ] , this . strokeColors = [ ] , this . fontStyles = [ ] , this . fontWeights = [ ] , this . autoRound = ! 1 , this . _res = a . renderer . resolution , this . _text = e , this . _fontComponents = null , this . _lineSpacing = 0 , this . _charCount = 0 , this . _width = 0 , this . _height = 0 , c . Sprite . call ( this , a , b , d , PIXI . Texture . fromCanvas ( this . canvas ) ) , this . setStyle ( f ) , "" !== e && this . updateText ( ) } , c . Text . prototype = Object . create ( c . Sprite . prototype ) , c . Text . prototype . constructor = c . Text , c . Text . prototype . preUpdate = function ( ) { return this . preUpdatePhysics ( ) && this . preUpdateLifeSpan ( ) && this . preUpdateInWorld ( ) ? this . preUpdateCore ( ) : ! 1 } , c . Text . prototype . update = function ( ) { } , c . Text . prototype . destroy = function ( a ) { this . texture . destroy ( ! 0 ) , PIXI . CanvasPool . remove ( this ) , c . Component . Destroy . prototype . destroy . call ( this , a ) } , c . Text . prototype . setShadow = function ( a , b , c , d , e , f ) { return void 0 === a && ( a = 0 ) , void 0 === b && ( b = 0 ) , void 0 === c && ( c = "rgba(0, 0, 0, 1)" ) , void 0 === d && ( d = 0 ) , void 0 === e && ( e = ! 0 ) , void 0 === f && ( f = ! 0 ) , this . style . shadowOffsetX = a , this . style . shadowOffsetY = b , this . style . shadowColor = c , this . style . shadowBlur = d , this . style . shadowStroke = e , this . style . shadowFill = f , this . dirty = ! 0 , this } , c . Text . prototype . setStyle = function ( a ) { a = a || { } , a . font = a . font || "bold 20pt Arial" , a . backgroundColor = a . backgroundColor || null , a . fill = a . fill || "black" , a . align = a . align || "left" , a . boundsAlignH = a . boundsAlignH || "left" , a . boundsAlignV = a . boundsAlignV || "top" , 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 , a . tabs = a . tabs || 0 ; var b = this . fontToComponents ( a . font ) ; return a . fontStyle && ( b . fontStyle = a . fontStyle ) , a . fontVariant && ( b . fontVariant = a . fontVariant ) , a . fontWeight && ( b . fontWeight = a . fontWeight ) , a . fontSize && ( "number" == typeof a . fontSize && ( a . fontSize = a . fontSize + "px" ) , b . fontSize = a . fontSize ) , this . _fontComponents = b , a . font = this . componentsToFont ( this . _fontComponents ) , this . style = a , this . dirty = ! 0 , this } , c . Text . prototype . updateText = function ( ) { this . texture . baseTexture . resolution = this . _res , this .
2015-08-24 12:55:00 +00:00
} , c . Device = new c . Device , c . Device . onInitialized = new c . Signal , c . Device . whenReady = function ( a , b , c ) { var d = this . _readyCheck ; if ( this . deviceReadyAt || ! d ) a . call ( b , this ) ; else if ( d . _monitor || c ) d . _queue = d . _queue || [ ] , d . _queue . push ( [ a , b ] ) ; else { d . _monitor = d . bind ( this ) , d . _queue = d . _queue || [ ] , d . _queue . push ( [ a , b ] ) ; var e = "undefined" != typeof window . cordova , f = navigator . isCocoonJS ; "complete" === document . readyState || "interactive" === document . readyState ? window . setTimeout ( d . _monitor , 0 ) : e && ! f ? document . addEventListener ( "deviceready" , d . _monitor , ! 1 ) : ( document . addEventListener ( "DOMContentLoaded" , d . _monitor , ! 1 ) , window . addEventListener ( "load" , d . _monitor , ! 1 ) ) } } , c . Device . _readyCheck = function ( ) { var a = this . _readyCheck ; if ( document . body ) { if ( ! this . deviceReadyAt ) { this . deviceReadyAt = Date . now ( ) , document . removeEventListener ( "deviceready" , a . _monitor ) , document . removeEventListener ( "DOMContentLoaded" , a . _monitor ) , window . removeEventListener ( "load" , a . _monitor ) , this . _initialize ( ) , this . initialized = ! 0 , this . onInitialized . dispatch ( this ) ; for ( var b ; b = a . _queue . shift ( ) ; ) { var c = b [ 0 ] , d = b [ 1 ] ; c . call ( d , this ) } this . _readyCheck = null , this . _initialize = null , this . onInitialized = null } } else window . setTimeout ( a . _monitor , 20 ) } , c . Device . _initialize = function ( ) { function a ( ) { var a = navigator . userAgent ; /Playstation Vita/ . test ( a ) ? l . vita = ! 0 : /Kindle/ . test ( a ) || /\bKF[A-Z][A-Z]+/ . test ( a ) || /Silk.*Mobile Safari/ . test ( a ) ? l . kindle = ! 0 : /Android/ . test ( a ) ? l . android = ! 0 : /CrOS/ . test ( a ) ? l . chromeOS = ! 0 : /iP[ao]d|iPhone/i . test ( a ) ? l . iOS = ! 0 : /Linux/ . test ( a ) ? l . linux = ! 0 : /Mac OS/ . test ( a ) ? l . macOS = ! 0 : /Windows/ . test ( a ) && ( l . windows = ! 0 ) , ( /Windows Phone/i . test ( a ) || /IEMobile/i . test ( a ) ) && ( l . android = ! 1 , l . iOS = ! 1 , l . macOS = ! 1 , l . windows = ! 0 , l . windowsPhone = ! 0 ) ; var b = /Silk/ . test ( a ) ; ( l . windows || l . macOS || l . linux && ! b || l . chromeOS ) && ( l . desktop = ! 0 ) , ( l . windowsPhone || /Windows NT/i . test ( a ) && /Touch/i . test ( a ) ) && ( l . desktop = ! 1 ) } function b ( ) { l . canvas = ! ! window . CanvasRenderingContext2D || l . cocoonJS ; try { l . localStorage = ! ! localStorage . getItem } catch ( a ) { l . localStorage = ! 1 } l . file = ! ! ( window . File && window . FileReader && window . FileList && window . Blob ) , l . fileSystem = ! ! window . requestFileSystem , l . webGL = function ( ) { try { var a = document . createElement ( "canvas" ) ; return a . screencanvas = ! 1 , ! ! window . WebGLRenderingContext && ( a . getContext ( "webgl" ) || a . getContext ( "experimental-webgl" ) ) } catch ( b ) { return ! 1 } } ( ) , l . webGL = ! ! l . webGL , l . worker = ! ! window . Worker , l . pointerLock = "pointerLockElement" in document || "mozPointerLockElement" in document || "webkitPointerLockElement" in document , l . quirksMode = "CSS1Compat" === document . compatMode ? ! 1 : ! 0 , navigator . getUserMedia = navigator . getUserMedia || navigator . webkitGetUserMedia || navigator . mozGetUserMedia || navigator . msGetUserMedia || navigator . oGetUserMedia , window . URL = window . URL || window . webkitURL || window . mozURL || window . msURL , l . getUserMedia = l . getUserMedia && ! ! navigator . getUserMedia && ! ! window . URL , l . firefox && l . firefoxVersion < 21 && ( l . getUserMedia = ! 1 ) , ! l . iOS && ( l . ie || l . firefox || l . chrome ) && ( l . canvasBitBltShift = ! 0 ) , ( l . safari || l . mobileSafari ) && ( l . canvasBitBltShift = ! 1 ) } function c ( ) { ( "ontouchstart" in document . documentElement || window . navigator . maxTouchPoints && window . navigator . maxTouchPoints >= 1 ) && ( l . touch = ! 0 ) , ( window . navigator . msPointerEnabled || window . navigator . pointerEnabled ) && ( l . mspointer = ! 0 ) , l . cocoonJS || ( "onwheel" in window || l . ie && "WheelEvent" in window ? l . wheelEvent = "wheel" : "onmousewheel" in window ? l . wheelEvent = "mousewheel" : l . firefox && "MouseScrollEvent" in window && ( l . wheelEvent = "DOMMouseScroll" ) ) } function d ( ) { for ( var a = [ "requestFullscreen" , "requestFullScreen" , "webkitRequestFullscreen" , "webkitRequestFullScreen" , "msRequestFullscreen" , "msRequestFullScreen" , "mozRequestFullScreen" , "mozRequestFullscreen" ] , b = document . createElement ( "div" ) , c = 0 ; c < a . length ; c ++ ) if ( b [ a [ c ] ] ) { l . fullscreen = ! 0 , l . requestFullscreen = a [ c ] ; break } var d = [ "cancelFullScreen" , "exitFullscreen" , "webkitCancelFullScreen" , "webkitExitFullscreen" , "msCancelFullScreen" , "msExitFullscreen" , "mozCancelFullScreen" , "mozExitFullscreen" ] ; if ( l . fullscreen ) for ( var c = 0 ; c < d . length ; c ++ ) if ( document [ d [ c ] ] ) { l . cancelFullscreen = d [ c ] ; break } window . Element && Element . ALLOW _KEYBOARD _INPUT && ( l . fullscreenKeyboard = ! 0 ) } function e ( ) { var a = navigator . userAgent ; if ( /Arora/ . test ( a ) ? l . aro
2015-08-21 15:25:41 +00:00
} , easing : function ( a , b ) { return "string" == typeof a && this . manager . easeMap [ a ] && ( a = this . manager . easeMap [ a ] ) , this . updateTweenData ( "easingFunction" , a , b ) } , interpolation : function ( a , b , d ) { return void 0 === b && ( b = c . Math ) , this . updateTweenData ( "interpolationFunction" , a , d ) , this . updateTweenData ( "interpolationContext" , b , d ) } , repeatAll : function ( a ) { return void 0 === a && ( a = 0 ) , this . repeatCounter = a , this } , chain : function ( ) { for ( var a = arguments . length ; a -- ; ) a > 0 ? arguments [ a - 1 ] . chainedTween = arguments [ a ] : this . chainedTween = arguments [ a ] ; return this } , loop : function ( a ) { return void 0 === a && ( a = ! 0 ) , a ? this . repeatAll ( - 1 ) : this . repeatCounter = 0 , this } , onUpdateCallback : function ( a , b ) { return this . _onUpdateCallback = a , this . _onUpdateCallbackContext = b , this } , pause : function ( ) { this . isPaused = ! 0 , this . _codePaused = ! 0 , this . _pausedTime = this . game . time . time } , _pause : function ( ) { this . _codePaused || ( this . isPaused = ! 0 , this . _pausedTime = this . game . time . time ) } , resume : function ( ) { if ( this . isPaused ) { this . isPaused = ! 1 , this . _codePaused = ! 1 ; for ( var a = 0 ; a < this . timeline . length ; a ++ ) this . timeline [ a ] . isRunning || ( this . timeline [ a ] . startTime += this . game . time . time - this . _pausedTime ) } } , _resume : function ( ) { this . _codePaused || this . resume ( ) } , update : function ( a ) { if ( this . pendingDelete ) return ! 1 ; if ( this . isPaused ) return ! 0 ; var b = this . timeline [ this . current ] . update ( a ) ; if ( b === c . TweenData . PENDING ) return ! 0 ; if ( b === c . TweenData . RUNNING ) return this . _hasStarted || ( this . onStart . dispatch ( this . target , this ) , this . _hasStarted = ! 0 ) , null !== this . _onUpdateCallback && this . _onUpdateCallback . call ( this . _onUpdateCallbackContext , this , this . timeline [ this . current ] . value , this . timeline [ this . current ] ) , this . isRunning ; if ( b === c . TweenData . LOOPED ) return this . onLoop . dispatch ( this . target , this ) , ! 0 ; if ( b === c . TweenData . COMPLETE ) { var d = ! 1 ; return this . reverse ? ( this . current -- , this . current < 0 && ( this . current = this . timeline . length - 1 , d = ! 0 ) ) : ( this . current ++ , this . current === this . timeline . length && ( this . current = 0 , d = ! 0 ) ) , d ? - 1 === this . repeatCounter ? ( this . timeline [ this . current ] . start ( ) , this . onRepeat . dispatch ( this . target , this ) , ! 0 ) : this . repeatCounter > 0 ? ( this . repeatCounter -- , this . timeline [ this . current ] . start ( ) , this . onRepeat . dispatch ( this . target , this ) , ! 0 ) : ( this . isRunning = ! 1 , this . onComplete . dispatch ( this . target , this ) , this . chainedTween && this . chainedTween . start ( ) , ! 1 ) : ( this . onChildComplete . dispatch ( this . target , this ) , this . timeline [ this . current ] . start ( ) , ! 0 ) } } , generateData : function ( a , b ) { if ( null === this . game || null === this . target ) return null ; void 0 === a && ( a = 60 ) , void 0 === b && ( b = [ ] ) ; for ( var c = 0 ; c < this . timeline . length ; c ++ ) for ( var d in this . timeline [ c ] . vEnd ) this . properties [ d ] = this . target [ d ] || 0 , Array . isArray ( this . properties [ d ] ) || ( this . properties [ d ] *= 1 ) ; for ( var c = 0 ; c < this . timeline . length ; c ++ ) this . timeline [ c ] . loadValues ( ) ; for ( var c = 0 ; c < this . timeline . length ; c ++ ) b = b . concat ( this . timeline [ c ] . generateData ( a ) ) ; return b } } , Object . defineProperty ( c . Tween . prototype , "totalDuration" , { get : function ( ) { for ( var a = 0 , b = 0 ; b < this . timeline . length ; b ++ ) a += this . timeline [ b ] . duration ; return a } } ) , c . Tween . prototype . constructor = c . Tween , c . TweenData = function ( a ) { this . parent = a , this . game = a . game , this . vStart = { } , this . vStartCache = { } , this . vEnd = { } , this . vEndCache = { } , this . duration = 1e3 , this . percent = 0 , this . value = 0 , this . repeatCounter = 0 , this . repeatDelay = 0 , this . interpolate = ! 1 , this . yoyo = ! 1 , this . yoyoDelay = 0 , this . inReverse = ! 1 , this . delay = 0 , this . dt = 0 , this . startTime = null , this . easingFunction = c . Easing . Default , this . interpolationFunction = c . Math . linearInterpolation , this . interpolationContext = c . Math , this . isRunning = ! 1 , this . isFrom = ! 1 } , c . TweenData . PENDING = 0 , c . TweenData . RUNNING = 1 , c . TweenData . LOOPED = 2 , c . TweenData . COMPLETE = 3 , c . TweenData . prototype = { to : function ( a , b , c , d , e , f ) { return this . vEnd = a , this . duration = b , this . easingFunction = c , this . delay = d , this . repeatCounter = e , this . yoyo = f , this . isFrom = ! 1 , this } , from : function ( a , b , c , d , e , f ) { return this . vEnd = a , this . duration = b , this . easingFunction = c , this . delay = d , this . repeatCounter = e , this . yoyo = f , this . isFrom = ! 0 , this } , start : function ( ) { if ( this . startTime = this . game . time . time + this . delay , this . dt = this . parent . reverse ? this . duration : 0 , this . isRunning = this . delay > 0 ? ! 1 : ! 0 , this . isFrom ) for ( var a in this . vStartCache ) this . vStart [ a ] = this . vEndCache [ a ] , this . vEnd [ a ] = this . vStartCac
2015-08-24 12:55:00 +00:00
return e } , XMLData : function ( a , b ) { if ( ! b . getElementsByTagName ( "TextureAtlas" ) ) return void console . warn ( "Phaser.AnimationParser.XMLData: Invalid Texture Atlas XML given, missing <TextureAtlas> tag" ) ; for ( var d , e , f , g , h , i , j , k , l , m , n , o = new c . FrameData , p = b . getElementsByTagName ( "SubTexture" ) , q = 0 ; q < p . length ; q ++ ) f = p [ q ] . attributes , e = f . name . value , g = parseInt ( f . x . value , 10 ) , h = parseInt ( f . y . value , 10 ) , i = parseInt ( f . width . value , 10 ) , j = parseInt ( f . height . value , 10 ) , k = null , l = null , f . frameX && ( k = Math . abs ( parseInt ( f . frameX . value , 10 ) ) , l = Math . abs ( parseInt ( f . frameY . value , 10 ) ) , m = parseInt ( f . frameWidth . value , 10 ) , n = parseInt ( f . frameHeight . value , 10 ) ) , d = o . addFrame ( new c . Frame ( q , g , h , i , j , e ) ) , ( null !== k || null !== l ) && d . setTrim ( ! 0 , i , j , k , l , m , n ) ; return o } } , c . Cache = function ( a ) { this . game = a , this . autoResolveURL = ! 1 , this . _cache = { canvas : { } , image : { } , texture : { } , sound : { } , video : { } , text : { } , json : { } , xml : { } , physics : { } , tilemap : { } , binary : { } , bitmapData : { } , bitmapFont : { } , shader : { } , renderTexture : { } } , this . _urlMap = { } , this . _urlResolver = new Image , this . _urlTemp = null , this . onSoundUnlock = new c . Signal , this . _cacheMap = [ ] , this . _cacheMap [ c . Cache . CANVAS ] = this . _cache . canvas , this . _cacheMap [ c . Cache . IMAGE ] = this . _cache . image , this . _cacheMap [ c . Cache . TEXTURE ] = this . _cache . texture , this . _cacheMap [ c . Cache . SOUND ] = this . _cache . sound , this . _cacheMap [ c . Cache . TEXT ] = this . _cache . text , this . _cacheMap [ c . Cache . PHYSICS ] = this . _cache . physics , this . _cacheMap [ c . Cache . TILEMAP ] = this . _cache . tilemap , this . _cacheMap [ c . Cache . BINARY ] = this . _cache . binary , this . _cacheMap [ c . Cache . BITMAPDATA ] = this . _cache . bitmapData , this . _cacheMap [ c . Cache . BITMAPFONT ] = this . _cache . bitmapFont , this . _cacheMap [ c . Cache . JSON ] = this . _cache . json , this . _cacheMap [ c . Cache . XML ] = this . _cache . xml , this . _cacheMap [ c . Cache . VIDEO ] = this . _cache . video , this . _cacheMap [ c . Cache . SHADER ] = this . _cache . shader , this . _cacheMap [ c . Cache . RENDER _TEXTURE ] = this . _cache . renderTexture , this . addDefaultImage ( ) , this . addMissingImage ( ) } , c . Cache . CANVAS = 1 , c . Cache . IMAGE = 2 , c . Cache . TEXTURE = 3 , c . Cache . SOUND = 4 , c . Cache . TEXT = 5 , c . Cache . PHYSICS = 6 , c . Cache . TILEMAP = 7 , c . Cache . BINARY = 8 , c . Cache . BITMAPDATA = 9 , c . Cache . BITMAPFONT = 10 , c . Cache . JSON = 11 , c . Cache . XML = 12 , c . Cache . VIDEO = 13 , c . Cache . SHADER = 14 , c . Cache . RENDER _TEXTURE = 15 , c . Cache . prototype = { addCanvas : function ( a , b , c ) { void 0 === c && ( c = b . getContext ( "2d" ) ) , this . _cache . canvas [ a ] = { canvas : b , context : c } } , addImage : function ( a , b , d ) { this . checkImageKey ( a ) && this . removeImage ( a ) ; var e = { key : a , url : b , data : d , base : new PIXI . BaseTexture ( d ) , frame : new c . Frame ( 0 , 0 , 0 , d . width , d . height , a ) , frameData : new c . FrameData } ; return e . frameData . addFrame ( new c . Frame ( 0 , 0 , 0 , d . width , d . height , b ) ) , this . _cache . image [ a ] = e , this . _resolveURL ( b , e ) , e } , addDefaultImage : function ( ) { var a = new Image ; a . src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==" ; var b = this . addImage ( "__default" , null , a ) ; PIXI . TextureCache . _ _default = new PIXI . Texture ( b . base ) } , addMissingImage : function ( ) { var a = new Image ; a . src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==" ; var b = this . addImage ( "__missing" , null , a ) ; PIXI . TextureCache . _ _missing = new PIXI . Texture ( b . base ) } , addSound : function ( a , b , c , d , e ) { void 0 === d && ( d = ! 0 , e = ! 1 ) , void 0 === e && ( d = ! 1 , e = ! 0 ) ; var f = ! 1 ; e && ( f = ! 0 ) , this . _cache . sound [ a ] = { url : b , data : c , isDecoding : ! 1 , decoded : f , webAudio : d , audioTag : e , locked : this . game . sound . touchLocked } , this . _resolveURL ( b , this . _cache . sound [ a ] ) } , addText : function ( a , b , c ) { this . _cache . text [ a ] = { url : b , data : c } , this . _resolveURL ( b , this . _cache . text [ a ] ) } , addPhysicsData : function ( a , b , c , d ) { this . _cache . physics [ a ] = { url : b , data : c , format : d } , this . _resolveURL ( b , this . _cache . physics [ a ] ) } , addTilemap : function ( a , b , c , d ) { this . _cache . tilemap [ a ] = { url : b , data : c , format : d } , this . _resolveURL ( b , this . _cache . tilemap [ a ] ) } , addBinary : function ( a , b ) { this . _cache . binary [ a ] = b } , addBitmapData : function ( a , b , d ) { return b . key = a , void 0 ===
} , csvLoadComplete : function ( a , b ) { var c = b . responseText ; this . cache . addTilemap ( a . key , a . url , c , a . format ) , this . asyncComplete ( a ) } , xmlLoadComplete : function ( a , b ) { var c = b . responseText , d = this . parseXml ( c ) ; if ( ! d ) { var e = b . responseType || b . contentType ; return console . warn ( "Phaser.Loader - " + a . key + ": invalid XML (" + e + ")" ) , void this . asyncComplete ( a , "invalid XML" ) } "bitmapfont" === a . type ? this . cache . addBitmapFont ( a . key , a . url , a . data , d , a . atlasType , a . xSpacing , a . ySpacing ) : "textureatlas" === a . type ? this . cache . addTextureAtlas ( a . key , a . url , a . data , d , a . format ) : "xml" === a . type && this . cache . addXML ( a . key , a . url , d ) , this . asyncComplete ( a ) } , parseXml : function ( a ) { var b ; try { if ( window . DOMParser ) { var c = new DOMParser ; b = c . parseFromString ( a , "text/xml" ) } else b = new ActiveXObject ( "Microsoft.XMLDOM" ) , b . async = "false" , b . loadXML ( a ) } catch ( d ) { b = null } return b && b . documentElement && ! b . getElementsByTagName ( "parsererror" ) . length ? b : null } , updateProgress : function ( ) { this . preloadSprite && ( 0 === this . preloadSprite . direction ? this . preloadSprite . rect . width = Math . floor ( this . preloadSprite . width / 100 * this . progress ) : this . preloadSprite . rect . height = Math . floor ( this . preloadSprite . height / 100 * this . progress ) , this . preloadSprite . sprite ? this . preloadSprite . sprite . updateCrop ( ) : this . preloadSprite = null ) } , totalLoadedFiles : function ( ) { return this . _loadedFileCount } , totalQueuedFiles : function ( ) { return this . _totalFileCount - this . _loadedFileCount } , totalLoadedPacks : function ( ) { return this . _totalPackCount } , totalQueuedPacks : function ( ) { return this . _totalPackCount - this . _loadedPackCount } } , Object . defineProperty ( c . Loader . prototype , "progressFloat" , { get : function ( ) { var a = this . _loadedFileCount / this . _totalFileCount * 100 ; return c . Math . clamp ( a || 0 , 0 , 100 ) } } ) , Object . defineProperty ( c . Loader . prototype , "progress" , { get : function ( ) { return Math . round ( this . progressFloat ) } } ) , c . Loader . prototype . constructor = c . Loader , c . LoaderParser = { bitmapFont : function ( a , b , c , d ) { return this . xmlBitmapFont ( a , b , c , d ) } , xmlBitmapFont : function ( a , b , c , d ) { var e = { } , f = a . getElementsByTagName ( "info" ) [ 0 ] , g = a . getElementsByTagName ( "common" ) [ 0 ] ; e . font = f . getAttribute ( "face" ) , e . size = parseInt ( f . getAttribute ( "size" ) , 10 ) , e . lineHeight = parseInt ( g . getAttribute ( "lineHeight" ) , 10 ) + d , e . chars = { } ; for ( var h = a . getElementsByTagName ( "char" ) , i = 0 ; i < h . length ; i ++ ) { var j = parseInt ( h [ i ] . getAttribute ( "id" ) , 10 ) ; e . chars [ j ] = { x : parseInt ( h [ i ] . getAttribute ( "x" ) , 10 ) , y : parseInt ( h [ i ] . getAttribute ( "y" ) , 10 ) , width : parseInt ( h [ i ] . getAttribute ( "width" ) , 10 ) , height : parseInt ( h [ i ] . getAttribute ( "height" ) , 10 ) , xOffset : parseInt ( h [ i ] . getAttribute ( "xoffset" ) , 10 ) , yOffset : parseInt ( h [ i ] . getAttribute ( "yoffset" ) , 10 ) , xAdvance : parseInt ( h [ i ] . getAttribute ( "xadvance" ) , 10 ) + c , kerning : { } } } var k = a . getElementsByTagName ( "kerning" ) ; for ( i = 0 ; i < k . length ; i ++ ) { var l = parseInt ( k [ i ] . getAttribute ( "first" ) , 10 ) , m = parseInt ( k [ i ] . getAttribute ( "second" ) , 10 ) , n = parseInt ( k [ i ] . getAttribute ( "amount" ) , 10 ) ; e . chars [ m ] . kerning [ l ] = n } return this . finalizeBitmapFont ( b , e ) } , jsonBitmapFont : function ( a , b , c , d ) { var e = { font : a . font . info . _face , size : parseInt ( a . font . info . _size , 10 ) , lineHeight : parseInt ( a . font . common . _lineHeight , 10 ) + d , chars : { } } ; return a . font . chars [ "char" ] . forEach ( function ( a ) { var b = parseInt ( a . _id , 10 ) ; e . chars [ b ] = { x : parseInt ( a . _x , 10 ) , y : parseInt ( a . _y , 10 ) , width : parseInt ( a . _width , 10 ) , height : parseInt ( a . _height , 10 ) , xOffset : parseInt ( a . _xoffset , 10 ) , yOffset : parseInt ( a . _yoffset , 10 ) , xAdvance : parseInt ( a . _xadvance , 10 ) + c , kerning : { } } } ) , a . font . kernings && a . font . kernings . kerning && a . font . kernings . kerning . forEach ( function ( a ) { e . chars [ a . _second ] . kerning [ a . _first ] = parseInt ( a . _amount , 10 ) } ) , this . finalizeBitmapFont ( b , e ) } , finalizeBitmapFont : function ( a , b ) { return Object . keys ( b . chars ) . forEach ( function ( d ) { var e = b . chars [ d ] ; e . texture = new PIXI . Texture ( a , new c . Rectangle ( e . x , e . y , e . width , e . height ) ) } ) , b } } , c . AudioSprite = function ( a , b ) { this . game = a , this . key = b , this . config = this . game . cache . getJSON ( b + "-audioatlas" ) , this . autoplayKey = null , this . autoplay = ! 1 , this . sounds = { } ; for ( var c in this . config . spritemap ) { var d = this . config . spritemap [ c ] , e = this . game . add . sound ( this . key ) ; e . addMarker ( c , d . start , d . end - d . start , null , d . loop ) , this . sounds [ c ] = e } this . config . autoplay && ( this . autoplayKey = this . config . autoplay , this . play ( this . autoplayKey ) , this . autoplay = th
2015-08-21 15:25:41 +00:00
return e } } , c . Color = { packPixel : function ( a , b , d , e ) { return c . Device . LITTLE _ENDIAN ? ( e << 24 | d << 16 | b << 8 | a ) >>> 0 : ( a << 24 | b << 16 | d << 8 | e ) >>> 0 } , unpackPixel : function ( a , b , d , e ) { return ( void 0 === b || null === b ) && ( b = c . Color . createColor ( ) ) , ( void 0 === d || null === d ) && ( d = ! 1 ) , ( void 0 === e || null === e ) && ( e = ! 1 ) , c . Device . LITTLE _ENDIAN ? ( b . a = ( 4278190080 & a ) >>> 24 , b . b = ( 16711680 & a ) >>> 16 , b . g = ( 65280 & a ) >>> 8 , b . r = 255 & a ) : ( b . r = ( 4278190080 & a ) >>> 24 , b . g = ( 16711680 & a ) >>> 16 , b . b = ( 65280 & a ) >>> 8 , b . a = 255 & a ) , b . color = a , b . rgba = "rgba(" + b . r + "," + b . g + "," + b . b + "," + b . a / 255 + ")" , d && c . Color . RGBtoHSL ( b . r , b . g , b . b , b ) , e && c . Color . RGBtoHSV ( b . r , b . g , b . b , b ) , b } , fromRGBA : function ( a , b ) { return b || ( b = c . Color . createColor ( ) ) , b . r = ( 4278190080 & a ) >>> 24 , b . g = ( 16711680 & a ) >>> 16 , b . b = ( 65280 & a ) >>> 8 , b . a = 255 & a , b . rgba = "rgba(" + b . r + "," + b . g + "," + b . b + "," + b . a + ")" , b } , toRGBA : function ( a , b , c , d ) { return a << 24 | b << 16 | c << 8 | d } , RGBtoHSL : function ( a , b , d , e ) { e || ( e = c . Color . createColor ( a , b , d , 1 ) ) , a /= 255 , b /= 255 , d /= 255 ; var f = Math . min ( a , b , d ) , g = Math . max ( a , b , d ) ; if ( e . h = 0 , e . s = 0 , e . l = ( g + f ) / 2 , g !== f ) { var h = g - f ; e . s = e . l > . 5 ? h / ( 2 - g - f ) : h / ( g + f ) , g === a ? e . h = ( b - d ) / h + ( d > b ? 6 : 0 ) : g === b ? e . h = ( d - a ) / h + 2 : g === d && ( e . h = ( a - b ) / h + 4 ) , e . h /= 6 } return e } , HSLtoRGB : function ( a , b , d , e ) { if ( e ? ( e . r = d , e . g = d , e . b = d ) : e = c . Color . createColor ( d , d , d ) , 0 !== b ) { var f = . 5 > d ? d * ( 1 + b ) : d + b - d * b , g = 2 * d - f ; e . r = c . Color . hueToColor ( g , f , a + 1 / 3 ) , e . g = c . Color . hueToColor ( g , f , a ) , e . b = c . Color . hueToColor ( g , f , a - 1 / 3 ) } return e . r = Math . floor ( 255 * e . r | 0 ) , e . g = Math . floor ( 255 * e . g | 0 ) , e . b = Math . floor ( 255 * e . b | 0 ) , c . Color . updateColor ( e ) , e } , RGBtoHSV : function ( a , b , d , e ) { e || ( e = c . Color . createColor ( a , b , d , 255 ) ) , a /= 255 , b /= 255 , d /= 255 ; var f = Math . min ( a , b , d ) , g = Math . max ( a , b , d ) , h = g - f ; return e . h = 0 , e . s = 0 === g ? 0 : h / g , e . v = g , g !== f && ( g === a ? e . h = ( b - d ) / h + ( d > b ? 6 : 0 ) : g === b ? e . h = ( d - a ) / h + 2 : g === d && ( e . h = ( a - b ) / h + 4 ) , e . h /= 6 ) , e } , HSVtoRGB : function ( a , b , d , e ) { void 0 === e && ( e = c . Color . createColor ( 0 , 0 , 0 , 1 , a , b , 0 , d ) ) ; var f , g , h , i = Math . floor ( 6 * a ) , j = 6 * a - i , k = d * ( 1 - b ) , l = d * ( 1 - j * b ) , m = d * ( 1 - ( 1 - j ) * b ) ; switch ( i % 6 ) { case 0 : f = d , g = m , h = k ; break ; case 1 : f = l , g = d , h = k ; break ; case 2 : f = k , g = d , h = m ; break ; case 3 : f = k , g = l , h = d ; break ; case 4 : f = m , g = k , h = d ; break ; case 5 : f = d , g = k , h = l } return e . r = Math . floor ( 255 * f ) , e . g = Math . floor ( 255 * g ) , e . b = Math . floor ( 255 * h ) , c . Color . updateColor ( e ) , e } , hueToColor : function ( a , b , c ) { return 0 > c && ( c += 1 ) , c > 1 && ( c -= 1 ) , 1 / 6 > c ? a + 6 * ( b - a ) * c : . 5 > c ? b : 2 / 3 > c ? a + ( b - a ) * ( 2 / 3 - c ) * 6 : a } , createColor : function ( a , b , d , e , f , g , h , i ) { var j = { r : a || 0 , g : b || 0 , b : d || 0 , a : e || 1 , h : f || 0 , s : g || 0 , l : h || 0 , v : i || 0 , color : 0 , color32 : 0 , rgba : "" } ; return c . Color . updateColor ( j ) } , updateColor : function ( a ) { return a . rgba = "rgba(" + a . r . toString ( ) + "," + a . g . toString ( ) + "," + a . b . toString ( ) + "," + a . a . toString ( ) + ")" , a . color = c . Color . getColor ( a . r , a . g , a . b ) , a . color32 = c . Color . getColor32 ( a . a , a . r , a . g , a . b ) , a } , getColor32 : function ( a , b , c , d ) { return a << 24 | b << 16 | c << 8 | d } , getColor : function ( a , b , c ) { return a << 16 | b << 8 | c } , RGBtoString : function ( a , b , d , e , f ) { return void 0 === e && ( e = 255 ) , void 0 === f && ( f = "#" ) , "#" === f ? "#" + ( ( 1 << 24 ) + ( a << 16 ) + ( b << 8 ) + d ) . toString ( 16 ) . slice ( 1 ) : "0x" + c . Color . componentToHex ( e ) + c . Color . componentToHex ( a ) + c . Color . componentToHex ( b ) + c . Color . componentToHex ( d ) } , hexToRGB : function ( a ) { var b = c . Color . hexToColor ( a ) ; return b ? c . Color . getColor32 ( b . a , b . r , b . g , b . b ) : void 0 } , hexToColor : function ( a , b ) { a = a . replace ( /^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i , function ( a , b , c , d ) { return b + b + c + c + d + d } ) ; var d = /^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i . exec ( a ) ; if ( d ) { var e = parseInt ( d [ 1 ] , 16 ) , f = parseInt ( d [ 2 ] , 16 ) , g = parseInt ( d [ 3 ] , 16 ) ; b ? ( b . r = e , b . g = f , b . b = g ) : b = c . Color . createColor ( e , f , g ) } return b } , webToColor : function ( a , b ) { b || ( b = c . Color . createColor ( ) ) ; var d = /^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/ . exec ( a ) ; return d && ( b . r = parseInt ( d [ 1 ] , 10 ) , b . g = parseInt ( d [ 2 ] , 10 ) , b . b = parseInt ( d [ 3 ] , 10 ) , b . a = void 0 !== d [ 4 ] ? parseFloat ( d [ 4 ] ) : 1 , c . Color . updateColor ( b ) ) , b } , valueToColor : function ( a , b ) { if ( b || ( b = c . Color . createColor ( ) ) , "string" == typeof a ) return 0 === a . indexOf ( "rgb" ) ? c . Color . webToColor ( a , b ) : ( b . a = 1 , c . Color . hexToColor ( a , b ) ) ; if ( "number" == typeof a ) { var d = c . Color . getRGB ( a ) ; return b . r = d . r , b . g = d . g , b . b = d . b , b . a = d . a / 255 , b } return b } , componentToHex : function ( a ) { var b = a . toString ( 16 ) ; return 1 == b . length ? "0" + b : b } , HSVColorWheel : function ( a , b ) { void 0 === a && ( a = 1 ) , void 0 === b && ( b = 1 ) ; for ( var d = [ ] , e = 0 ; 359 >= e ; e ++ ) d . push ( c . Color . HSVtoRGB ( e / 35
if ( 0 !== g . length ) for ( var h = 0 ; h < g . length ; h ++ ) d ? d . call ( e , a , g [ h ] ) && this . separateTile ( h , a . body , g [ h ] , f ) && ( this . _total ++ , c && c . call ( e , a , g [ h ] ) ) : this . separateTile ( h , a . body , g [ h ] , f ) && ( this . _total ++ , c && c . call ( e , a , g [ h ] ) ) } } , collideGroupVsTilemapLayer : function ( a , b , c , d , e , f ) { if ( 0 !== a . length ) for ( var g = 0 ; g < a . children . length ; g ++ ) a . children [ g ] . exists && this . collideSpriteVsTilemapLayer ( a . children [ g ] , b , c , d , e , f ) } , separateTile : function ( a , b , c , d ) { if ( ! b . enable ) return ! 1 ; if ( ! c . intersects ( b . position . x , b . position . y , b . right , b . bottom ) ) return ! 1 ; if ( d ) return ! 0 ; if ( c . collisionCallback && ! c . collisionCallback . call ( c . collisionCallbackContext , b . sprite , c ) ) return ! 1 ; if ( c . layer . callbacks [ c . index ] && ! c . layer . callbacks [ c . index ] . callback . call ( c . layer . callbacks [ c . index ] . callbackContext , b . sprite , c ) ) return ! 1 ; if ( ! ( c . faceLeft || c . faceRight || c . faceTop || c . faceBottom ) ) return ! 1 ; var e = 0 , f = 0 , g = 0 , h = 1 ; if ( b . deltaAbsX ( ) > b . deltaAbsY ( ) ? g = - 1 : b . deltaAbsX ( ) < b . deltaAbsY ( ) && ( h = - 1 ) , 0 !== b . deltaX ( ) && 0 !== b . deltaY ( ) && ( c . faceLeft || c . faceRight ) && ( c . faceTop || c . faceBottom ) && ( g = Math . min ( Math . abs ( b . position . x - c . right ) , Math . abs ( b . right - c . left ) ) , h = Math . min ( Math . abs ( b . position . y - c . bottom ) , Math . abs ( b . bottom - c . top ) ) ) , h > g ) { if ( ( c . faceLeft || c . faceRight ) && ( e = this . tileCheckX ( b , c ) , 0 !== e && ! c . intersects ( b . position . x , b . position . y , b . right , b . bottom ) ) ) return ! 0 ; ( c . faceTop || c . faceBottom ) && ( f = this . tileCheckY ( b , c ) ) } else { if ( ( c . faceTop || c . faceBottom ) && ( f = this . tileCheckY ( b , c ) , 0 !== f && ! c . intersects ( b . position . x , b . position . y , b . right , b . bottom ) ) ) return ! 0 ; ( c . faceLeft || c . faceRight ) && ( e = this . tileCheckX ( b , c ) ) } return 0 !== e || 0 !== f } , tileCheckX : function ( a , b ) { var c = 0 ; return a . deltaX ( ) < 0 && ! a . blocked . left && b . collideRight && a . checkCollision . left ? b . faceRight && a . x < b . right && ( c = a . x - b . right , c < - this . TILE _BIAS && ( c = 0 ) ) : a . deltaX ( ) > 0 && ! a . blocked . right && b . collideLeft && a . checkCollision . right && b . faceLeft && a . right > b . left && ( c = a . right - b . left , c > this . TILE _BIAS && ( c = 0 ) ) , 0 !== c && ( a . customSeparateX ? a . overlapX = c : this . processTileSeparationX ( a , c ) ) , c } , tileCheckY : function ( a , b ) { var c = 0 ; return a . deltaY ( ) < 0 && ! a . blocked . up && b . collideDown && a . checkCollision . up ? b . faceBottom && a . y < b . bottom && ( c = a . y - b . bottom , c < - this . TILE _BIAS && ( c = 0 ) ) : a . deltaY ( ) > 0 && ! a . blocked . down && b . collideUp && a . checkCollision . down && b . faceTop && a . bottom > b . top && ( c = a . bottom - b . top , c > this . TILE _BIAS && ( c = 0 ) ) , 0 !== c && ( a . customSeparateY ? a . overlapY = c : this . processTileSeparationY ( a , c ) ) , c } , processTileSeparationX : function ( a , b ) { 0 > b ? a . blocked . left = ! 0 : b > 0 && ( a . blocked . right = ! 0 ) , a . position . x -= b , a . velocity . x = 0 === a . bounce . x ? 0 : - a . velocity . x * a . bounce . x } , processTileSeparationY : function ( a , b ) { 0 > b ? a . blocked . up = ! 0 : b > 0 && ( a . blocked . down = ! 0 ) , a . position . y -= b , a . velocity . y = 0 === a . bounce . y ? 0 : - a . velocity . y * a . bounce . y } } , c . Utils . mixinPrototype ( c . Physics . Arcade . prototype , c . Physics . Arcade . TilemapCollision . prototype ) , p2 . Body . prototype . parent = null , p2 . Spring . prototype . parent = null , c . Physics . P2 = function ( a , b ) { this . game = a , void 0 === b ? b = { gravity : [ 0 , 0 ] , broadphase : new p2 . SAPBroadphase } : ( b . hasOwnProperty ( "gravity" ) || ( b . gravity = [ 0 , 0 ] ) , b . hasOwnProperty ( "broadphase" ) || ( b . broadphase = new p2 . SAPBroadphase ) ) , this . config = b , this . world = new p2 . World ( this . config ) , this . frameRate = 1 / 60 , this . useElapsedTime = ! 1 , this . paused = ! 1 , this . materials = [ ] , this . gravity = new c . Physics . P2 . InversePointProxy ( this , this . world . gravity ) , this . walls = { left : null , right : null , top : null , bottom : null } , this . onBodyAdded = new c . Signal , this . onBodyRemoved = new c . Signal , this . onSpringAdded = new c . Signal , this . onSpringRemoved = new c . Signal , this . onConstraintAdded = new c . Signal , this . onConstraintRemoved = new c . Signal , this . onContactMaterialAdded = new c . Signal , this . onContactMaterialRemoved = new c . Signal , this . postBroadphaseCallback = null , this . callbackContext = null , this . onBeginContact = new c . Signal , this . onEndContact = new c . Signal , b . hasOwnProperty ( "mpx" ) && b . hasOwnProperty ( "pxm" ) && b . hasOwnProperty ( "mpxi" ) && b . hasOwnProperty ( "pxmi" ) && ( this . mpx = b . mpx , this . mpxi = b . mpxi , this . pxm = b . pxm , this . pxmi = b . pxmi ) , this . world . on ( "beginContact" , this . beginContactHandler , this ) , this . world . on ( "endContact" , this . endContactHandler , this ) , this . collisionGroups = [ ] , this . nothingCollisionGroup = new c . Physics . P2 . CollisionGroup ( 1 ) , this . boundsCollisionGroup = new c . Physics . P2 . CollisionGroup
2015-08-24 12:55:00 +00:00
} return this . data . aabbNeedsUpdate = ! 0 , this . shapeChanged ( ) , ! 0 } } , c . Physics . P2 . Body . prototype . constructor = c . Physics . P2 . Body , c . Physics . P2 . Body . DYNAMIC = 1 , c . Physics . P2 . Body . STATIC = 2 , c . Physics . P2 . Body . KINEMATIC = 4 , Object . defineProperty ( c . Physics . P2 . Body . prototype , "static" , { get : function ( ) { return this . data . type === c . Physics . P2 . Body . STATIC } , set : function ( a ) { a && this . data . type !== c . Physics . P2 . Body . STATIC ? ( this . data . type = c . Physics . P2 . Body . STATIC , this . mass = 0 ) : a || this . data . type !== c . Physics . P2 . Body . STATIC || ( this . data . type = c . Physics . P2 . Body . DYNAMIC , this . mass = 1 ) } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "dynamic" , { get : function ( ) { return this . data . type === c . Physics . P2 . Body . DYNAMIC } , set : function ( a ) { a && this . data . type !== c . Physics . P2 . Body . DYNAMIC ? ( this . data . type = c . Physics . P2 . Body . DYNAMIC , this . mass = 1 ) : a || this . data . type !== c . Physics . P2 . Body . DYNAMIC || ( this . data . type = c . Physics . P2 . Body . STATIC , this . mass = 0 ) } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "kinematic" , { get : function ( ) { return this . data . type === c . Physics . P2 . Body . KINEMATIC } , set : function ( a ) { a && this . data . type !== c . Physics . P2 . Body . KINEMATIC ? ( this . data . type = c . Physics . P2 . Body . KINEMATIC , this . mass = 4 ) : a || this . data . type !== c . Physics . P2 . Body . KINEMATIC || ( this . data . type = c . Physics . P2 . Body . STATIC , this . mass = 0 ) } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "allowSleep" , { get : function ( ) { return this . data . allowSleep } , set : function ( a ) { a !== this . data . allowSleep && ( this . data . allowSleep = a ) } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "angle" , { get : function ( ) { return c . Math . wrapAngle ( c . Math . radToDeg ( this . data . angle ) ) } , set : function ( a ) { this . data . angle = c . Math . degToRad ( c . Math . wrapAngle ( a ) ) } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "angularDamping" , { get : function ( ) { return this . data . angularDamping } , set : function ( a ) { this . data . angularDamping = a } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "angularForce" , { get : function ( ) { return this . data . angularForce } , set : function ( a ) { this . data . angularForce = a } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "angularVelocity" , { get : function ( ) { return this . data . angularVelocity } , set : function ( a ) { this . data . angularVelocity = a } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "damping" , { get : function ( ) { return this . data . damping } , set : function ( a ) { this . data . damping = a } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "fixedRotation" , { get : function ( ) { return this . data . fixedRotation } , set : function ( a ) { a !== this . data . fixedRotation && ( this . data . fixedRotation = a ) } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "inertia" , { get : function ( ) { return this . data . inertia } , set : function ( a ) { this . data . inertia = a } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "mass" , { get : function ( ) { return this . data . mass } , set : function ( a ) { a !== this . data . mass && ( this . data . mass = a , this . data . updateMassProperties ( ) ) } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "motionState" , { get : function ( ) { return this . data . type } , set : function ( a ) { a !== this . data . type && ( this . data . type = a ) } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "rotation" , { get : function ( ) { return this . data . angle } , set : function ( a ) { this . data . angle = a } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "sleepSpeedLimit" , { get : function ( ) { return this . data . sleepSpeedLimit } , set : function ( a ) { this . data . sleepSpeedLimit = a } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "x" , { get : function ( ) { return this . world . mpxi ( this . data . position [ 0 ] ) } , set : function ( a ) { this . data . position [ 0 ] = this . world . pxmi ( a ) } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "y" , { get : function ( ) { return this . world . mpxi ( this . data . position [ 1 ] ) } , set : function ( a ) { this . data . position [ 1 ] = this . world . pxmi ( a ) } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "id" , { get : function ( ) { return this . data . id } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "debug" , { get : function ( ) { return null !== this . debugBody } , set : function ( a ) { a && ! this . debugBody ? this . debugBody = new c . Physics . P2 . BodyDebug ( this . game , this . data ) : ! a && this . debugBody && ( this . debugBody . destroy ( ) , this . debugBody = null ) } } ) , Object . defineProperty ( c . Physics . P2 . Body . prototype , "collideWorldBounds" , { get : function ( ) { return this . _collideWorldBounds } , set : functio
} , c . TilemapLayer . prototype . _unfixX = function ( a ) { return 1 === this . scrollFactorX ? a : this . _scrollX / this . scrollFactorX + ( a - this . _scrollX ) } , c . TilemapLayer . prototype . _fixY = function ( a ) { return 0 > a && ( a = 0 ) , 1 === this . scrollFactorY ? a : this . _scrollY + ( a - this . _scrollY / this . scrollFactorY ) } , c . TilemapLayer . prototype . _unfixY = function ( a ) { return 1 === this . scrollFactorY ? a : this . _scrollY / this . scrollFactorY + ( a - this . _scrollY ) } , c . TilemapLayer . prototype . getTileX = function ( a ) { return Math . floor ( this . _fixX ( a ) / this . _mc . tileWidth ) } , c . TilemapLayer . prototype . getTileY = function ( a ) { return Math . floor ( this . _fixY ( a ) / this . _mc . tileHeight ) } , c . TilemapLayer . prototype . getTileXY = function ( a , b , c ) { return c . x = this . getTileX ( a ) , c . y = this . getTileY ( b ) , c } , c . TilemapLayer . prototype . getRayCastTiles = function ( a , b , c , d ) { b || ( b = this . rayStepRate ) , void 0 === c && ( c = ! 1 ) , void 0 === d && ( d = ! 1 ) ; var e = this . getTiles ( a . x , a . y , a . width , a . height , c , d ) ; if ( 0 === e . length ) return [ ] ; for ( var f = a . coordinatesOnLine ( b ) , g = [ ] , h = 0 ; h < e . length ; h ++ ) for ( var i = 0 ; i < f . length ; i ++ ) { var j = e [ h ] , k = f [ i ] ; if ( j . containsPoint ( k [ 0 ] , k [ 1 ] ) ) { g . push ( j ) ; break } } return g } , c . TilemapLayer . prototype . getTiles = function ( a , b , c , d , e , f ) { void 0 === e && ( e = ! 1 ) , void 0 === f && ( f = ! 1 ) ; var g = ! ( e || f ) ; a = this . _fixX ( a ) , b = this . _fixY ( b ) ; for ( var h = Math . floor ( a / ( this . _mc . cw * this . scale . x ) ) , i = Math . floor ( b / ( this . _mc . ch * this . scale . y ) ) , j = Math . ceil ( ( a + c ) / ( this . _mc . cw * this . scale . x ) ) - h , k = Math . ceil ( ( b + d ) / ( this . _mc . ch * this . scale . y ) ) - i ; this . _results . length ; ) this . _results . pop ( ) ; for ( var l = i ; i + k > l ; l ++ ) for ( var m = h ; h + j > m ; m ++ ) { var n = this . layer . data [ l ] ; n && n [ m ] && ( g || n [ m ] . isInteresting ( e , f ) ) && this . _results . push ( n [ m ] ) } return this . _results . slice ( ) } , c . TilemapLayer . prototype . resolveTileset = function ( a ) { var b = this . _mc . tilesets ; if ( 2e3 > a ) for ( ; b . length < a ; ) b . push ( void 0 ) ; var c = this . map . tiles [ a ] && this . map . tiles [ a ] [ 2 ] ; if ( null != c ) { var d = this . map . tilesets [ c ] ; if ( d && d . containsTileIndex ( a ) ) return b [ a ] = d } return b [ a ] = null } , c . TilemapLayer . prototype . resetTilesetCache = function ( ) { for ( var a = this . _mc . tilesets ; a . length ; ) a . pop ( ) } , c . TilemapLayer . prototype . setScale = function ( a , b ) { a = a || 1 , b = b || a ; for ( var c = 0 ; c < this . layer . data . length ; c ++ ) for ( var d = this . layer . data [ c ] , e = 0 ; e < d . length ; e ++ ) { var f = d [ e ] ; f . width = this . map . tileWidth * a , f . height = this . map . tileHeight * b , f . worldX = f . x * f . width , f . worldY = f . y * f . height } this . scale . setTo ( a , b ) } , c . TilemapLayer . prototype . shiftCanvas = function ( a , b , c ) { var d = a . canvas , e = d . width - Math . abs ( b ) , f = d . height - Math . abs ( c ) , g = 0 , h = 0 , i = b , j = c ; 0 > b && ( g = - b , i = 0 ) , 0 > c && ( h = - c , j = 0 ) ; var k = this . renderSettings . copyCanvas ; if ( k ) { ( k . width < e || k . height < f ) && ( k . width = e , k . height = f ) ; var l = k . getContext ( "2d" ) ; l . clearRect ( 0 , 0 , e , f ) , l . drawImage ( d , g , h , e , f , 0 , 0 , e , f ) , a . clearRect ( i , j , e , f ) , a . drawImage ( k , 0 , 0 , e , f , i , j , e , f ) } else a . save ( ) , a . globalCompositeOperation = "copy" , a . drawImage ( d , g , h , e , f , i , j , e , f ) , a . restore ( ) } , c . TilemapLayer . prototype . renderRegion = function ( a , b , c , d , e , f ) { var g = this . context , h = this . layer . width , i = this . layer . height , j = this . _mc . tileWidth , k = this . _mc . tileHeight , l = this . _mc . tilesets , m = 0 / 0 ; this . _wrap || ( e >= c && ( c = Math . max ( 0 , c ) , e = Math . min ( h - 1 , e ) ) , f >= d && ( d = Math . max ( 0 , d ) , f = Math . min ( i - 1 , f ) ) ) ; var n , o , p , q , r , s , t = c * j - a , u = d * k - b , v = ( c + ( 1 << 20 ) * h ) % h , w = ( d + ( 1 << 20 ) * i ) % i ; for ( g . fillStyle = this . tileColor , q = w , s = f - d , o = u ; s >= 0 ; q ++ , s -- , o += k ) { q >= i && ( q -= i ) ; var x = this . layer . data [ q ] ; for ( p = v , r = e - c , n = t ; r >= 0 ; p ++ , r -- , n += j ) { p >= h && ( p -= h ) ; var y = x [ p ] ; if ( y && ! ( y . index < 0 ) ) { var z = y . index , A = l [ z ] ; void 0 === A && ( A = this . resolveTileset ( z ) ) , y . alpha === m || this . debug || ( g . globalAlpha = y . alpha , m = y . alpha ) , A ? y . rotation || y . flipped ? ( g . save ( ) , g . translate ( n + y . centerX , o + y . centerY ) , g . rotate ( y . rotation ) , y . flipped && g . scale ( - 1 , 1 ) , A . draw ( g , - y . centerX , - y . centerY , z ) , g . restore ( ) ) : A . draw ( g , n , o , z ) : this . debugSettings . missingImageFill && ( g . fillStyle = this . debugSettings . missingImageFill , g . fillRect ( n , o , j , k ) ) , y . debug && this . debugSettings . debuggedTileOverfill && ( g . fillStyle = this . debugSettings . debuggedTileOverfill , g . fillRect ( n , o , j , k ) ) } } } } , c . TilemapLayer . prototype . renderDeltaScroll = function ( a , b ) { var c = this . _mc . scrollX , d = this . _mc . scrollY , e = this . canvas . width , f = this . canvas . height , g = this . _mc . tileWidth , h = this . _mc . tileHeight , i = 0 , j = - g , k = 0 , l = - h ; if ( 0 > a ? ( i = e + a , j = e - 1 ) : a > 0 && ( j = a ) , 0 > b ? ( k = f + b , l = f - 1 ) : b > 0 && ( l = b ) , this . shiftCanvas ( this . context , a , b ) , i = Math . fl
} } , Object . defineProperty ( c . Video . prototype , "currentTime" , { get : function ( ) { return this . video ? this . video . currentTime : 0 } , set : function ( a ) { this . video . currentTime = a } } ) , Object . defineProperty ( c . Video . prototype , "duration" , { get : function ( ) { return this . video ? this . video . duration : 0 } } ) , Object . defineProperty ( c . Video . prototype , "progress" , { get : function ( ) { return this . video ? this . video . currentTime / this . video . duration : 0 } } ) , Object . defineProperty ( c . Video . prototype , "mute" , { get : function ( ) { return this . _muted } , set : function ( a ) { if ( a = a || null ) { if ( this . _muted ) return ; this . _codeMuted = ! 0 , this . setMute ( ) } else { if ( ! this . _muted ) return ; this . _codeMuted = ! 1 , this . unsetMute ( ) } } } ) , Object . defineProperty ( c . Video . prototype , "paused" , { get : function ( ) { return this . _paused } , set : function ( a ) { if ( a = a || null , ! this . touchLocked ) if ( a ) { if ( this . _paused ) return ; this . _codePaused = ! 0 , this . setPause ( ) } else { if ( ! this . _paused ) return ; this . _codePaused = ! 1 , this . setResume ( ) } } } ) , Object . defineProperty ( c . Video . prototype , "volume" , { get : function ( ) { return this . video ? this . video . volume : 1 } , set : function ( a ) { 0 > a ? a = 0 : a > 1 && ( a = 1 ) , this . video && ( this . video . volume = a ) } } ) , Object . defineProperty ( c . Video . prototype , "playbackRate" , { get : function ( ) { return this . video ? this . video . playbackRate : 1 } , set : function ( a ) { this . video && ( this . video . playbackRate = a ) } } ) , Object . defineProperty ( c . Video . prototype , "loop" , { get : function ( ) { return this . video ? this . video . loop : ! 1 } , set : function ( a ) { a && this . video ? this . video . loop = "loop" : this . video && ( this . video . loop = "" ) } } ) , Object . defineProperty ( c . Video . prototype , "playing" , { get : function ( ) { return ! ( this . video . paused && this . video . ended ) } } ) , c . Video . prototype . constructor = c . Video , void 0 === PIXI . blendModes && ( PIXI . blendModes = c . blendModes ) , void 0 === PIXI . scaleModes && ( PIXI . scaleModes = c . scaleModes ) , void 0 === PIXI . Texture . emptyTexture && ( PIXI . Texture . emptyTexture = new PIXI . Texture ( new PIXI . BaseTexture ) ) , void 0 === PIXI . DisplayObject . _tempMatrix && ( PIXI . DisplayObject . _tempMatrix = new PIXI . Matrix ) , void 0 === PIXI . RenderTexture . tempMatrix && ( PIXI . RenderTexture . tempMatrix = new PIXI . Matrix ) , void 0 === PIXI . Graphics . POLY && ( PIXI . Graphics . POLY = c . POLYGON , PIXI . Graphics . RECT = c . RECTANGLE , PIXI . Graphics . CIRC = c . CIRCLE , PIXI . Graphics . ELIP = c . ELLIPSE , PIXI . Graphics . RREC = c . ROUNDEDRECTANGLE ) , PIXI . TextureSilentFail = ! 0 , "undefined" != typeof exports ? ( "undefined" != typeof module && module . exports && ( exports = module . exports = c ) , exports . Phaser = c ) : "undefined" != typeof define && define . amd ? define ( "Phaser" , function ( ) { return b . Phaser = c } ( ) ) : b . Phaser = c , c } . call ( this ) ;
2014-02-28 09:30:53 +00:00
//# sourceMappingURL=phaser.map