2016-11-28 16:50:04 +00:00
/* Phaser v2.7.1 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */
2016-11-23 00:59:32 +00:00
2016-11-28 16:50:04 +00:00
( function ( ) { function a ( a , b ) { this . _scaleFactor = a , this . _deltaMode = b , this . originalEvent = null } var b = this , c = c || { VERSION : "2.7.1" , GAMES : [ ] , AUTO : 0 , CANVAS : 1 , WEBGL : 2 , HEADLESS : 3 , WEBGL _MULTI : 4 , NONE : 0 , LEFT : 1 , RIGHT : 2 , UP : 3 , DOWN : 4 , SPRITE : 0 , BUTTON : 1 , IMAGE : 2 , GRAPHICS : 3 , TEXT : 4 , TILESPRITE : 5 , BITMAPTEXT : 6 , GROUP : 7 , RENDERTEXTURE : 8 , TILEMAP : 9 , TILEMAPLAYER : 10 , EMITTER : 11 , POLYGON : 12 , BITMAPDATA : 13 , CANVAS _FILTER : 14 , WEBGL _FILTER : 15 , ELLIPSE : 16 , SPRITEBATCH : 17 , RETROFONT : 18 , POINTER : 19 , ROPE : 20 , CIRCLE : 21 , RECTANGLE : 22 , LINE : 23 , MATRIX : 24 , POINT : 25 , ROUNDEDRECTANGLE : 26 , CREATURE : 27 , VIDEO : 28 , PENDING _ATLAS : - 1 , HORIZONTAL : 0 , VERTICAL : 1 , LANDSCAPE : 0 , PORTRAIT : 1 , ANGLE _UP : 270 , ANGLE _DOWN : 90 , ANGLE _LEFT : 180 , ANGLE _RIGHT : 0 , ANGLE _NORTH _EAST : 315 , ANGLE _NORTH _WEST : 225 , ANGLE _SOUTH _EAST : 45 , ANGLE _SOUTH _WEST : 135 , TOP _LEFT : 0 , TOP _CENTER : 1 , TOP _RIGHT : 2 , LEFT _TOP : 3 , LEFT _CENTER : 4 , LEFT _BOTTOM : 5 , CENTER : 6 , RIGHT _TOP : 7 , RIGHT _CENTER : 8 , RIGHT _BOTTOM : 9 , BOTTOM _LEFT : 10 , BOTTOM _CENTER : 11 , BOTTOM _RIGHT : 12 , blendModes : { NORMAL : 0 , ADD : 1 , MULTIPLY : 2 , SCREEN : 3 , OVERLAY : 4 , DARKEN : 5 , LIGHTEN : 6 , COLOR _DODGE : 7 , COLOR _BURN : 8 , HARD _LIGHT : 9 , SOFT _LIGHT : 10 , DIFFERENCE : 11 , EXCLUSION : 12 , HUE : 13 , SATURATION : 14 , COLOR : 15 , LUMINOSITY : 16 } , scaleModes : { DEFAULT : 0 , LINEAR : 0 , NEAREST : 1 } , PIXI : PIXI || { } , _UID : 0 } ; if ( Math . trunc || ( Math . trunc = function ( a ) { return a < 0 ? Math . ceil ( a ) : Math . floor ( a ) } ) , Function . prototype . bind || ( Function . prototype . bind = function ( ) { var a = Array . prototype . slice ; return function ( b ) { function c ( ) { var f = e . concat ( a . call ( arguments ) ) ; d . apply ( this instanceof c ? this : b , f ) } var d = this , e = a . call ( arguments , 1 ) ; if ( "function" != typeof d ) throw new TypeError ; return c . prototype = function a ( b ) { if ( b && ( a . prototype = b ) , ! ( this instanceof a ) ) return new a } ( d . prototype ) , c } } ( ) ) , Array . isArray || ( Array . isArray = function ( a ) { return "[object Array]" === Object . prototype . toString . call ( a ) } ) , Array . prototype . forEach || ( Array . prototype . forEach = function ( a ) { "use strict" ; if ( void 0 === this || null === this ) throw new TypeError ; var b = Object ( this ) , c = b . length >>> 0 ; if ( "function" != typeof a ) throw new TypeError ; for ( var d = arguments . length >= 2 ? arguments [ 1 ] : void 0 , e = 0 ; e < c ; e ++ ) e in b && a . call ( d , b [ e ] , e , b ) } ) , "function" != typeof window . Uint32Array && "object" != typeof window . Uint32Array ) { var d = function ( a ) { var b = new Array ; window [ a ] = function ( a ) { if ( "number" == typeof a ) { Array . call ( this , a ) , this . length = a ; for ( var b = 0 ; b < this . length ; b ++ ) this [ 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 ( "Float32Array" ) , d ( "Uint32Array" ) , d ( "Uint16Array" ) , d ( "Int16Array" ) , d ( "ArrayBuffer" ) } window . console || ( window . console = { } , window . console . log = window . console . assert = function ( ) { } , window . console . warn = window . console . assert = function ( ) { } ) , c . Utils = { reverseString : function ( a ) { return a . split ( "" ) . reverse ( ) . join ( "" ) } , getProperty : function ( a , b ) { for ( var c = b . split ( "." ) , d = c . pop ( ) , e = c . length , f = 1 , g = c [ 0 ] ; f < e && ( 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 ] ; g < f && ( 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 ; a = a . toString ( ) ; 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 ( a ) { 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 ) ; i < j ; i ++ ) if ( null != ( a = arguments [ i ] ) ) for ( b in a ) d = h [ b ] , e = a [ b ] , h !== e && ( k && e && ( c . Utils . i
2016-11-23 00:59:32 +00:00
vertical : ! 1 , shakeBounds : ! 0 , x : 0 , y : 0 } , this . _fxDuration = 0 , this . _fxType = 0 } , c . Camera . FOLLOW _LOCKON = 0 , c . Camera . FOLLOW _PLATFORMER = 1 , c . Camera . FOLLOW _TOPDOWN = 2 , c . Camera . FOLLOW _TOPDOWN _TIGHT = 3 , c . Camera . SHAKE _BOTH = 4 , c . Camera . SHAKE _HORIZONTAL = 5 , c . Camera . SHAKE _VERTICAL = 6 , c . Camera . ENABLE _FX = ! 0 , c . Camera . prototype = { boot : function ( ) { this . displayObject = this . game . world , this . scale = this . game . world . scale , this . game . camera = this , c . Graphics && c . Camera . ENABLE _FX && ( this . fx = new c . Graphics ( this . game ) , this . game . stage . addChild ( this . fx ) ) } , preUpdate : function ( ) { this . totalInView = 0 } , follow : function ( a , b , d , e ) { void 0 === b && ( b = c . Camera . FOLLOW _LOCKON ) , void 0 === d && ( d = 1 ) , void 0 === e && ( e = 1 ) , this . target = a , this . lerp . set ( d , e ) ; var f ; switch ( b ) { case c . Camera . FOLLOW _PLATFORMER : var g = this . width / 8 , h = this . height / 3 ; this . deadzone = new c . Rectangle ( ( this . width - g ) / 2 , ( this . height - h ) / 2 - . 25 * h , g , h ) ; break ; case c . Camera . FOLLOW _TOPDOWN : f = Math . max ( this . width , this . height ) / 4 , this . deadzone = new c . Rectangle ( ( this . width - f ) / 2 , ( this . height - f ) / 2 , f , f ) ; break ; case c . Camera . FOLLOW _TOPDOWN _TIGHT : f = Math . max ( this . width , this . height ) / 8 , this . deadzone = new c . Rectangle ( ( this . width - f ) / 2 , ( this . height - f ) / 2 , f , f ) ; break ; case c . Camera . FOLLOW _LOCKON : this . deadzone = null ; break ; default : this . deadzone = null } } , unfollow : function ( ) { this . target = null } , focusOn : function ( a ) { this . setPosition ( Math . round ( a . x - this . view . halfWidth ) , Math . round ( a . y - this . view . halfHeight ) ) } , focusOnXY : function ( a , b ) { this . setPosition ( Math . round ( a - this . view . halfWidth ) , Math . round ( b - this . view . halfHeight ) ) } , shake : function ( a , b , d , e , f ) { return void 0 === a && ( a = . 05 ) , void 0 === b && ( b = 500 ) , void 0 === d && ( d = ! 0 ) , void 0 === e && ( e = c . Camera . SHAKE _BOTH ) , void 0 === f && ( f = ! 0 ) , ! ( ! d && this . _shake . duration > 0 ) && ( this . _shake . intensity = a , this . _shake . duration = b , this . _shake . shakeBounds = f , this . _shake . x = 0 , this . _shake . y = 0 , this . _shake . horizontal = e === c . Camera . SHAKE _BOTH || e === c . Camera . SHAKE _HORIZONTAL , this . _shake . vertical = e === c . Camera . SHAKE _BOTH || e === c . Camera . SHAKE _VERTICAL , ! 0 ) } , flash : function ( a , b , c , d ) { return void 0 === a && ( a = 16777215 ) , void 0 === b && ( b = 500 ) , void 0 === c && ( c = ! 1 ) , void 0 === d && ( d = 1 ) , ! ( ! this . fx || ! c && this . _fxDuration > 0 ) && ( this . fx . clear ( ) , this . fx . beginFill ( a , d ) , this . fx . drawRect ( 0 , 0 , this . width , this . height ) , this . fx . endFill ( ) , this . fx . alpha = 1 , this . _fxDuration = b , this . _fxType = 0 , ! 0 ) } , fade : function ( a , b , c , d ) { return void 0 === a && ( a = 0 ) , void 0 === b && ( b = 500 ) , void 0 === c && ( c = ! 1 ) , void 0 === d && ( d = 1 ) , ! ( ! this . fx || ! c && this . _fxDuration > 0 ) && ( this . fx . clear ( ) , this . fx . beginFill ( a , d ) , this . fx . drawRect ( 0 , 0 , this . width , this . height ) , this . fx . endFill ( ) , this . fx . alpha = 0 , this . _fxDuration = b , this . _fxType = 1 , ! 0 ) } , update : function ( ) { this . _fxDuration > 0 && this . updateFX ( ) , this . _shake . duration > 0 && this . updateShake ( ) , this . bounds && this . checkBounds ( ) , this . roundPx && ( this . view . floor ( ) , this . _shake . x = Math . floor ( this . _shake . x ) , this . _shake . y = Math . floor ( this . _shake . y ) ) , this . displayObject . position . x = - this . view . x , this . displayObject . position . y = - this . view . y } , updateFX : function ( ) { 0 === this . _fxType ? ( this . fx . alpha -= this . game . time . elapsedMS / this . _fxDuration , this . fx . alpha <= 0 && ( this . _fxDuration = 0 , this . fx . alpha = 0 , this . onFlashComplete . dispatch ( ) ) ) : ( this . fx . alpha += this . game . time . elapsedMS / this . _fxDuration , this . fx . alpha >= 1 && ( this . _fxDuration = 0 , this . fx . alpha = 1 , this . onFadeComplete . dispatch ( ) ) ) } , updateShake : function ( ) { this . _shake . duration -= this . game . time . elapsedMS , this . _shake . duration <= 0 ? ( this . onShakeComplete . dispatch ( ) , this . _shake . x = 0 , this . _shake . y = 0 ) : ( this . _shake . horizontal && ( this . _shake . x = this . game . rnd . frac ( ) * this . _shake . intensity * this . view . width * 2 - this . _shake . intensity * this . view . width ) , this . _shake . vertical && ( this . _shake . y = this . game . rnd . frac ( ) * this . _shake . intensity * this . view . height * 2 - this . _shake . intensity * this . view . height ) ) } , updateTarget : function ( ) { this . _targetPosition . x = this . view . x + this . target . worldPosition . x , this . _targetPosition . y = this . view . y + this . target . worldPosition . y , this . deadzone ? ( this . _edge = this . _targetPosition . x - this . view . x , this . _edge < this . deadzone . left ? this . view . x = this . game . math . linear ( this . view . x , this . _targetPosition . x - this . deadzone . left , this . lerp . x ) : this . _edge > this . deadzone . right && ( this . view . x = this . game . math . linear ( this . view . x , this . _targetPosition . x - this . deadzone . right
} , c . Group . prototype . getIndex = function ( a ) { return this . children . indexOf ( a ) } , c . Group . prototype . getByName = function ( a ) { for ( var b = 0 ; b < this . children . length ; b ++ ) if ( this . children [ b ] . name === a ) return this . children [ b ] ; return null } , c . Group . prototype . replace = function ( a , b ) { var d = this . getIndex ( a ) ; if ( d !== - 1 ) return b . parent && ( b . parent instanceof c . Group ? b . parent . remove ( b ) : b . parent . removeChild ( b ) ) , this . remove ( a ) , this . addAt ( b , d ) , a } , c . Group . prototype . hasProperty = function ( a , b ) { var c = b . length ; return 1 === c && b [ 0 ] in a || ( 2 === c && b [ 0 ] in a && b [ 1 ] in a [ b [ 0 ] ] || ( 3 === c && b [ 0 ] in a && b [ 1 ] in a [ b [ 0 ] ] && b [ 2 ] in a [ b [ 0 ] ] [ b [ 1 ] ] || 4 === c && b [ 0 ] in a && b [ 1 ] in a [ b [ 0 ] ] && b [ 2 ] in a [ b [ 0 ] ] [ b [ 1 ] ] && b [ 3 ] in a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] ) ) } , c . Group . prototype . setProperty = function ( a , b , c , d , e ) { if ( void 0 === e && ( e = ! 1 ) , d = d || 0 , ! this . hasProperty ( a , b ) && ( ! e || d > 0 ) ) return ! 1 ; var f = b . length ; return 1 === f ? 0 === d ? a [ b [ 0 ] ] = c : 1 === d ? a [ b [ 0 ] ] += c : 2 === d ? a [ b [ 0 ] ] -= c : 3 === d ? a [ b [ 0 ] ] *= c : 4 === d && ( a [ b [ 0 ] ] /= c ) : 2 === f ? 0 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] = c : 1 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] += c : 2 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] -= c : 3 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] *= c : 4 === d && ( a [ b [ 0 ] ] [ b [ 1 ] ] /= c ) : 3 === f ? 0 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] = c : 1 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] += c : 2 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] -= c : 3 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] *= c : 4 === d && ( a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] /= c ) : 4 === f && ( 0 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] [ b [ 3 ] ] = c : 1 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] [ b [ 3 ] ] += c : 2 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] [ b [ 3 ] ] -= c : 3 === d ? a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] [ b [ 3 ] ] *= c : 4 === d && ( a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] [ b [ 3 ] ] /= c ) ) , ! 0 } , c . Group . prototype . checkProperty = function ( a , b , d , e ) { return void 0 === e && ( e = ! 1 ) , ! ( ! c . Utils . getProperty ( a , b ) && e ) && c . Utils . getProperty ( a , b ) === d } , c . Group . prototype . set = function ( a , b , c , d , e , f , g ) { if ( void 0 === g && ( g = ! 1 ) , b = b . split ( "." ) , void 0 === d && ( d = ! 1 ) , void 0 === e && ( e = ! 1 ) , ( d === ! 1 || d && a . alive ) && ( e === ! 1 || e && a . visible ) ) return this . setProperty ( a , b , c , f , g ) } , c . Group . prototype . setAll = function ( a , b , c , d , e , f ) { void 0 === c && ( c = ! 1 ) , void 0 === d && ( d = ! 1 ) , void 0 === f && ( f = ! 1 ) , a = a . split ( "." ) , e = e || 0 ; for ( var g = 0 ; g < this . children . length ; g ++ ) ( ! c || c && this . children [ g ] . alive ) && ( ! d || d && this . children [ g ] . visible ) && this . setProperty ( this . children [ g ] , a , b , e , f ) } , c . Group . prototype . setAllChildren = function ( a , b , d , e , f , g ) { void 0 === d && ( d = ! 1 ) , void 0 === e && ( e = ! 1 ) , void 0 === g && ( g = ! 1 ) , f = f || 0 ; for ( var h = 0 ; h < this . children . length ; h ++ ) ( ! d || d && this . children [ h ] . alive ) && ( ! e || e && this . children [ h ] . visible ) && ( this . children [ h ] instanceof c . Group ? this . children [ h ] . setAllChildren ( a , b , d , e , f , g ) : this . setProperty ( this . children [ h ] , a . split ( "." ) , b , f , g ) ) } , c . Group . prototype . checkAll = function ( a , b , c , d , e ) { void 0 === c && ( c = ! 1 ) , void 0 === d && ( d = ! 1 ) , void 0 === e && ( e = ! 1 ) ; for ( var f = 0 ; f < this . children . length ; f ++ ) if ( ( ! c || c && this . children [ f ] . alive ) && ( ! d || d && this . children [ f ] . visible ) && ! this . checkProperty ( this . children [ f ] , a , b , e ) ) return ! 1 ; return ! 0 } , c . Group . prototype . addAll = function ( a , b , c , d ) { this . setAll ( a , b , c , d , 1 ) } , c . Group . prototype . subAll = function ( a , b , c , d ) { this . setAll ( a , b , c , d , 2 ) } , c . Group . prototype . multiplyAll = function ( a , b , c , d ) { this . setAll ( a , b , c , d , 3 ) } , c . Group . prototype . divideAll = function ( a , b , c , d ) { this . setAll ( a , b , c , d , 4 ) } , c . Group . prototype . callAllExists = function ( a , b ) { var c ; if ( arguments . length > 2 ) { c = [ ] ; for ( var d = 2 ; d < arguments . length ; d ++ ) c . push ( arguments [ d ] ) } for ( var d = 0 ; d < this . children . length ; d ++ ) this . children [ d ] . exists === b && this . children [ d ] [ a ] && this . children [ d ] [ a ] . apply ( this . children [ d ] , c ) } , c . Group . prototype . callbackFromArray = function ( a , b , c ) { if ( 1 === c ) { if ( a [ b [ 0 ] ] ) return a [ b [ 0 ] ] } else if ( 2 === c ) { if ( a [ b [ 0 ] ] [ b [ 1 ] ] ) return a [ b [ 0 ] ] [ b [ 1 ] ] } else if ( 3 === c ) { if ( a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] ) return a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] } else if ( 4 === c ) { if ( a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] [ b [ 3 ] ] ) return a [ b [ 0 ] ] [ b [ 1 ] ] [ b [ 2 ] ] [ b [ 3 ] ] } else if ( a [ b ] ) return a [ b ] ; return ! 1 } , c . Group . prototype . callAll = function ( a , b ) { if ( void 0 !== a ) { a = a . split ( "." ) ; var c = a . length ; if ( void 0 === b || null === b || "" === b ) b = null ; else if ( "string" == typeof b ) { b = b . split ( "." ) ; var d = b . length } var e ; if ( arguments . length > 2 ) { e = [ ] ; for ( var f = 2 ; f < arguments . length ; f ++ ) e . push ( arguments [ f ] ) } for ( var g = null , h = null , f = 0 ; f < this . children . length ; f ++ ) g = this . callbackFromArray ( this . children [ f ] , a , c ) , b && g ? ( h = this . callbackFromArray ( this . children [ f ] , b , d ) , g && g . apply ( h , e ) ) : g && g . apply ( this . children [ f ] , e ) } } , c . Group . prototype . preUpdate = function ( ) { if ( this . pendingDestroy ) return this . destroy ( ) , ! 1 ; if ( ! this . exists || ! this . parent . ex
} , set : function ( a ) { this . _y = Math . floor ( a ) } } ) , Object . defineProperty ( c . Input . prototype , "pollLocked" , { get : function ( ) { return this . pollRate > 0 && this . _pollCounter < this . pollRate } } ) , Object . defineProperty ( c . Input . prototype , "totalInactivePointers" , { get : function ( ) { return this . pointers . length - this . countActivePointers ( ) } } ) , Object . defineProperty ( c . Input . prototype , "totalActivePointers" , { get : function ( ) { return this . countActivePointers ( ) } } ) , Object . defineProperty ( c . Input . prototype , "worldX" , { get : function ( ) { return this . game . camera . view . x + this . x } } ) , Object . defineProperty ( c . Input . prototype , "worldY" , { get : function ( ) { return this . game . camera . view . y + this . y } } ) , c . Mouse = function ( a ) { this . game = a , this . input = a . input , this . callbackContext = this . game , this . mouseDownCallback = null , this . mouseUpCallback = null , this . mouseOutCallback = null , this . mouseOverCallback = null , this . mouseWheelCallback = null , this . capture = ! 1 , this . button = - 1 , this . wheelDelta = 0 , this . enabled = ! 0 , this . locked = ! 1 , this . stopOnGameOut = ! 1 , this . pointerLock = new c . Signal , this . event = null , this . _onMouseDown = null , this . _onMouseMove = null , this . _onMouseUp = null , this . _onMouseOut = null , this . _onMouseOver = null , this . _onMouseWheel = null , this . _wheelEvent = null } , c . Mouse . NO _BUTTON = - 1 , c . Mouse . LEFT _BUTTON = 0 , c . Mouse . MIDDLE _BUTTON = 1 , c . Mouse . RIGHT _BUTTON = 2 , c . Mouse . BACK _BUTTON = 3 , c . Mouse . FORWARD _BUTTON = 4 , c . Mouse . WHEEL _UP = 1 , c . Mouse . WHEEL _DOWN = - 1 , c . Mouse . prototype = { start : function ( ) { if ( ( ! this . game . device . android || this . game . device . chrome !== ! 1 ) && null === this . _onMouseDown ) { var b = this ; this . _onMouseDown = function ( a ) { return b . onMouseDown ( a ) } , this . _onMouseMove = function ( a ) { return b . onMouseMove ( a ) } , this . _onMouseUp = function ( a ) { return b . onMouseUp ( a ) } , this . _onMouseUpGlobal = function ( a ) { return b . onMouseUpGlobal ( a ) } , this . _onMouseOutGlobal = function ( a ) { return b . onMouseOutGlobal ( a ) } , this . _onMouseOut = function ( a ) { return b . onMouseOut ( a ) } , this . _onMouseOver = function ( a ) { return b . onMouseOver ( a ) } , this . _onMouseWheel = function ( a ) { return b . onMouseWheel ( a ) } ; var c = this . game . canvas ; c . addEventListener ( "mousedown" , this . _onMouseDown , ! 0 ) , c . addEventListener ( "mousemove" , this . _onMouseMove , ! 0 ) , c . addEventListener ( "mouseup" , this . _onMouseUp , ! 0 ) , this . game . device . cocoonJS || ( window . addEventListener ( "mouseup" , this . _onMouseUpGlobal , ! 0 ) , window . addEventListener ( "mouseout" , this . _onMouseOutGlobal , ! 0 ) , c . addEventListener ( "mouseover" , this . _onMouseOver , ! 0 ) , c . addEventListener ( "mouseout" , this . _onMouseOut , ! 0 ) ) ; var d = this . game . device . wheelEvent ; d && ( c . addEventListener ( d , this . _onMouseWheel , ! 0 ) , "mousewheel" === d ? this . _wheelEvent = new a ( - . 025 , 1 ) : "DOMMouseScroll" === d && ( this . _wheelEvent = new a ( 1 , 1 ) ) ) } } , onMouseDown : function ( a ) { this . event = a , this . capture && a . preventDefault ( ) , this . mouseDownCallback && this . mouseDownCallback . call ( this . callbackContext , a ) , this . input . enabled && this . enabled && ( a . identifier = 0 , this . input . mousePointer . start ( a ) ) } , onMouseMove : function ( a ) { this . event = a , this . capture && a . preventDefault ( ) , this . mouseMoveCallback && this . mouseMoveCallback . call ( this . callbackContext , a ) , this . input . enabled && this . enabled && ( a . identifier = 0 , this . input . mousePointer . move ( a ) ) } , onMouseUp : function ( a ) { this . event = a , this . capture && a . preventDefault ( ) , this . mouseUpCallback && this . mouseUpCallback . call ( this . callbackContext , a ) , this . input . enabled && this . enabled && ( a . identifier = 0 , this . input . mousePointer . stop ( a ) ) } , onMouseUpGlobal : function ( a ) { this . input . mousePointer . withinGame || ( this . mouseUpCallback && this . mouseUpCallback . call ( this . callbackContext , a ) , a . identifier = 0 , this . input . mousePointer . stop ( a ) ) } , onMouseOutGlobal : function ( a ) { this . event = a , this . capture && a . preventDefault ( ) , this . input . mousePointer . withinGame = ! 1 , this . input . enabled && this . enabled && ( this . input . mousePointer . stop ( a ) , this . input . mousePointer . leftButton . stop ( a ) , this . input . mousePointer . rightButton . stop ( a ) ) } , onMouseOut : function ( a ) { this . event = a , this . capture && a . preventDefault ( ) , this . input . mousePointer . withinGame = ! 1 , this . mouseOutCallback && this . mouseOutCallback . call ( this . callbackContext , a ) , this . input . enabled && this . enabled && this . stopOnGameOut && ( a . identifier = 0 , this . input . mousePointer . stop ( a ) ) } , onMouseOver : function ( a ) { this . event = a , this . capture && a . preventDefault ( ) , this . input . mousePointer . withinGame = ! 0 , this . mouseOve
this . sprite . texture . trim && ( a -= this . sprite . texture . trim . x , b -= this . sprite . texture . trim . y , a < this . sprite . texture . crop . x || a > this . sprite . texture . crop . right || b < this . sprite . texture . crop . y || b > this . sprite . texture . crop . bottom ) ) return this . _dx = a , this . _dy = b , ! 1 ; this . _dx = a , this . _dy = b , this . game . input . hitContext . clearRect ( 0 , 0 , 1 , 1 ) , this . game . input . hitContext . drawImage ( this . sprite . texture . baseTexture . source , a , b , 1 , 1 , 0 , 0 , 1 , 1 ) ; var d = this . game . input . hitContext . getImageData ( 0 , 0 , 1 , 1 ) ; if ( d . data [ 3 ] >= this . pixelPerfectAlpha ) return ! 0 } return ! 1 } , update : function ( a ) { if ( null !== this . sprite && void 0 !== this . sprite . parent ) return this . enabled && this . sprite . visible && this . sprite . parent . visible ? this . _pendingDrag ? ( this . _dragDistancePass || ( this . _dragDistancePass = c . Math . distance ( a . x , a . y , this . downPoint . x , this . downPoint . y ) >= this . dragDistanceThreshold ) , this . _dragDistancePass && this . _dragTimePass && this . startDrag ( a ) , ! 0 ) : this . draggable && this . _draggedPointerID === a . id ? this . updateDrag ( a , ! 1 ) : this . _pointerData [ a . id ] . isOver ? this . checkPointerOver ( a ) ? ( this . _pointerData [ a . id ] . x = a . x - this . sprite . x , this . _pointerData [ a . id ] . y = a . y - this . sprite . y , ! 0 ) : ( this . _pointerOutHandler ( a ) , ! 1 ) : void 0 : ( this . _pointerOutHandler ( a ) , ! 1 ) } , _pointerOverHandler : function ( a , b ) { if ( null !== this . sprite ) { var d = this . _pointerData [ a . id ] ; if ( d . isOver === ! 1 || a . dirty ) { var e = d . isOver === ! 1 ; d . isOver = ! 0 , d . isOut = ! 1 , d . timeOver = this . game . time . time , d . x = a . x - this . sprite . x , d . y = a . y - this . sprite . y , this . useHandCursor && d . isDragged === ! 1 && ( this . game . canvas . style . cursor = "pointer" , this . _setHandCursor = ! 0 ) , ! b && e && this . sprite && this . sprite . events && this . sprite . events . onInputOver$dispatch ( this . sprite , a ) , this . sprite . parent && this . sprite . parent . type === c . GROUP && this . sprite . parent . onChildInputOver . dispatch ( this . sprite , a ) } } } , _pointerOutHandler : function ( a , b ) { if ( null !== this . sprite ) { var d = this . _pointerData [ a . id ] ; d . isOver = ! 1 , d . isOut = ! 0 , d . timeOut = this . game . time . time , this . useHandCursor && d . isDragged === ! 1 && ( this . game . canvas . style . cursor = "default" , this . _setHandCursor = ! 1 ) , ! b && this . sprite && this . sprite . events && ( this . sprite . events . onInputOut$dispatch ( this . sprite , a ) , this . sprite && this . sprite . parent && this . sprite . parent . type === c . GROUP && this . sprite . parent . onChildInputOut . dispatch ( this . sprite , a ) ) } } , _touchedHandler : function ( a ) { if ( null !== this . sprite ) { var b = this . _pointerData [ a . id ] ; if ( ! b . isDown && b . isOver ) { if ( this . pixelPerfectClick && ! this . checkPixel ( null , null , a ) ) return ; if ( b . isDown = ! 0 , b . isUp = ! 1 , b . timeDown = this . game . time . time , this . downPoint . set ( a . x , a . y ) , a . dirty = ! 0 , this . sprite && this . sprite . events && ( this . sprite . events . onInputDown$dispatch ( this . sprite , a ) , this . sprite && this . sprite . parent && this . sprite . parent . type === c . GROUP && this . sprite . parent . onChildInputDown . dispatch ( this . sprite , a ) , null === this . sprite ) ) return ; this . draggable && this . isDragged === ! 1 && ( 0 === this . dragTimeThreshold && 0 === this . dragDistanceThreshold ? this . startDrag ( a ) : ( this . _pendingDrag = ! 0 , this . _dragDistancePass = 0 === this . dragDistanceThreshold , this . dragTimeThreshold > 0 ? ( this . _dragTimePass = ! 1 , this . game . time . events . add ( this . dragTimeThreshold , this . dragTimeElapsed , this , a ) ) : this . _dragTimePass = ! 0 ) ) , this . bringToTop && this . sprite . bringToTop ( ) } } } , dragTimeElapsed : function ( a ) { this . _dragTimePass = ! 0 , this . _pendingDrag && this . sprite && this . _dragDistancePass && this . startDrag ( a ) } , _releasedHandler : function ( a ) { if ( null !== this . sprite ) { var b = this . _pointerData [ a . id ] ; if ( b . isDown && a . isUp ) { b . isDown = ! 1 , b . isUp = ! 0 , b . timeUp = this . game . time . time , b . downDuration = b . timeUp - b . timeDown ; var d = this . checkPointerOver ( a ) ; this . sprite && this . sprite . events && ( this . dragStopBlocksInputUp && ( ! this . dragStopBlocksInputUp || this . draggable && this . isDragged && this . _draggedPointerID === a . id ) || this . sprite . events . onInputUp$dispatch ( this . sprite , a , d ) , this . sprite && this . sprite . parent && this . sprite . parent . type === c . GROUP && this . sprite . parent . onChildInputUp . dispatch ( this . sprite , a , d ) , d && ( d = this . checkPointerOver ( a ) ) ) , b . isOver = d , ! d && this . useHandCursor && ( this . game . canvas . style . cursor = "default" , this . _setHandCursor = ! 1 ) , a . dirty = ! 0 , this . _pendingDrag = ! 1 , this . draggable && this . isDragged && this . _draggedPointerID === a . id && this . stopDrag ( a ) } } } , updateDrag : function ( a , b ) { if ( void 0 === b && ( b = ! 1 ) , a . isUp ) return this . stopDrag ( a ) , ! 1 ; var c =
2016-11-28 16:50:04 +00:00
this . right = a . left - d , this . centerY = a . centerY + e ; break ; case c . LEFT _BOTTOM : this . right = a . left - d , this . bottom = a . bottom + e ; break ; case c . RIGHT _TOP : this . left = a . right + d , this . top = a . top - e ; break ; case c . RIGHT _CENTER : this . left = a . right + d , this . centerY = a . centerY + e ; break ; case c . RIGHT _BOTTOM : this . left = a . right + d , this . bottom = a . bottom + e ; break ; case c . BOTTOM _LEFT : this . left = a . left - d , this . top = a . bottom + e ; break ; case c . BOTTOM _CENTER : this . centerX = a . centerX + d , this . top = a . bottom + e ; break ; case c . BOTTOM _RIGHT : this . right = a . right + d , this . top = a . bottom + e } return this } } , c . Group . prototype . alignIn = c . Component . Bounds . prototype . alignIn , c . Group . prototype . alignTo = c . Component . Bounds . prototype . alignTo , c . Component . BringToTop = function ( ) { } , c . Component . BringToTop . prototype . bringToTop = function ( ) { return this . parent && this . parent . bringToTop ( this ) , this } , c . Component . BringToTop . prototype . sendToBack = function ( ) { return this . parent && this . parent . sendToBack ( this ) , this } , c . Component . BringToTop . prototype . moveUp = function ( ) { return this . parent && this . parent . moveUp ( this ) , this } , c . Component . BringToTop . prototype . moveDown = function ( ) { return this . parent && this . parent . moveDown ( this ) , this } , c . Component . Core = function ( ) { } , c . Component . Core . install = function ( a ) { c . Utils . mixinPrototype ( this , c . Component . Core . prototype ) , this . components = { } ; for ( var b = 0 ; b < a . length ; b ++ ) { var d = a [ b ] , e = ! 1 ; "Destroy" === d && ( e = ! 0 ) , c . Utils . mixinPrototype ( this , c . Component [ d ] . prototype , e ) , this . components [ d ] = ! 0 } } , c . Component . Core . init = function ( a , b , d , e , f ) { this . game = a , this . key = e , this . data = { } , this . position . set ( b , d ) , this . world = new c . Point ( b , d ) , this . previousPosition = new c . Point ( b , d ) , this . events = new c . Events ( this ) , this . _bounds = new c . Rectangle , this . components . PhysicsBody && ( this . body = this . body ) , this . components . Animation && ( this . animations = new c . AnimationManager ( this ) ) , this . components . LoadTexture && null !== e && this . loadTexture ( e , f ) , this . components . FixedToCamera && ( this . cameraOffset = new c . Point ( b , d ) ) } , c . Component . Core . preUpdate = function ( ) { if ( this . pendingDestroy ) return void this . destroy ( ) ; if ( this . previousPosition . set ( this . world . x , this . world . y ) , this . previousRotation = this . rotation , ! this . exists || ! this . parent . exists ) return this . renderOrderID = - 1 , ! 1 ; this . world . setTo ( this . game . camera . x + this . worldTransform . tx , this . game . camera . y + this . worldTransform . ty ) , this . visible && ( this . renderOrderID = this . game . stage . currentRenderOrderID ++ ) , this . animations && this . animations . update ( ) , this . body && this . body . preUpdate ( ) ; for ( var a = 0 ; a < this . children . length ; a ++ ) this . children [ a ] . preUpdate ( ) ; return ! 0 } , c . Component . Core . prototype = { game : null , name : "" , data : { } , components : { } , z : 0 , events : void 0 , animations : void 0 , key : "" , world : null , debug : ! 1 , previousPosition : null , previousRotation : 0 , renderOrderID : 0 , fresh : ! 0 , pendingDestroy : ! 1 , _bounds : null , _exists : ! 0 , exists : { get : function ( ) { return this . _exists } , set : function ( a ) { a ? ( this . _exists = ! 0 , this . body && this . body . type === c . Physics . P2JS && this . body . addToWorld ( ) , this . visible = ! 0 ) : ( this . _exists = ! 1 , this . body && this . body . type === c . Physics . P2JS && this . body . removeFromWorld ( ) , this . visible = ! 1 ) } } , update : function ( ) { } , postUpdate : function ( ) { this . customRender && this . key . render ( ) , this . components . PhysicsBody && c . Component . PhysicsBody . postUpdate . call ( this ) , this . components . FixedToCamera && c . Component . FixedToCamera . postUpdate . call ( this ) ; for ( var a = 0 ; a < this . children . length ; a ++ ) this . children [ a ] . postUpdate ( ) } } , c . Component . Crop = function ( ) { } , c . Component . Crop . prototype = { cropRect : null , _crop : null , crop : function ( a , b ) { void 0 === b && ( b = ! 1 ) , a ? ( b && null !== this . cropRect ? this . cropRect . setTo ( a . x , a . y , a . width , a . height ) : b && null === this . cropRect ? this . cropRect = new c . Rectangle ( a . x , a . y , a . width , a . height ) : this . cropRect = a , this . updateCrop ( ) ) : ( this . _crop = null , this . cropRect = null , this . resetFrame ( ) ) } , updateCrop : function ( ) { if ( this . cropRect ) { var a = this . texture . crop . x , b = this . texture . crop . y , d = this . texture . crop . width , e = this . texture . crop . height ; this . _crop = c . Rectangle . clone ( this . cropRect , this . _crop ) , this . _crop . x += this . _frame . x , this . _crop . y += this . _frame . y ; var f = Math . max ( this . _frame . x , this . _crop . x ) , g = Math . max ( this . _frame . y , this . _crop . y ) , h = Math . min ( this . _frame . right , this . _crop . right ) - f , i = Math . min ( this . _frame . bottom , this . _crop . bottom ) - g ; this . texture . cro
r : 0 , g : 0 , b : 0 , a : 0 } , l = ! 1 , m = e ; m < i ; m ++ ) for ( var n = d ; n < h ; n ++ ) c . Color . unpackPixel ( this . getPixel32 ( n , m ) , j ) , k = a . call ( b , j , n , m ) , k !== ! 1 && null !== k && void 0 !== k && ( this . setPixel32 ( n , m , k . r , k . g , k . b , k . a , ! 1 ) , l = ! 0 ) ; return l && ( this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 ) , this } , processPixel : function ( a , b , c , d , e , f ) { void 0 === c && ( c = 0 ) , void 0 === d && ( d = 0 ) , void 0 === e && ( e = this . width ) , void 0 === f && ( f = this . height ) ; for ( var g = c + e , h = d + f , i = 0 , j = 0 , k = ! 1 , l = d ; l < h ; l ++ ) for ( var m = c ; m < g ; m ++ ) i = this . getPixel32 ( m , l ) , j = a . call ( b , i , m , l ) , j !== i && ( this . pixels [ l * this . width + m ] = j , k = ! 0 ) ; return k && ( this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 ) , this } , replaceRGB : function ( a , b , d , e , f , g , h , i , j ) { var k = 0 , l = 0 , m = this . width , n = this . height , o = c . Color . packPixel ( a , b , d , e ) ; void 0 !== j && j instanceof c . Rectangle && ( k = j . x , l = j . y , m = j . width , n = j . height ) ; for ( var p = 0 ; p < n ; p ++ ) for ( var q = 0 ; q < m ; q ++ ) this . getPixel32 ( k + q , l + p ) === o && this . setPixel32 ( k + q , l + p , f , g , h , i , ! 1 ) ; return this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 , this } , setHSL : function ( a , b , d , e ) { var f = a || 0 === a , g = b || 0 === b , h = d || 0 === d ; if ( f || g || h ) { void 0 === e && ( e = new c . Rectangle ( 0 , 0 , this . width , this . height ) ) ; for ( var i = c . Color . createColor ( ) , j = e . y ; j < e . bottom ; j ++ ) for ( var k = e . x ; k < e . right ; k ++ ) c . Color . unpackPixel ( this . getPixel32 ( k , j ) , i , ! 0 ) , f && ( i . h = a ) , g && ( i . s = b ) , h && ( i . l = d ) , c . Color . HSLtoRGB ( i . h , i . s , i . l , i ) , this . setPixel32 ( k , j , i . r , i . g , i . b , i . a , ! 1 ) ; return this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 , this } } , shiftHSL : function ( a , b , d , e ) { if ( void 0 !== a && null !== a || ( a = ! 1 ) , void 0 !== b && null !== b || ( b = ! 1 ) , void 0 !== d && null !== d || ( d = ! 1 ) , a || b || d ) { void 0 === e && ( e = new c . Rectangle ( 0 , 0 , this . width , this . height ) ) ; for ( var f = c . Color . createColor ( ) , g = e . y ; g < e . bottom ; g ++ ) for ( var h = e . x ; h < e . right ; h ++ ) c . Color . unpackPixel ( this . getPixel32 ( h , g ) , f , ! 0 ) , a && ( f . h = this . game . math . wrap ( f . h + a , 0 , 1 ) ) , b && ( f . s = this . game . math . clamp ( f . s + b , 0 , 1 ) ) , d && ( f . l = this . game . math . clamp ( f . l + d , 0 , 1 ) ) , c . Color . HSLtoRGB ( f . h , f . s , f . l , f ) , this . setPixel32 ( h , g , f . r , f . g , f . b , f . a , ! 1 ) ; return this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 , this } } , setPixel32 : function ( a , b , d , e , f , g , h ) { return void 0 === h && ( h = ! 0 ) , a >= 0 && a <= this . width && b >= 0 && b <= this . height && ( c . Device . LITTLE _ENDIAN ? this . pixels [ b * this . width + a ] = g << 24 | f << 16 | e << 8 | d : this . pixels [ b * this . width + a ] = d << 24 | e << 16 | f << 8 | g , h && ( this . context . putImageData ( this . imageData , 0 , 0 ) , this . dirty = ! 0 ) ) , this } , setPixel : function ( a , b , c , d , e , f ) { return this . setPixel32 ( a , b , c , d , e , 255 , f ) } , getPixel : function ( a , b , d ) { d || ( d = c . Color . createColor ( ) ) ; var e = ~ ~ ( a + b * this . width ) ; return e *= 4 , d . r = this . data [ e ] , d . g = this . data [ ++ e ] , d . b = this . data [ ++ e ] , d . a = this . data [ ++ e ] , d } , getPixel32 : function ( a , b ) { if ( a >= 0 && a <= this . width && b >= 0 && b <= this . height ) return this . pixels [ b * this . width + a ] } , getPixelRGB : function ( a , b , d , e , f ) { return c . Color . unpackPixel ( this . getPixel32 ( a , b ) , d , e , f ) } , getPixels : function ( a ) { return this . context . getImageData ( a . x , a . y , a . width , a . height ) } , getFirstPixel : function ( a ) { void 0 === a && ( a = 0 ) ; var b = c . Color . createColor ( ) , d = 0 , e = 0 , f = 1 , g = ! 1 ; 1 === a ? ( f = - 1 , e = this . height ) : 3 === a && ( f = - 1 , d = this . width ) ; do c . Color . unpackPixel ( this . getPixel32 ( d , e ) , b ) , 0 === a || 1 === a ? ( d ++ , d === this . width && ( d = 0 , e += f , ( e >= this . height || e <= 0 ) && ( g = ! 0 ) ) ) : 2 !== a && 3 !== a || ( e ++ , e === this . height && ( e = 0 , d += f , ( d >= this . width || d <= 0 ) && ( g = ! 0 ) ) ) ; while ( 0 === b . a && ! g ) ; return b . x = d , b . y = e , b } , getBounds : function ( a ) { return void 0 === a && ( a = new c . Rectangle ) , a . x = this . getFirstPixel ( 2 ) . x , a . x === this . width ? a . setTo ( 0 , 0 , 0 , 0 ) : ( a . y = this . getFirstPixel ( 0 ) . y , a . width = this . getFirstPixel ( 3 ) . x - a . x + 1 , a . height = this . getFirstPixel ( 1 ) . y - a . y + 1 , a ) } , addToWorld : function ( a , b , c , d , e , f ) { e = e || 1 , f = f || 1 ; var g = this . game . add . image ( a , b , this ) ; return g . anchor . set ( c , d ) , g . scale . set ( e , f ) , g } , copy : function ( a , b , d , e , f , g , h , i , j , k , l , m , n , o , p , q , r ) { if ( void 0 !== a && null !== a || ( a = this ) , a instanceof c . RenderTexture && ( a = a . getCanvas ( ) ) , this . _image = a , a instanceof c . Sprite || a instanceof c . Image || a instanceof c . Text || a instanceof PIXI . Sprite ) this . _pos . set ( a . texture . crop . x , a . texture . crop . y ) , this . _size . set ( a . texture . crop . width , a . texture . crop . height ) , this . _scale . set ( a . scale . x , a . scale . y ) , this . _anchor . set ( a . anchor . x , a . anchor . y ) , this . _rotate = a . rotation , this . _alpha . current = a . alpha , a . texture instanceof c . RenderTexture ? this . _image = a . texture
PIXI . DisplayObjectContainer . call ( this ) , this . renderable = ! 0 , this . fillAlpha = 1 , this . lineWidth = 0 , this . lineColor = 0 , this . graphicsData = [ ] , this . tint = 16777215 , this . blendMode = PIXI . blendModes . NORMAL , this . currentPath = null , this . _webGL = [ ] , this . isMask = ! 1 , this . boundsPadding = 0 , this . _localBounds = new c . Rectangle ( 0 , 0 , 1 , 1 ) , this . dirty = ! 0 , this . _boundsDirty = ! 1 , this . webGLDirty = ! 1 , this . cachedSpriteDirty = ! 1 , c . Component . Core . init . call ( this , a , b , d , "" , null ) } , c . Graphics . prototype = Object . create ( PIXI . DisplayObjectContainer . prototype ) , c . Graphics . prototype . constructor = c . Graphics , c . Component . Core . install . call ( c . Graphics . prototype , [ "Angle" , "AutoCull" , "Bounds" , "Destroy" , "FixedToCamera" , "InputEnabled" , "InWorld" , "LifeSpan" , "PhysicsBody" , "Reset" ] ) , c . Graphics . prototype . preUpdatePhysics = c . Component . PhysicsBody . preUpdate , c . Graphics . prototype . preUpdateLifeSpan = c . Component . LifeSpan . preUpdate , c . Graphics . prototype . preUpdateInWorld = c . Component . InWorld . preUpdate , c . Graphics . prototype . preUpdateCore = c . Component . Core . preUpdate , c . Graphics . prototype . preUpdate = function ( ) { return ! ! ( this . preUpdatePhysics ( ) && this . preUpdateLifeSpan ( ) && this . preUpdateInWorld ( ) ) && this . preUpdateCore ( ) } , c . Graphics . prototype . postUpdate = function ( ) { c . Component . PhysicsBody . postUpdate . call ( this ) , c . Component . FixedToCamera . postUpdate . call ( this ) , this . _boundsDirty && ( this . updateLocalBounds ( ) , this . _boundsDirty = ! 1 ) ; for ( var a = 0 ; a < this . children . length ; a ++ ) this . children [ a ] . postUpdate ( ) } , c . Graphics . prototype . destroy = function ( a ) { this . clear ( ) , c . Component . Destroy . prototype . destroy . call ( this , a ) } , c . Graphics . prototype . drawTriangle = function ( a , b ) { void 0 === b && ( b = ! 1 ) ; var d = new c . Polygon ( a ) ; if ( b ) { var e = new c . Point ( this . game . camera . x - a [ 0 ] . x , this . game . camera . y - a [ 0 ] . y ) , f = new c . Point ( a [ 1 ] . x - a [ 0 ] . x , a [ 1 ] . y - a [ 0 ] . y ) , g = new c . Point ( a [ 1 ] . x - a [ 2 ] . x , a [ 1 ] . y - a [ 2 ] . y ) , h = g . cross ( f ) ; e . dot ( h ) > 0 && this . drawPolygon ( d ) } else this . drawPolygon ( d ) } , c . Graphics . prototype . drawTriangles = function ( a , b , d ) { void 0 === d && ( d = ! 1 ) ; 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 . Graphics . prototype . lineStyle = function ( a , b , d ) { return this . lineWidth = a || 0 , this . lineColor = b || 0 , this . lineAlpha = void 0 === d ? 1 : d , this . currentPath && ( this . currentPath . shape . points . length ? this . drawShape ( new c . Polygon ( this . currentPath . shape . points . slice ( - 2 ) ) ) : ( this . currentPath . lineWidth = this . lineWidth , this . currentPath . lineColor = this . lineColor , this . currentPath . lineAlpha = this . lineAlpha ) ) , this } , c . Graphics . prototype . moveTo = function ( a , b ) { return this . drawShape ( new c . Polygon ( [ a , b ] ) ) , this } , c . Graphics . prototype . lineTo = function ( a , b ) { return this . currentPath || this . moveTo ( 0 , 0 ) , this . currentPath . shape . points . push ( a , b ) , this . dirty = ! 0 , this . _boundsDirty = ! 0 , this } , c . Graphics . prototype . quadraticCurveTo = function ( a , b , c , d ) { this . currentPath ? 0 === this . currentPath . shape . points . length && ( this . currentPath . shape . points = [ 0 , 0 ] ) : this . moveTo ( 0 , 0 ) ; var e , f , g = 20 , h = this . currentPath . shape . points ; 0 === h . length && this . moveTo ( 0 , 0 ) ; for ( var i = h [ h . length - 2 ] , j = h [ h . length - 1 ] , k = 0 , l = 1 ; l <= g ; ++ l ) k = l / g , e = i + ( a - i ) * k , f = j + ( b - j ) * k , h . push ( e + ( a + ( c - a ) * k - e ) * k , f + ( b + ( d - b ) * k - f ) * k ) ; return this . dirty = ! 0 , this . _boundsDirty = ! 0 , this } , c . Graphics . prototype . bezierCurveTo = function ( a , b , c , d , e , f ) { this . currentPath ? 0 === this . currentPath . shape . points . length && ( this . currentPath . shape . points = [ 0 , 0 ] ) : this . moveTo ( 0 , 0 ) ; for ( var g , h , i , j , k , l = 20 , m = this . currentPath . shape . points , n = m [ m . length - 2 ] , o = m [ m . length - 1 ] , p = 0 , q = 1 ; q <= l ; ++ q ) p = q / l , g = 1 - p , h = g * g , i = h * g , j = p * p , k = j * p , m . push ( i * n + 3 * h * p * a + 3 * g * j * c + k * e , i * o + 3 * h * p * b + 3 * g * j * d + k * f ) ; return this . dirty = ! 0 , this . _boundsDirty = ! 0 , this } , c . Graphics . prototype . arcTo = function ( a , b , c , d , e ) { this . currentPath ? 0 === this . currentPath . shape . points . length && this . currentPath . sh
set : function ( a ) { a = a || "0" , "number" == typeof a && ( a += "px" ) , this . _fontComponents . fontSize = a , this . updateFont ( this . _fontComponents ) } } ) , Object . defineProperty ( c . Text . prototype , "fontWeight" , { get : function ( ) { return this . _fontComponents . fontWeight || "normal" } , set : function ( a ) { a = a || "normal" , this . _fontComponents . fontWeight = a , this . updateFont ( this . _fontComponents ) } } ) , Object . defineProperty ( c . Text . prototype , "fontStyle" , { get : function ( ) { return this . _fontComponents . fontStyle || "normal" } , set : function ( a ) { a = a || "normal" , this . _fontComponents . fontStyle = a , this . updateFont ( this . _fontComponents ) } } ) , Object . defineProperty ( c . Text . prototype , "fontVariant" , { get : function ( ) { return this . _fontComponents . fontVariant || "normal" } , set : function ( a ) { a = a || "normal" , this . _fontComponents . fontVariant = a , this . updateFont ( this . _fontComponents ) } } ) , Object . defineProperty ( c . Text . prototype , "fill" , { get : function ( ) { return this . style . fill } , set : function ( a ) { a !== this . style . fill && ( this . style . fill = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "align" , { get : function ( ) { return this . style . align } , set : function ( a ) { a !== this . style . align && ( this . style . align = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "resolution" , { get : function ( ) { return this . _res } , set : function ( a ) { a !== this . _res && ( this . _res = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "tabs" , { get : function ( ) { return this . style . tabs } , set : function ( a ) { a !== this . style . tabs && ( this . style . tabs = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "boundsAlignH" , { get : function ( ) { return this . style . boundsAlignH } , set : function ( a ) { a !== this . style . boundsAlignH && ( this . style . boundsAlignH = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "boundsAlignV" , { get : function ( ) { return this . style . boundsAlignV } , set : function ( a ) { a !== this . style . boundsAlignV && ( this . style . boundsAlignV = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "stroke" , { get : function ( ) { return this . style . stroke } , set : function ( a ) { a !== this . style . stroke && ( this . style . stroke = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "strokeThickness" , { get : function ( ) { return this . style . strokeThickness } , set : function ( a ) { a !== this . style . strokeThickness && ( this . style . strokeThickness = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "wordWrap" , { get : function ( ) { return this . style . wordWrap } , set : function ( a ) { a !== this . style . wordWrap && ( this . style . wordWrap = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "wordWrapWidth" , { get : function ( ) { return this . style . wordWrapWidth } , set : function ( a ) { a !== this . style . wordWrapWidth && ( this . style . wordWrapWidth = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "lineSpacing" , { get : function ( ) { return this . _lineSpacing } , set : function ( a ) { a !== this . _lineSpacing && ( this . _lineSpacing = parseFloat ( a ) , this . dirty = ! 0 , this . parent && this . updateTransform ( ) ) } } ) , Object . defineProperty ( c . Text . prototype , "shadowOffsetX" , { get : function ( ) { return this . style . shadowOffsetX } , set : function ( a ) { a !== this . style . shadowOffsetX && ( this . style . shadowOffsetX = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "shadowOffsetY" , { get : function ( ) { return this . style . shadowOffsetY } , set : function ( a ) { a !== this . style . shadowOffsetY && ( this . style . shadowOffsetY = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "shadowColor" , { get : function ( ) { return this . style . shadowColor } , set : function ( a ) { a !== this . style . shadowColor && ( this . style . shadowColor = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "shadowBlur" , { get : function ( ) { return this . style . shadowBlur } , set : function ( a ) { a !== this . style . shadowBlur && ( this . style . shadowBlur = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "shadowStroke" , { get : function ( ) { return this . style . shadowStroke } , set : function ( a ) { a !== this . style . shadowStroke && ( this . style . shadowStroke = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "shadowFill" , { get : function ( ) { return this . style . shadowFill } , set : function ( a ) { a !== this . style . shadowFill && ( this . style . shadowFill = a , this . dirty = ! 0 ) } } ) , Object . defineProperty ( c . Text . prototype , "width" , { get : function ( ) { return this . dirty && ( this . updateText ( ) , this . dirty = ! 1 ) , this . scale . x * ( this . texture . frame . width / this . resolution ) } , set :
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 ) ? n . vita = ! 0 : /Kindle/ . test ( a ) || /\bKF[A-Z][A-Z]+/ . test ( a ) || /Silk.*Mobile Safari/ . test ( a ) ? n . kindle = ! 0 : /Android/ . test ( a ) ? n . android = ! 0 : /CrOS/ . test ( a ) ? n . chromeOS = ! 0 : /iP[ao]d|iPhone/i . test ( a ) ? ( n . iOS = ! 0 , navigator . appVersion . match ( /OS (\d+)/ ) , n . iOSVersion = parseInt ( RegExp . $1 , 10 ) ) : /Linux/ . test ( a ) ? n . linux = ! 0 : /Mac OS/ . test ( a ) ? n . macOS = ! 0 : /Windows/ . test ( a ) && ( n . windows = ! 0 ) , ( /Windows Phone/i . test ( a ) || /IEMobile/i . test ( a ) ) && ( n . android = ! 1 , n . iOS = ! 1 , n . macOS = ! 1 , n . windows = ! 0 , n . windowsPhone = ! 0 ) ; var b = /Silk/ . test ( a ) ; ( n . windows || n . macOS || n . linux && ! b || n . chromeOS ) && ( n . desktop = ! 0 ) , ( n . windowsPhone || /Windows NT/i . test ( a ) && /Touch/i . test ( a ) ) && ( n . desktop = ! 1 ) } function b ( ) { var a = c . CanvasPool . create ( this , 6 , 1 ) , b = a . getContext ( "2d" ) ; b . fillStyle = "rgba(10, 20, 30, 0.5)" , b . fillRect ( 0 , 0 , 1 , 1 ) ; var d = b . getImageData ( 0 , 0 , 1 , 1 ) ; if ( d ) { b . putImageData ( d , 1 , 0 ) ; var e = b . getImageData ( 1 , 0 , 1 , 1 ) ; n . canHandleAlpha = e . data [ 0 ] === d . data [ 0 ] && e . data [ 1 ] === d . data [ 1 ] && e . data [ 2 ] === d . data [ 2 ] && e . data [ 3 ] === d . data [ 3 ] } var f = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/" , g = "AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==" , h = new Image ; h . src = f + "AP804Oa6" + g ; var i = new Image ; if ( i . src = f + "/wCKxvRF" + g , b . clearRect ( 0 , 0 , 6 , 1 ) , b . globalCompositeOperation = "multiply" , b . drawImage ( h , 0 , 0 ) , b . drawImage ( i , 2 , 0 ) , b . getImageData ( 2 , 0 , 1 , 1 ) ) { var j = b . getImageData ( 2 , 0 , 1 , 1 ) . data ; n . canUseMultiply = 255 === j [ 0 ] && 0 === j [ 1 ] && 0 === j [ 2 ] } c . CanvasPool . removeByCanvas ( a ) , PIXI . CanvasTinter . tintMethod = n . canUseMultiply ? PIXI . CanvasTinter . tintWithMultiply : PIXI . CanvasTinter . tintWithPerPixel } function d ( ) { n . canvas = ! ! window . CanvasRenderingContext2D || n . cocoonJS ; try { n . localStorage = ! ! localStorage . getItem } catch ( a ) { n . localStorage = ! 1 } n . file = ! ! ( window . File && window . FileReader && window . FileList && window . Blob ) , n . fileSystem = ! ! window . requestFileSystem , n . webGL = function ( ) { try { var a = document . createElement ( "canvas" ) ; return a . screencanvas = ! 1 , ! ! window . WebGLRenderingContext && ( a . getContext ( "webgl" ) || a . getContext ( "experimental-webgl" ) ) } catch ( a ) { return ! 1 } } ( ) , n . webGL = ! ! n . webGL , n . worker = ! ! window . Worker , n . pointerLock = "pointerLockElement" in document || "mozPointerLockElement" in document || "webkitPointerLockElement" in document , n . quirksMode = "CSS1Compat" !== document . compatMode , navigator . getUserMedia = navigator . getUserMedia || navigator . webkitGetUserMedia || navigator . mozGetUserMedia || navigator . msGetUserMedia || navigator . oGetUserMedia , window . URL = window . URL || window . webkitURL || window . mozURL || window . msURL , n . getUserMedia = n . getUserMedia && ! ! navigator . getUserMedia && ! ! window . URL , n . firefox && n . firefoxVersion < 21 && ( n . getUserMedia = ! 1 ) , ! n . iOS && ( n . ie || n . firefox || n . chrome ) && ( n . canvasBitBltShift = ! 0 ) , ( n . safari || n . mobileSafari ) && ( n . canvasBitBltShift = ! 1 ) } function e ( ) { ( "ontouchstart" in document . documentElement || window . navigator . maxTouchPoints && window . navigator . maxTouchPoints >= 1 ) && ( n . touch = ! 0 ) , ( window . PointerEvent || window . MSPointerEvent || window . navigator . msPointerEnabled || window . navigator . pointerEnabled ) && ( n . mspointer = ! 0 ) , n . cocoonJS || ( "onwheel" in window || n . ie && "WheelEvent" in window ? n . wheelEvent = "wheel" : "onmousewheel" in window ? n . wheelEvent = " mous
this . isRunning ; if ( b === c . TweenData . LOOPED ) return this . timeline [ this . current ] . repeatCounter === - 1 ? this . onLoop . dispatch ( this . target , this ) : this . onRepeat . 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 ? this . repeatCounter === - 1 ? ( this . timeline [ this . current ] . start ( ) , this . onLoop . 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 . _hasStarted = ! 1 , 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 . repeatTotal = 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 . repeatTotal = 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 . repeatTotal = e , this . yoyo = f , this . isFrom = ! 0 , this } , start : function ( ) { if ( this . startTime = this . game . time . time + this . delay , this . parent . reverse ? this . dt = this . duration : this . dt = 0 , this . delay > 0 ? this . isRunning = ! 1 : this . isRunning = ! 0 , this . isFrom ) for ( var a in this . vStartCache ) this . vStart [ a ] = this . vEndCache [ a ] , this . vEnd [ a ] = this . vStartCache [ a ] , this . parent . target [ a ] = this . vStart [ a ] ; return this . value = 0 , this . yoyoCounter = 0 , this . repeatCounter = this . repeatTotal , this } , loadValues : function ( ) { for ( var a in this . parent . properties ) { if ( this . vStart [ a ] = this . parent . properties [ a ] , Array . isArray ( this . vEnd [ a ] ) ) { if ( 0 === this . vEnd [ a ] . length ) continue ; 0 === this . percent && ( this . vEnd [ a ] = [ this . vStart [ a ] ] . concat ( this . vEnd [ a ] ) ) } "undefined" != typeof this . vEnd [ a ] ? ( "string" == typeof this . vEnd [ a ] && ( this . vEnd [ a ] = this . vStart [ a ] + parseFloat ( this . vEnd [ a ] , 10 ) ) , this . parent . properties [ a ] = this . vEnd [ a ] ) : this . vEnd [ a ] = this . vStart [ a ] , this . vStartCache [ a ] = this . vStart [ a ] , this . vEndCache [ a ] = this . vEnd [ a ] } return this } , update : function ( a ) { if ( this . isRunning ) { if ( a < this . startTime ) return c . TweenData . RUNNING } else { if ( ! ( a >= this . startTime ) ) return c . TweenData . PENDING ; this . isRunning = ! 0 } var b = this . parent . frameBased ? this . game . time . physicsElapsedMS : this . game . time . elapsedMS ; this . parent . reverse ? ( this . dt -= b * this . parent . timeScale , this . dt = Math . max ( this . dt , 0 ) ) : ( this . dt += b * this . parent . timeScale , this . dt = Math . min ( this . dt , this . duration ) ) , this . percent = this . dt / this . duration , this . value = this . easingFunction ( this . percent ) ; for ( var d in this . vEnd ) { var e = this . vStart [ d ] , f = this . vEnd [ d ] ; Array . isArray ( f ) ? this . parent . target [ d ] = this . interpolationFunction . call ( this . interpolationContext , f , this . value ) : this . parent . target [ d ] = e + ( f - e ) * this . value } return ! this . parent . reverse && 1 === this . percent || this . parent . reverse && 0 === this . percent ? this . repeat ( ) : c . TweenData . R
f [ h ] . rotated && ( d . rotated = ! 0 ) , g ++ ; return e } , XMLData : function ( a , b ) { if ( ! b . getElementsByTagName ( "TextureAtlas" ) ) return void console . warn ( "Phaser.AnimationParser.XMLData: Invalid Texture Atlas XML given, missing <TextureAtlas> tag" ) ; for ( var d , e , f , g , h , i , j , k , l , m , n , o = new c . FrameData , p = b . getElementsByTagName ( "SubTexture" ) , q = 0 ; q < p . length ; q ++ ) f = p [ q ] . attributes , e = f . name . value , g = parseInt ( f . x . value , 10 ) , h = parseInt ( f . y . value , 10 ) , i = parseInt ( f . width . value , 10 ) , j = parseInt ( f . height . value , 10 ) , k = null , l = null , f . frameX && ( k = Math . abs ( parseInt ( f . frameX . value , 10 ) ) , l = Math . abs ( parseInt ( f . frameY . value , 10 ) ) , m = parseInt ( f . frameWidth . value , 10 ) , n = parseInt ( f . frameHeight . value , 10 ) ) , d = o . addFrame ( new c . Frame ( q , g , h , i , j , e ) ) , null === k && null === l || d . setTrim ( ! 0 , i , j , k , l , m , n ) ; return o } } , c . Cache = function ( a ) { this . game = a , this . autoResolveURL = ! 1 , this . _cache = { canvas : { } , image : { } , texture : { } , sound : { } , video : { } , text : { } , json : { } , xml : { } , physics : { } , tilemap : { } , binary : { } , bitmapData : { } , bitmapFont : { } , shader : { } , renderTexture : { } , compressedTexture : { } } , 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 . DEFAULT = null , c . Cache . MISSING = null , c . Cache . prototype = { addCompressedTextureMetaData : function ( a , b , d , e ) { this . checkImageKey ( a ) && this . removeImage ( a ) ; var f = d in c . LoaderParser ? c . LoaderParser [ d ] ( e ) : e , g = { key : a , url : b , data : f , base : new PIXI . BaseTexture ( f , null , this . game . resolution ) , frame : new c . Frame ( 0 , 0 , 0 , f . width , f . height , a ) , frameData : new c . FrameData , fileFormat : d } ; return g . frameData . addFrame ( new c . Frame ( 0 , 0 , 0 , f . width , f . height , b ) ) , this . _cache . image [ a ] = g , this . _resolveURL ( b , g ) , g } , 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 , null , this . game . resolution ) , 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 ) , "__default" === a ? c . Cache . DEFAULT = new PIXI . Texture ( e . base ) : "__missing" === a && ( c . Cache . MISSING = new PIXI . Texture ( e . base ) ) , e } , addDefaultImage : function ( ) { var a = new Image ; a . src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==" ; var b = this . addImage ( "__default" , null , a ) ; b . base . skipRender = ! 0 , c . Cache . 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 ) ; c . Cache . MISSING = new PIXI . Texture ( b . base ) } , addSound : function ( a , b , c , d , e ) { void 0 === d && ( d = ! 0 , e = ! 1 ) ,
a . format === c . Loader . TEXTURE _ATLAS _JSON _ARRAY || a . format === c . Loader . TEXTURE _ATLAS _JSON _HASH || a . format === c . Loader . TEXTURE _ATLAS _JSON _PYXEL ) this . xhrLoad ( a , this . transformUrl ( a . atlasURL , a ) , "text" , this . jsonLoadComplete ) ; else { if ( a . format !== c . Loader . TEXTURE _ATLAS _XML _STARLING ) throw new Error ( "Phaser.Loader. Invalid Texture Atlas format: " + a . format ) ; this . xhrLoad ( a , this . transformUrl ( a . atlasURL , a ) , "text" , this . xmlLoadComplete ) } break ; case "bitmapfont" : a . atlasURL ? ( d = ! 1 , this . xhrLoad ( a , this . transformUrl ( a . atlasURL , a ) , "text" , function ( a , b ) { var c ; try { c = JSON . parse ( b . responseText ) } catch ( a ) { } c ? ( a . atlasType = "json" , this . jsonLoadComplete ( a , b ) ) : ( a . atlasType = "xml" , this . xmlLoadComplete ( a , b ) ) } ) ) : this . cache . addBitmapFont ( a . key , a . url , a . data , a . atlasData , a . atlasType , a . xSpacing , a . ySpacing ) ; break ; case "video" : if ( a . asBlob ) try { a . data = b . response } catch ( b ) { throw new Error ( "Phaser.Loader. Unable to parse video file as Blob: " + a . key ) } this . cache . addVideo ( a . key , a . url , a . data , a . asBlob ) ; break ; case "audio" : this . game . sound . usingWebAudio ? ( a . data = b . response , this . cache . addSound ( a . key , a . url , a . data , ! 0 , ! 1 ) , a . autoDecode && this . game . sound . decode ( a . key ) ) : this . cache . addSound ( a . key , a . url , a . data , ! 1 , ! 0 ) ; break ; case "text" : a . data = b . responseText , this . cache . addText ( a . key , a . url , a . data ) ; break ; case "shader" : a . data = b . responseText , this . cache . addShader ( a . key , a . url , a . data ) ; break ; case "physics" : var e = JSON . parse ( b . responseText ) ; this . cache . addPhysicsData ( a . key , a . url , e , a . format ) ; break ; case "script" : a . data = document . createElement ( "script" ) , a . data . language = "javascript" , a . data . type = "text/javascript" , a . data . defer = ! 1 , a . data . text = b . responseText , document . head . appendChild ( a . data ) , a . callback && ( a . data = a . callback . call ( a . callbackContext , a . key , b . responseText ) ) ; break ; case "binary" : a . callback ? a . data = a . callback . call ( a . callbackContext , a . key , b . response ) : a . data = b . response , this . cache . addBinary ( a . key , a . data ) } d && this . asyncComplete ( a ) } , jsonLoadComplete : function ( a , b ) { var c = JSON . parse ( b . responseText ) ; "tilemap" === a . type ? this . cache . addTilemap ( a . key , a . url , c , a . format ) : "bitmapfont" === a . type ? this . cache . addBitmapFont ( a . key , a . url , a . data , c , a . atlasType , a . xSpacing , a . ySpacing ) : "json" === a . type ? this . cache . addJSON ( a . key , a . url , c ) : this . cache . addTextureAtlas ( a . key , a . url , a . data , c , a . format ) , this . asyncComplete ( a ) } , csvLoadComplete : function ( a , b ) { var c = b . responseText ; this . cache . addTilemap ( a . key , a . url , c , a . format ) , this . asyncComplete ( a ) } , xmlLoadComplete : function ( a , b ) { var c = b . responseText , d = this . parseXml ( c ) ; if ( ! d ) { var e = b . responseType || b . contentType ; return console . warn ( "Phaser.Loader - " + a . key + ": invalid XML (" + e + ")" ) , void this . asyncComplete ( a , "invalid XML" ) } "bitmapfont" === a . type ? this . cache . addBitmapFont ( a . key , a . url , a . data , d , a . atlasType , a . xSpacing , a . ySpacing ) : "textureatlas" === a . type ? this . cache . addTextureAtlas ( a . key , a . url , a . data , d , a . format ) : "xml" === a . type && this . cache . addXML ( a . key , a . url , d ) , this . asyncComplete ( a ) } , parseXml : function ( a ) { var b ; try { if ( window . DOMParser ) { var c = new DOMParser ; b = c . parseFromString ( a , "text/xml" ) } else b = new ActiveXObject ( "Microsoft.XMLDOM" ) , b . async = "false" , b . loadXML ( a ) } catch ( a ) { b = null } return b && b . documentElement && ! b . getElementsByTagName ( "parsererror" ) . length ? b : null } , updateProgress : function ( ) { this . preloadSprite && ( 0 === this . preloadSprite . direction ? this . preloadSprite . rect . width = Math . floor ( this . preloadSprite . width / 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 . xmlBitmap
} , preUpdate : function ( ) { if ( ! ( this . game . time . time < this . _lastUpdate + this . _updateThrottle ) ) { var a = this . _updateThrottle ; this . _updateThrottleReset = a >= 400 ? 0 : 100 , this . dom . getOffset ( this . game . canvas , this . offset ) ; var b = this . _parentBounds . width , d = this . _parentBounds . height , e = this . getParentBounds ( this . _parentBounds ) , f = e . width !== b || e . height !== d , g = this . updateOrientationState ( ) ; ( f || g ) && ( this . onResize && this . onResize . call ( this . onResizeContext , this , e ) , this . updateLayout ( ) , this . signalSizeChange ( ) ) ; var h = 2 * this . _updateThrottle ; this . _updateThrottle < a && ( h = Math . min ( a , this . _updateThrottleReset ) ) , this . _updateThrottle = c . Math . clamp ( h , 25 , this . trackParentInterval ) , this . _lastUpdate = this . game . time . time } } , pauseUpdate : function ( ) { this . preUpdate ( ) , this . _updateThrottle = this . trackParentInterval } , updateDimensions : function ( a , b , c ) { this . width = a * this . parentScaleFactor . x , this . height = b * this . parentScaleFactor . y , this . game . width = this . width , this . game . height = this . height , this . sourceAspectRatio = this . width / this . height , this . updateScalingAndBounds ( ) , c && ( this . game . renderer . resize ( this . width , this . height ) , this . game . camera . setSize ( this . width , this . height ) , this . game . world . resize ( this . width , this . height ) ) } , updateScalingAndBounds : function ( ) { this . scaleFactor . x = this . game . width / this . width , this . scaleFactor . y = this . game . height / this . height , this . scaleFactorInversed . x = this . width / this . game . width , this . scaleFactorInversed . y = this . height / this . game . height , this . aspectRatio = this . width / this . height , this . game . canvas && this . dom . getOffset ( this . game . canvas , this . offset ) , this . bounds . setTo ( this . offset . x , this . offset . y , this . width , this . height ) , this . game . input && this . game . input . scale && this . game . input . scale . setTo ( this . scaleFactor . x , this . scaleFactor . y ) } , forceOrientation : function ( a , b ) { void 0 === b && ( b = ! 1 ) , this . forceLandscape = a , this . forcePortrait = b , this . queueUpdate ( ! 0 ) } , classifyOrientation : function ( a ) { return "portrait-primary" === a || "portrait-secondary" === a ? "portrait" : "landscape-primary" === a || "landscape-secondary" === a ? "landscape" : null } , updateOrientationState : function ( ) { var a = this . screenOrientation , b = this . incorrectOrientation ; this . screenOrientation = this . dom . getScreenOrientation ( this . compatibility . orientationFallback ) , this . incorrectOrientation = this . forceLandscape && ! this . isLandscape || this . forcePortrait && ! this . isPortrait ; var c = a !== this . screenOrientation , d = b !== this . incorrectOrientation ; return d && ( this . incorrectOrientation ? this . enterIncorrectOrientation . dispatch ( ) : this . leaveIncorrectOrientation . dispatch ( ) ) , ( c || d ) && this . onOrientationChange . dispatch ( this , a , b ) , c || d } , orientationChange : function ( a ) { this . event = a , this . queueUpdate ( ! 0 ) } , windowResize : function ( a ) { this . event = a , this . queueUpdate ( ! 0 ) } , scrollTop : function ( ) { var a = this . compatibility . scrollTo ; a && window . scrollTo ( a . x , a . y ) } , refresh : function ( ) { this . scrollTop ( ) , this . queueUpdate ( ! 0 ) } , updateLayout : function ( ) { var a = this . currentScaleMode ; if ( a === c . ScaleManager . RESIZE ) return void this . reflowGame ( ) ; if ( this . scrollTop ( ) , this . compatibility . forceMinimumDocumentHeight && ( document . documentElement . style . minHeight = window . innerHeight + "px" ) , this . incorrectOrientation ? this . setMaximum ( ) : a === c . ScaleManager . EXACT _FIT ? this . setExactFit ( ) : a === c . ScaleManager . SHOW _ALL ? ! this . isFullScreen && this . boundingParent && this . compatibility . canExpandParent ? ( this . setShowAll ( ! 0 ) , this . resetCanvas ( ) , this . setShowAll ( ) ) : this . setShowAll ( ) : a === c . ScaleManager . NO _SCALE ? ( this . width = this . game . width , this . height = this . game . height ) : a === c . ScaleManager . USER _SCALE && ( this . width = this . game . width * this . _userScaleFactor . x - this . _userScaleTrim . x , this . height = this . game . height * this . _userScaleFactor . y - this . _userScaleTrim . y ) , ! this . compatibility . canExpandParent && ( a === c . ScaleManager . SHOW _ALL || a === c . ScaleManager . USER _SCALE ) ) { var b = this . getParentBounds ( this . _tempBounds ) ; this . width = Math . min ( this . width , b . width ) , this . height = Math . min ( this . height , b . height ) } this . width = 0 | this . width , this . height = 0 | this . height , this . reflowCanvas ( ) } , getParentBounds : function ( a ) { var b = a || new c . Rectangle , d = this . boundingParent , e = this . dom . visualBounds , f = this . dom . layoutBounds ; if ( d ) { var g = d . getBoundingClientRect ( ) , h = d . offsetParent ? d . offsetParent . getBoundingClientRect ( ) : d . getBoundingClientRect ( ) ; b . s
} return this . bmd . generateTexture ( a ) } , grid : function ( a , b , c , d , e , f ) { null === this . bmd && ( this . bmd = this . game . make . bitmapData ( ) , this . canvas = this . bmd . canvas , this . ctx = this . bmd . context ) , this . bmd . resize ( b , c ) , this . ctx . fillStyle = f ; for ( var g = 0 ; g < c ; g += e ) this . ctx . fillRect ( 0 , g , b , 1 ) ; for ( var h = 0 ; h < b ; h += d ) this . ctx . fillRect ( h , 0 , 1 , c ) ; return this . bmd . generateTexture ( a ) } } , c . Create . prototype . constructor = c . Create , c . FlexGrid = function ( a , b , d ) { this . game = a . game , this . manager = a , this . width = b , this . height = d , this . boundsCustom = new c . Rectangle ( 0 , 0 , b , d ) , this . boundsFluid = new c . Rectangle ( 0 , 0 , b , d ) , this . boundsFull = new c . Rectangle ( 0 , 0 , b , d ) , this . boundsNone = new c . Rectangle ( 0 , 0 , b , d ) , this . positionCustom = new c . Point ( 0 , 0 ) , this . positionFluid = new c . Point ( 0 , 0 ) , this . positionFull = new c . Point ( 0 , 0 ) , this . positionNone = new c . Point ( 0 , 0 ) , this . scaleCustom = new c . Point ( 1 , 1 ) , this . scaleFluid = new c . Point ( 1 , 1 ) , this . scaleFluidInversed = new c . Point ( 1 , 1 ) , this . scaleFull = new c . Point ( 1 , 1 ) , this . scaleNone = new c . Point ( 1 , 1 ) , this . customWidth = 0 , this . customHeight = 0 , this . customOffsetX = 0 , this . customOffsetY = 0 , this . ratioH = b / d , this . ratioV = d / b , this . multiplier = 0 , this . layers = [ ] } , c . FlexGrid . prototype = { setSize : function ( a , b ) { this . width = a , this . height = b , this . ratioH = a / b , this . ratioV = b / a , this . scaleNone = new c . Point ( 1 , 1 ) , this . boundsNone . width = this . width , this . boundsNone . height = this . height , this . refresh ( ) } , createCustomLayer : function ( a , b , d , e ) { void 0 === e && ( e = ! 0 ) , this . customWidth = a , this . customHeight = b , this . boundsCustom . width = a , this . boundsCustom . height = b ; var f = new c . FlexLayer ( this , this . positionCustom , this . boundsCustom , this . scaleCustom ) ; return e && this . game . world . add ( f ) , this . layers . push ( f ) , "undefined" != typeof d && null !== typeof d && f . addMultiple ( d ) , f } , createFluidLayer : function ( a , b ) { void 0 === b && ( b = ! 0 ) ; var d = new c . FlexLayer ( this , this . positionFluid , this . boundsFluid , this . scaleFluid ) ; return b && this . game . world . add ( d ) , this . layers . push ( d ) , "undefined" != typeof a && null !== typeof a && d . addMultiple ( a ) , d } , createFullLayer : function ( a ) { var b = new c . FlexLayer ( this , this . positionFull , this . boundsFull , this . scaleFluid ) ; return this . game . world . add ( b ) , this . layers . push ( b ) , "undefined" != typeof a && b . addMultiple ( a ) , b } , createFixedLayer : function ( a ) { var b = new c . FlexLayer ( this , this . positionNone , this . boundsNone , this . scaleNone ) ; return this . game . world . add ( b ) , this . layers . push ( b ) , "undefined" != typeof a && b . addMultiple ( a ) , b } , reset : function ( ) { for ( var a = this . layers . length ; a -- ; ) this . layers [ a ] . persist || ( this . layers [ a ] . position = null , this . layers [ a ] . scale = null , this . layers . slice ( a , 1 ) ) } , onResize : function ( a , b ) { this . ratioH = a / b , this . ratioV = b / a , this . refresh ( a , b ) } , refresh : function ( ) { this . multiplier = Math . min ( this . manager . height / this . height , this . manager . width / this . width ) , this . boundsFluid . width = Math . round ( this . width * this . multiplier ) , this . boundsFluid . height = Math . round ( this . height * this . multiplier ) , this . scaleFluid . set ( this . boundsFluid . width / this . width , this . boundsFluid . height / this . height ) , this . scaleFluidInversed . set ( this . width / this . boundsFluid . width , this . height / this . boundsFluid . height ) , this . scaleFull . set ( this . boundsFull . width / this . width , this . boundsFull . height / this . height ) , this . boundsFull . width = Math . round ( this . manager . width * this . scaleFluidInversed . x ) , this . boundsFull . height = Math . round ( this . manager . height * this . scaleFluidInversed . y ) , this . boundsFluid . centerOn ( this . manager . bounds . centerX , this . manager . bounds . centerY ) , this . boundsNone . centerOn ( this . manager . bounds . centerX , this . manager . bounds . centerY ) , this . positionFluid . set ( this . boundsFluid . x , this . boundsFluid . y ) , this . positionNone . set ( this . boundsNone . x , this . boundsNone . y ) } , fitSprite : function ( a ) { this . manager . scaleSprite ( a ) , a . x = this . manager . bounds . centerX , a . y = this . manager . bounds . centerY } , debug : function ( ) { this . game . debug . text ( this . boundsFluid . width + " x " + this . boundsFluid . height , this . boundsFluid . x + 4 , this . boundsFluid . y + 16 ) , this . game . debug . geom ( this . boundsFluid , "rgba(255,0,0,0.9" , ! 1 ) } } , c . FlexGrid . prototype . constructor = c . FlexGrid , c . FlexLayer = function ( a , b , d , e ) { c . Group . call ( this , a . game , null , "__flexLayer" + a . game . rnd . uuid ( ) , ! 1 ) , this . manager = a . manager , this . grid = a , this . persist = ! 1 , this . position = b , this . bounds = d , this . scale = e , this . topLeft = d . topLeft , this . topMiddle = new c . Point ( d . h
} , worldAngleToPointer : function ( a , b ) { return this . angleToPointer ( a , b , ! 0 ) } } , c . Physics . Arcade . Body = function ( a ) { this . sprite = a , this . game = a . game , this . type = c . Physics . ARCADE , this . enable = ! 0 , this . isCircle = ! 1 , this . radius = 0 , this . offset = new c . Point , this . position = new c . Point ( a . x , a . y ) , this . prev = new c . Point ( this . position . x , this . position . y ) , this . allowRotation = ! 0 , this . rotation = a . angle , this . preRotation = a . angle , this . width = a . width , this . height = a . height , this . sourceWidth = a . width , this . sourceHeight = a . height , a . texture && ( this . sourceWidth = a . texture . frame . width , this . sourceHeight = a . texture . frame . height ) , this . halfWidth = Math . abs ( a . width / 2 ) , this . halfHeight = Math . abs ( a . height / 2 ) , this . center = new c . Point ( a . x + this . halfWidth , a . y + this . halfHeight ) , this . velocity = new c . Point , this . newVelocity = new c . Point , this . deltaMax = new c . Point , this . acceleration = new c . Point , this . drag = new c . Point , this . allowGravity = ! 0 , this . gravity = new c . Point , this . bounce = new c . Point , this . worldBounce = null , this . onWorldBounds = null , this . onCollide = null , this . onOverlap = null , this . maxVelocity = new c . Point ( 1e4 , 1e4 ) , this . friction = new c . Point ( 1 , 0 ) , this . angularVelocity = 0 , this . angularAcceleration = 0 , this . angularDrag = 0 , this . maxAngular = 1e3 , this . mass = 1 , this . angle = 0 , this . speed = 0 , this . facing = c . NONE , this . immovable = ! 1 , this . moves = ! 0 , this . customSeparateX = ! 1 , this . customSeparateY = ! 1 , this . overlapX = 0 , this . overlapY = 0 , this . overlapR = 0 , this . embedded = ! 1 , this . collideWorldBounds = ! 1 , this . checkCollision = { none : ! 1 , any : ! 0 , up : ! 0 , down : ! 0 , left : ! 0 , right : ! 0 } , this . touching = { none : ! 0 , up : ! 1 , down : ! 1 , left : ! 1 , right : ! 1 } , this . wasTouching = { none : ! 0 , up : ! 1 , down : ! 1 , left : ! 1 , right : ! 1 } , this . blocked = { up : ! 1 , down : ! 1 , left : ! 1 , right : ! 1 } , this . tilePadding = new c . Point , this . dirty = ! 1 , this . skipQuadTree = ! 1 , this . syncBounds = ! 1 , this . isMoving = ! 1 , this . stopVelocityOnCollide = ! 0 , this . moveTimer = 0 , this . moveDistance = 0 , this . moveDuration = 0 , this . moveTarget = null , this . moveEnd = null , this . onMoveComplete = new c . Signal , this . movementCallback = null , this . movementCallbackContext = null , this . _reset = ! 0 , this . _sx = a . scale . x , this . _sy = a . scale . y , this . _dx = 0 , this . _dy = 0 } , c . Physics . Arcade . Body . prototype = { updateBounds : function ( ) { if ( this . syncBounds ) { var a = this . sprite . getBounds ( ) ; a . ceilAll ( ) , a . width === this . width && a . height === this . height || ( this . width = a . width , this . height = a . height , this . _reset = ! 0 ) } else { var b = Math . abs ( this . sprite . scale . x ) , c = Math . abs ( this . sprite . scale . y ) ; b === this . _sx && c === this . _sy || ( this . width = this . sourceWidth * b , this . height = this . sourceHeight * c , this . _sx = b , this . _sy = c , this . _reset = ! 0 ) } this . _reset && ( this . halfWidth = Math . floor ( this . width / 2 ) , this . halfHeight = Math . floor ( this . height / 2 ) , this . center . setTo ( this . position . x + this . halfWidth , this . position . y + this . halfHeight ) ) } , preUpdate : function ( ) { this . enable && ! this . game . physics . arcade . isPaused && ( this . dirty = ! 0 , this . wasTouching . none = this . touching . none , this . wasTouching . up = this . touching . up , this . wasTouching . down = this . touching . down , this . wasTouching . left = this . touching . left , this . wasTouching . right = this . touching . right , this . touching . none = ! 0 , this . touching . up = ! 1 , this . touching . down = ! 1 , this . touching . left = ! 1 , this . touching . right = ! 1 , this . blocked . up = ! 1 , this . blocked . down = ! 1 , this . blocked . left = ! 1 , this . blocked . right = ! 1 , this . embedded = ! 1 , this . updateBounds ( ) , this . position . x = this . sprite . world . x - this . sprite . anchor . x * this . sprite . width + this . sprite . scale . x * this . offset . x , this . position . x -= this . sprite . scale . x < 0 ? this . width : 0 , this . position . y = this . sprite . world . y - this . sprite . anchor . y * this . sprite . height + this . sprite . scale . y * this . offset . y , this . position . y -= this . sprite . scale . y < 0 ? this . height : 0 , this . rotation = this . sprite . angle , this . preRotation = this . rotation , ( this . _reset || this . sprite . fresh ) && ( this . prev . x = this . position . x , this . prev . y = this . position . y ) , this . moves && ( this . game . physics . arcade . updateMotion ( this ) , this . newVelocity . set ( this . velocity . x * this . game . time . physicsElapsed , this . velocity . y * this . game . time . physicsElapsed ) , this . position . x += this . newVelocity . x , this . position . y += this . newVelocity . y , this . position . x === this . prev . x && this . position . y === this . prev . y || ( this . angle = Math . atan2 ( this . velocity . y , this . velocity . x ) ) , this . speed = Math . sqrt ( this . velocity . x * this . velocity . x + this . velocity . y * this . velocity . y ) , this . collideWorldBounds && this . che
Array . isArray ( a ) || ( a = [ a ] ) , this . rawList = a , this . init ( ) , this . parse ( this . rawList ) } , c . Physics . P2 . FixtureList . prototype = { init : function ( ) { this . namedFixtures = { } , this . groupedFixtures = [ ] , this . allFixtures = [ ] } , setCategory : function ( a , b ) { var c = function ( b ) { b . collisionGroup = a } ; this . getFixtures ( b ) . forEach ( c ) } , setMask : function ( a , b ) { var c = function ( b ) { b . collisionMask = a } ; this . getFixtures ( b ) . forEach ( c ) } , setSensor : function ( a , b ) { var c = function ( b ) { b . sensor = a } ; this . getFixtures ( b ) . forEach ( c ) } , setMaterial : function ( a , b ) { var c = function ( b ) { b . material = a } ; this . getFixtures ( b ) . forEach ( c ) } , getFixtures : function ( a ) { var b = [ ] ; if ( a ) { a instanceof Array || ( a = [ a ] ) ; var c = this ; return a . forEach ( function ( a ) { c . namedFixtures [ a ] && b . push ( c . namedFixtures [ a ] ) } ) , this . flatten ( b ) } return this . allFixtures } , getFixtureByKey : function ( a ) { return this . namedFixtures [ a ] } , getGroup : function ( a ) { return this . groupedFixtures [ a ] } , parse : function ( ) { var a , b , c , d ; c = this . rawList , d = [ ] ; for ( a in c ) b = c [ a ] , isNaN ( a - 0 ) ? this . namedFixtures [ a ] = this . flatten ( b ) : ( this . groupedFixtures [ a ] = this . groupedFixtures [ a ] || [ ] , this . groupedFixtures [ a ] = this . groupedFixtures [ a ] . concat ( b ) ) , d . push ( this . allFixtures = this . flatten ( this . groupedFixtures ) ) } , flatten : function ( a ) { var b , c ; return b = [ ] , c = arguments . callee , a . forEach ( function ( a ) { return Array . prototype . push . apply ( b , Array . isArray ( a ) ? c ( a ) : [ a ] ) } ) , b } } , c . Physics . P2 . PointProxy = function ( a , b ) { this . world = a , this . destination = b } , c . Physics . P2 . PointProxy . prototype . constructor = c . Physics . P2 . PointProxy , Object . defineProperty ( c . Physics . P2 . PointProxy . prototype , "x" , { get : function ( ) { return this . world . mpx ( this . destination [ 0 ] ) } , set : function ( a ) { this . destination [ 0 ] = this . world . pxm ( a ) } } ) , Object . defineProperty ( c . Physics . P2 . PointProxy . prototype , "y" , { get : function ( ) { return this . world . mpx ( this . destination [ 1 ] ) } , set : function ( a ) { this . destination [ 1 ] = this . world . pxm ( a ) } } ) , Object . defineProperty ( c . Physics . P2 . PointProxy . prototype , "mx" , { get : function ( ) { return this . destination [ 0 ] } , set : function ( a ) { this . destination [ 0 ] = a } } ) , Object . defineProperty ( c . Physics . P2 . PointProxy . prototype , "my" , { get : function ( ) { return this . destination [ 1 ] } , set : function ( a ) { this . destination [ 1 ] = a } } ) , c . Physics . P2 . InversePointProxy = function ( a , b ) { this . world = a , this . destination = b } , c . Physics . P2 . InversePointProxy . prototype . constructor = c . Physics . P2 . InversePointProxy , Object . defineProperty ( c . Physics . P2 . InversePointProxy . prototype , "x" , { get : function ( ) { return this . world . mpxi ( this . destination [ 0 ] ) } , set : function ( a ) { this . destination [ 0 ] = this . world . pxmi ( a ) } } ) , Object . defineProperty ( c . Physics . P2 . InversePointProxy . prototype , "y" , { get : function ( ) { return this . world . mpxi ( this . destination [ 1 ] ) } , set : function ( a ) { this . destination [ 1 ] = this . world . pxmi ( a ) } } ) , Object . defineProperty ( c . Physics . P2 . InversePointProxy . prototype , "mx" , { get : function ( ) { return this . destination [ 0 ] } , set : function ( a ) { this . destination [ 0 ] = - a } } ) , Object . defineProperty ( c . Physics . P2 . InversePointProxy . prototype , "my" , { get : function ( ) { return this . destination [ 1 ] } , set : function ( a ) { this . destination [ 1 ] = - a } } ) , c . Physics . P2 . Body = function ( a , b , d , e , f ) { b = b || null , d = d || 0 , e = e || 0 , void 0 === f && ( f = 1 ) , this . game = a , this . world = a . physics . p2 , this . sprite = b , this . type = c . Physics . P2JS , this . offset = new c . Point , this . data = new p2 . Body ( { position : [ this . world . pxmi ( d ) , this . world . pxmi ( e ) ] , mass : f } ) , this . data . parent = this , this . velocity = new c . Physics . P2 . InversePointProxy ( this . world , this . data . velocity ) , this . force = new c . Physics . P2 . InversePointProxy ( this . world , this . data . force ) , this . gravity = new c . Point , this . onBeginContact = new c . Signal , this . onEndContact = new c . Signal , this . collidesWith = [ ] , this . removeNextStep = ! 1 , this . debugBody = null , this . dirty = ! 1 , this . _collideWorldBounds = ! 0 , this . _bodyCallbacks = { } , this . _bodyCallbackContext = { } , this . _groupCallbacks = { } , this . _groupCallbackContext = { } , this . _reset = ! 1 , b && ( this . setRectangleFromSprite ( b ) , b . exists && this . game . physics . p2 . addBody ( this ) ) } , c . Physics . P2 . Body . prototype = { createBodyCallback : function ( a , b , c ) { var d = - 1 ; a . id ? d = a . id : a . body && ( d = a . body . id ) , d > - 1 && ( null === b ? ( delete this . _bodyCallbacks [ d ] , delete this . _bodyCallbackContext [ d ] ) : ( this . _bodyCallbacks [ d ] = b , this . _bodyCallbackContext [ d ] = c ) ) } , createGroupCallback : function ( a , b , c ) { null === b ? ( delete this . _groupCallbacks
l ) { var n = new i ( this . game , parseFloat ( m . x , 10 ) , parseFloat ( m . y , 10 ) , d , e ) ; n . name = m . name , n . visible = m . visible , n . autoCull = g , n . exists = f , m . width && ( n . width = m . width ) , m . height && ( n . height = m . height ) , m . rotation && ( n . angle = m . rotation ) , j && ( n . y -= n . height ) , h . add ( n ) ; for ( var o in m . properties ) h . set ( n , o , m . properties [ o ] , ! 1 , ! 1 , 0 , ! 0 ) } } } , createFromTiles : function ( a , b , d , e , f , g ) { "number" == typeof a && ( a = [ a ] ) , void 0 === b || null === b ? b = [ ] : "number" == typeof b && ( b = [ b ] ) , e = this . getLayer ( e ) , void 0 === f && ( f = this . game . world ) , void 0 === g && ( g = { } ) , void 0 === g . customClass && ( g . customClass = c . Sprite ) , void 0 === g . adjustY && ( g . adjustY = ! 0 ) ; var h = this . layers [ e ] . width , i = this . layers [ e ] . height ; if ( this . copy ( 0 , 0 , h , i , e ) , this . _results . length < 2 ) return 0 ; for ( var j , k = 0 , l = 1 , m = this . _results . length ; l < m ; l ++ ) if ( a . indexOf ( this . _results [ l ] . index ) !== - 1 ) { j = new g . customClass ( this . game , this . _results [ l ] . worldX , this . _results [ l ] . worldY , d ) ; for ( var n in g ) j [ n ] = g [ n ] ; f . add ( j ) , k ++ } if ( 1 === b . length ) for ( l = 0 ; l < a . length ; l ++ ) this . replace ( a [ l ] , b [ 0 ] , 0 , 0 , h , i , e ) ; else if ( b . length > 1 ) for ( l = 0 ; l < a . length ; l ++ ) this . replace ( a [ l ] , b [ l ] , 0 , 0 , h , i , e ) ; return k } , createLayer : function ( a , b , d , e ) { void 0 === b && ( b = this . game . width ) , void 0 === d && ( d = this . game . height ) , void 0 === e && ( e = this . game . world ) ; var f = a ; if ( "string" == typeof a && ( f = this . getLayerIndex ( a ) ) , null === f || f > this . layers . length ) return void console . warn ( "Tilemap.createLayer: Invalid layer ID given: " + f ) ; void 0 === b || b <= 0 ? b = Math . min ( this . game . width , this . layers [ f ] . widthInPixels ) : b > this . game . width && ( b = this . game . width ) , void 0 === d || d <= 0 ? d = Math . min ( this . game . height , this . layers [ f ] . heightInPixels ) : d > this . game . height && ( d = this . game . height ) , this . enableDebug && ( console . group ( "Tilemap.createLayer" ) , console . log ( "Name:" , this . layers [ f ] . name ) , console . log ( "Size:" , b , "x" , d ) , console . log ( "Tileset:" , this . tilesets [ 0 ] . name , "index:" , f ) ) ; var g = e . add ( new c . TilemapLayer ( this . game , this , f , b , d ) ) ; return this . enableDebug && console . groupEnd ( ) , g } , createBlankLayer : function ( a , b , d , e , f , g ) { if ( void 0 === g && ( g = this . game . world ) , null !== this . getLayerIndex ( a ) ) return void console . warn ( "Tilemap.createBlankLayer: Layer with matching name already exists: " + a ) ; for ( var h , i = { name : a , x : 0 , y : 0 , width : b , height : d , widthInPixels : b * e , heightInPixels : d * f , alpha : 1 , visible : ! 0 , properties : { } , indexes : [ ] , callbacks : [ ] , bodies : [ ] , data : null } , j = [ ] , k = 0 ; k < d ; k ++ ) { h = [ ] ; for ( var l = 0 ; l < b ; l ++ ) h . push ( new c . Tile ( i , - 1 , l , k , e , f ) ) ; j . push ( h ) } i . data = j , this . layers . push ( i ) , this . currentLayer = this . layers . length - 1 ; var m = i . widthInPixels , n = i . heightInPixels ; m > this . game . width && ( m = this . game . width ) , n > this . game . height && ( n = this . game . height ) ; var j = new c . TilemapLayer ( this . game , this , this . layers . length - 1 , m , n ) ; return j . name = a , g . add ( j ) } , getIndex : function ( a , b ) { for ( var c = 0 ; c < a . length ; c ++ ) if ( a [ c ] . name === b ) return c ; return null } , getLayerIndex : function ( a ) { return this . getIndex ( this . layers , a ) } , getTilesetIndex : function ( a ) { return this . getIndex ( this . tilesets , a ) } , getImageIndex : function ( a ) { return this . getIndex ( this . images , a ) } , setTileIndexCallback : function ( a , b , c , d ) { if ( d = this . getLayer ( d ) , "number" == typeof a ) this . layers [ d ] . callbacks [ a ] = { callback : b , callbackContext : c } ; else for ( var e = 0 , f = a . length ; e < f ; e ++ ) this . layers [ d ] . callbacks [ a [ e ] ] = { callback : b , callbackContext : c } } , setTileLocationCallback : function ( a , b , c , d , e , f , g ) { if ( g = this . getLayer ( g ) , this . copy ( a , b , c , d , g ) , ! ( this . _results . length < 2 ) ) for ( var h = 1 ; h < this . _results . length ; h ++ ) this . _results [ h ] . setCollisionCallback ( e , f ) } , setCollision : function ( a , b , c , d ) { if ( void 0 === b && ( b = ! 0 ) , void 0 === d && ( d = ! 0 ) , c = this . getLayer ( c ) , "number" == typeof a ) return this . setCollisionByIndex ( a , b , c , ! 0 ) ; if ( Array . isArray ( a ) ) { for ( var e = 0 ; e < a . length ; e ++ ) this . setCollisionByIndex ( a [ e ] , b , c , ! 1 ) ; d && this . calculateFaces ( c ) } } , setCollisionBetween : function ( a , b , c , d , e ) { if ( void 0 === c && ( c = ! 0 ) , void 0 === e && ( e = ! 0 ) , d = this . getLayer ( d ) , ! ( a > b ) ) { for ( var f = a ; f <= b ; f ++ ) this . setCollisionByIndex ( f , c , d , ! 1 ) ; e && this . calculateFaces ( d ) } } , setCollisionByExclusion : function ( a , b , c , d ) { void 0 === b && ( b = ! 0 ) , void 0 === d && ( d = ! 0 ) , c = this . getLayer ( c ) ; for ( var e = 0 , f = this . tiles . length ; e < f ; e ++ ) a . indexOf ( e ) === - 1 && this . setCollisionByIndex ( e , b , c , ! 1 ) ; d && this . calculateFaces ( c ) } , setCollisionByIndex : function ( a , b , c , d ) { if ( void 0 === b && ( b = ! 0 ) , void 0 === c && ( c = this . currentLayer ) , void 0 =
c . Particles . Arcade . Emitter = function ( a , b , d , e ) { this . maxParticles = e || 50 , c . Group . call ( this , a ) , this . _id = this . game . particles . ID ++ , this . name = "emitter" + this . id , this . type = c . EMITTER , this . physicsType = c . GROUP , this . area = new c . Rectangle ( b , d , 1 , 1 ) , this . minParticleSpeed = new c . Point ( - 100 , - 100 ) , this . maxParticleSpeed = new c . Point ( 100 , 100 ) , this . minParticleScale = 1 , this . maxParticleScale = 1 , this . scaleData = null , this . minRotation = - 360 , this . maxRotation = 360 , this . minParticleAlpha = 1 , this . maxParticleAlpha = 1 , this . alphaData = null , this . gravity = 100 , this . particleClass = c . Particle , this . particleDrag = new c . Point , this . angularDrag = 0 , this . frequency = 100 , this . lifespan = 2e3 , this . bounce = new c . Point , this . on = ! 1 , this . particleAnchor = new c . Point ( . 5 , . 5 ) , this . blendMode = c . blendModes . NORMAL , this . emitX = b , this . emitY = d , this . autoScale = ! 1 , this . autoAlpha = ! 1 , this . particleBringToTop = ! 1 , this . particleSendToBack = ! 1 , this . _minParticleScale = new c . Point ( 1 , 1 ) , this . _maxParticleScale = new c . Point ( 1 , 1 ) , this . _quantity = 0 , this . _timer = 0 , this . _counter = 0 , this . _flowQuantity = 0 , this . _flowTotal = 0 , this . _explode = ! 0 , this . _frames = null } , c . Particles . Arcade . Emitter . prototype = Object . create ( c . Group . prototype ) , c . Particles . Arcade . Emitter . prototype . constructor = c . Particles . Arcade . Emitter , c . Particles . Arcade . Emitter . prototype . update = function ( ) { if ( this . on && this . game . time . time >= this . _timer ) if ( this . _timer = this . game . time . time + this . frequency * this . game . time . slowMotion , 0 !== this . _flowTotal ) if ( this . _flowQuantity > 0 ) { for ( var a = 0 ; a < this . _flowQuantity ; a ++ ) if ( this . emitParticle ( ) && ( this . _counter ++ , this . _flowTotal !== - 1 && this . _counter >= this . _flowTotal ) ) { this . on = ! 1 ; break } } else this . emitParticle ( ) && ( this . _counter ++ , this . _flowTotal !== - 1 && this . _counter >= this . _flowTotal && ( this . on = ! 1 ) ) ; else this . emitParticle ( ) && ( this . _counter ++ , this . _quantity > 0 && this . _counter >= this . _quantity && ( this . on = ! 1 ) ) ; for ( var a = this . children . length ; a -- ; ) this . children [ a ] . exists && this . children [ a ] . update ( ) } , c . Particles . Arcade . Emitter . prototype . makeParticles = function ( a , b , c , d , e ) { void 0 === b && ( b = 0 ) , void 0 === c && ( c = this . maxParticles ) , void 0 === d && ( d = ! 1 ) , void 0 === e && ( e = ! 1 ) ; var f , g = 0 , h = a , i = b ; for ( this . _frames = b , c > this . maxParticles && ( this . maxParticles = c ) ; g < c ; ) Array . isArray ( a ) && ( h = this . game . rnd . pick ( a ) ) , Array . isArray ( b ) && ( i = this . game . rnd . pick ( b ) ) , f = new this . particleClass ( this . game , 0 , 0 , h , i ) , this . game . physics . arcade . enable ( f , ! 1 ) , d ? ( f . body . checkCollision . any = ! 0 , f . body . checkCollision . none = ! 1 ) : f . body . checkCollision . none = ! 0 , f . body . collideWorldBounds = e , f . body . skipQuadTree = ! 0 , f . exists = ! 1 , f . visible = ! 1 , f . anchor . copyFrom ( this . particleAnchor ) , this . add ( f ) , g ++ ; return this } , c . Particles . Arcade . Emitter . prototype . kill = function ( ) { return this . on = ! 1 , this . alive = ! 1 , this . exists = ! 1 , this } , c . Particles . Arcade . Emitter . prototype . revive = function ( ) { return this . alive = ! 0 , this . exists = ! 0 , this } , c . Particles . Arcade . Emitter . prototype . explode = function ( a , b ) { return this . _flowTotal = 0 , this . start ( ! 0 , a , 0 , b , ! 1 ) , this } , c . Particles . Arcade . Emitter . prototype . flow = function ( a , b , c , d , e ) { return void 0 !== c && 0 !== c || ( c = 1 ) , void 0 === d && ( d = - 1 ) , void 0 === e && ( e = ! 0 ) , c > this . maxParticles && ( c = this . maxParticles ) , this . _counter = 0 , this . _flowQuantity = c , this . _flowTotal = d , e ? ( this . start ( ! 0 , a , b , c ) , this . _counter += c , this . on = ! 0 , this . _timer = this . game . time . time + b * this . game . time . slowMotion ) : this . start ( ! 1 , a , b , c ) , this } , c . Particles . Arcade . Emitter . prototype . start = function ( a , b , c , d , e ) { if ( void 0 === a && ( a = ! 0 ) , void 0 === b && ( b = 0 ) , void 0 !== c && null !== c || ( c = 250 ) , void 0 === d && ( d = 0 ) , void 0 === e && ( e = ! 1 ) , d > this . maxParticles && ( d = this . maxParticles ) , this . revive ( ) , this . visible = ! 0 , this . lifespan = b , this . frequency = c , a || e ) for ( var f = 0 ; f < d ; f ++ ) this . emitParticle ( ) ; else this . on = ! 0 , this . _quantity = d , this . _counter = 0 , this . _timer = this . game . time . time + c * this . game . time . slowMotion ; return this } , c . Particles . Arcade . Emitter . prototype . emitParticle = function ( a , b , c , d ) { void 0 === a && ( a = null ) , void 0 === b && ( b = null ) ; var e = this . getFirstExists ( ! 1 ) ; if ( null === e ) return ! 1 ; var f = this . game . rnd ; void 0 !== c && void 0 !== d ? e . loadTexture ( c , d ) : void 0 !== c && e . loadTexture ( c ) ; var g = this . emitX , h = this . emitY ; null !== a ? g = a : this . width > 1 && ( g = f . between ( this . left , this . right ) ) , null !== b ? h = b : this . height > 1 && ( h = f . between ( this . top , this . bottom ) ) , e . reset ( g , h ) , e . angle =
} , unsetMute : function ( ) { this . _muted && ! this . _codeMuted && ( this . _muted = ! 1 , this . video . muted = ! 1 ) } , setPause : function ( ) { this . _paused || this . touchLocked || ( this . _paused = ! 0 , this . video . pause ( ) ) } , setResume : function ( ) { ! this . _paused || this . _codePaused || this . touchLocked || ( this . _paused = ! 1 , this . video . ended || this . video . play ( ) ) } , changeSource : function ( a , b ) { return void 0 === b && ( b = ! 0 ) , this . texture . valid = ! 1 , this . video . pause ( ) , this . _pendingChangeSource = ! 0 , this . retry = this . retryLimit , this . _retryID = window . setTimeout ( this . checkVideoProgress . bind ( this ) , this . retryInterval ) , this . video . src = a , this . video . load ( ) , this . _autoplay = b , b || ( this . paused = ! 0 ) , this } , checkVideoProgress : function ( ) { 4 === this . video . readyState ? ( this . _pendingChangeSource = ! 1 , this . updateTexture ( ) ) : ( this . retry -- , this . retry > 0 ? this . _retryID = window . setTimeout ( this . checkVideoProgress . bind ( this ) , this . retryInterval ) : console . warn ( "Phaser.Video: Unable to start downloading video in time" , this . isStreaming ) ) } , setTouchLock : function ( ) { this . game . input . touch . addTouchLockCallback ( this . unlock , this ) , this . touchLocked = ! 0 } , unlock : function ( ) { if ( this . touchLocked = ! 1 , this . video . play ( ) , this . onPlay . dispatch ( this , this . loop , this . playbackRate ) , this . key ) { var a = this . game . cache . getVideo ( this . key ) ; a && ! a . isBlob && ( a . locked = ! 1 ) } return ! 0 } , grab : function ( a , b , c ) { return void 0 === a && ( a = ! 1 ) , void 0 === b && ( b = 1 ) , void 0 === c && ( c = null ) , null === this . snapshot ? void console . warn ( "Video.grab cannot run because Phaser.BitmapData is unavailable" ) : ( a && this . snapshot . cls ( ) , this . snapshot . copy ( this . video , 0 , 0 , this . width , this . height , 0 , 0 , this . width , this . height , 0 , 0 , 0 , 1 , 1 , b , c ) , this . snapshot ) } , removeVideoElement : function ( ) { if ( this . video ) { for ( this . video . parentNode && this . video . parentNode . removeChild ( this . video ) ; this . video . hasChildNodes ( ) ; ) this . video . removeChild ( this . video . firstChild ) ; this . video . removeAttribute ( "autoplay" ) , this . video . removeAttribute ( "src" ) , this . video = null } } , destroy : function ( ) { this . stop ( ) , this . removeVideoElement ( ) , this . touchLocked && this . game . input . touch . removeTouchLockCallback ( this . unlock , this ) , this . _retryID && window . clearTimeout ( this . _retryID ) } } , 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 ) { a < 0 ? 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 } , 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 && ! ( 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 ) , PIXI . TextureSilentFail = ! 0 , "undefined" != typeof exports ? ( "undefined" != typeof module && module . exports && ( exports = module . exports = c ) ,
2016-11-23 00:59:32 +00:00
//# sourceMappingURL=phaser-creature.map