diff --git a/index.js b/index.js index 1d9aef2..0768dbe 100644 --- a/index.js +++ b/index.js @@ -17,7 +17,7 @@ const prefixoid = require('metalsmith-prefixoid'); const argv = require('minimist')(process.argv.slice(2)); const DEFAULT_LOCALE = 'en'; -const LOCALES = ['en', 'es']; +const LOCALES = ['en', 'es', 'fr']; metalsmith(__dirname) .source('src/content') @@ -30,15 +30,23 @@ metalsmith(__dirname) pattern: 'platformer/*_es.md', sortBy: 'path' }, + 'platformer_fr': { + pattern: 'platformer/*_fr.md', + sortBy: 'path' + }, 'setup_en': { pattern: 'setup/*_en.md', sortBy: 'path' }, - 'bonus': { - pattern: 'bonus/*.md' + 'setup_fr': { + pattern: 'setup/*_fr.md', + sortBy: 'path' + }, + 'bonus_en': { + pattern: 'bonus/*_en.md' }, 'coach_en' :{ - pattern: 'coach-guide/*.md' + pattern: 'coach-guide/*_en.md' } })) .use(multiLanguage({ @@ -56,11 +64,17 @@ metalsmith(__dirname) }, { match: { collection: 'platformer_es' }, pattern: ':locale/guias/plataformas/:slug' + }, { + match: { collection: 'platformer_fr' }, + pattern: ':locale/guides/plateforme/:slug' }, { match: { collection: 'setup_en' }, pattern: ':locale/guides/setup/:slug' }, { - match: { collection: 'bonus' }, + match: { collection: 'setup_fr' }, + pattern: ':locale/guides/installation/:slug' + }, { + match: { collection: 'bonus_en' }, pattern: ':locale/bonus/:slug' }, { match: { collection: 'coach_en'}, diff --git a/src/assets/platformer/js/phaser.map b/src/assets/platformer/js/phaser.map index 425c91d..dba7cc8 100644 --- a/src/assets/platformer/js/phaser.map +++ b/src/assets/platformer/js/phaser.map @@ -1 +1 @@ -{"version":3,"sources":["phaser.js"],"names":["e","exports","module","define","f","window","global","self","p2","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","Line","Scalar","lineInt","l1","l2","precision","a1","b1","c1","a2","b2","c2","det","eq","segmentsIntersect","p1","q1","q2","dx","dy","da","db","./Scalar","2","Point","area","b","c","left","leftOn","right","rightOn","tmpPoint1","tmpPoint2","collinear","thresholdAngle","ab","bc","dot","magA","Math","sqrt","magB","angle","acos","sqdist","3","Polygon","this","vertices","getIntersectionPoint","delta","prototype","at","v","first","last","clear","append","poly","from","to","push","makeCCW","br","reverse","tmp","N","pop","isReflex","tmpLine1","tmpLine2","canSee","p","dist","copy","j","targetPoly","k","getCutEdges","min","tmp1","tmp2","tmpPoly","nDiags","Number","MAX_VALUE","decomp","edges","slice","cutEdges","Array","polys","cutEdge","result","splice","indexOf","isSimple","path","quickDecomp","reflexVertices","steinerPoints","maxlevel","level","upperInt","lowerInt","upperDist","lowerDist","d","closestDist","upperIndex","lowerIndex","closestIndex","lowerPoly","upperPoly","console","warn","removeCollinearPoints","num","./Line","./Point","4","abs","5","./Polygon","6","name","version","description","author","keywords","main","engines","node","repository","type","url","bugs","licenses","devDependencies","grunt","grunt-contrib-jshint","grunt-contrib-nodeunit","grunt-contrib-uglify","grunt-contrib-watch","grunt-browserify","grunt-contrib-concat","dependencies","poly-decomp","7","AABB","options","lowerBound","vec2","create","upperBound","setFromPoints","points","position","skinSize","l","rotate","cosAngle","cos","sinAngle","sin","x","y","add","aabb","extend","overlaps","u1","u2","containsPoint","point","overlapsRay","ray","dirFracX","direction","dirFracY","t1","t2","t3","t4","tmin","max","tmax","../math/vec2","../utils/Utils","8","Broadphase","world","boundingVolumeType","Body","BOUNDING_CIRCLE","setWorld","getCollisionPairs","boundingRadiusCheck","bodyA","bodyB","sub","d2","squaredLength","boundingRadius","aabbCheck","getAABB","boundingVolumeCheck","canCollide","KINEMATIC","STATIC","sleepState","SLEEPING","NAIVE","SAP","../objects/Body","9","NaiveBroadphase","constructor","bodies","Ncolliding","bi","bj","aabbQuery","aabbNeedsUpdate","updateAABB","../collision/Broadphase","../shapes/Circle","../shapes/Particle","../shapes/Plane","../shapes/Shape","10","Narrowphase","contactEquations","frictionEquations","enableFriction","enabledEquations","slipForce","frictionCoefficient","surfaceVelocity","contactEquationPool","ContactEquationPool","size","frictionEquationPool","FrictionEquationPool","restitution","stiffness","Equation","DEFAULT_STIFFNESS","relaxation","DEFAULT_RELAXATION","frictionStiffness","frictionRelaxation","enableFrictionReduction","collidingBodiesLastStep","TupleDictionary","contactSkinSize","setConvexToCapsuleShapeMiddle","convexShape","capsuleShape","set","radius","pointInConvex","worldPoint","convexOffset","convexAngle","worldVertex0","pic_worldVertex0","worldVertex1","pic_worldVertex1","r0","pic_r0","r1","pic_r1","verts","lastCross","v0","v1","cross","crossLength","Circle","Convex","Shape","Box","yAxis","fromValues","tmp3","tmp4","tmp5","tmp6","tmp7","tmp8","tmp9","tmp10","tmp11","tmp12","tmp13","tmp14","tmp15","tmp16","tmp17","tmp18","tmpArray","bodiesOverlap_shapePositionA","bodiesOverlap_shapePositionB","bodiesOverlap","shapePositionA","shapePositionB","Nshapesi","shapes","shapeA","toWorldFrame","Nshapesj","shapeB","collidedLastStep","id1","id","id2","get","reset","eqs","ce","fe","release","createContactEquation","firstImpact","needsUpdate","enabled","offset","createFrictionEquation","setSlipForce","relativeVelocity","createFrictionFromContact","contactPointA","contactPointB","rotate90cw","normalA","createFrictionFromAverage","numContacts","invNumContacts","scale","normalize","LINE","CONVEX","convexLine","convexBody","lineBody","lineShape","lineOffset","lineAngle","justTest","BOX","lineBox","boxBody","boxShape","boxOffset","boxAngle","convexCapsule_tempRect","width","height","convexCapsule_tempVec","CAPSULE","convexCapsule","convexPosition","capsuleBody","capsulePosition","capsuleAngle","circlePos","result1","circleConvex","result2","convexConvex","lineCapsule","linePosition","capsuleCapsule_tempVec1","capsuleCapsule_tempVec2","capsuleCapsule_tempRect1","capsuleCapsule","si","xi","ai","sj","xj","aj","enableFrictionBefore","circlePosi","circlePosj","circleCircle","rect","lineLine","positionA","angleA","positionB","angleB","PLANE","planeLine","planeBody","planeShape","planeOffset","planeAngle","worldVertex01","worldVertex11","worldEdge","worldEdgeUnit","worldNormal","worldTangent","PARTICLE","particleCapsule","particleBody","particleShape","particlePosition","particleAngle","circleLine","CIRCLE","circleBody","circleShape","circleOffset","circleAngle","lineRadius","circleRadius","orthoDist","lineToCircleOrthoUnit","projectedPoint","centerDist","lineToCircle","lineEndToLineRadius","radiusSum","pos","pos0","pos1","pow","circleCapsule","worldVertex","closestEdgeProjectedPoint","candidate","candidateDist","minCandidate","found","minCandidateDistance","candidateDistance","localVertex","particleConvex","particleOffset","convexToparticle","minEdgeNormal","offsetA","offsetB","radiusA","radiusB","planeConvex","numReported","particlePlane","circleParticle","planeCapsule_tmpCircle","planeCapsule_tmp1","planeCapsule_tmp2","planeCapsule","capsuleOffset","end1","end2","circle","numContacts1","circlePlane","numContacts2","numTotal","planeToCircle","temp","contact","sepAxis","worldPoint0","worldPoint1","penetrationVec","findSeparatingAxis","closestEdge1","getClosestEdge","closestEdge2","closestEdgeA","closestEdgeB","insideNumEdges","pcoa_tmp1","projectConvexOntoAxis","worldAxis","value","localAxis","fsa_tmp1","fsa_tmp2","fsa_tmp3","fsa_tmp4","fsa_tmp5","fsa_tmp6","offset1","angle1","offset2","angle2","maxDist","overlap","edge","normal","span1","span2","swapped","gce_tmp1","gce_tmp2","gce_tmp3","axis","flip","closestEdge","maxDot","circleHeightfield_candidate","circleHeightfield_dist","circleHeightfield_v0","circleHeightfield_v1","circleHeightfield_minCandidate","circleHeightfield_worldNormal","circleHeightfield_minCandidateNormal","HEIGHTFIELD","circleHeightfield","hfBody","hfShape","hfPos","hfAngle","data","heights","w","elementWidth","minCandidateNormal","idxA","floor","idxB","ceil","PI","convexHeightfield_v0","convexHeightfield_v1","convexHeightfield_tilePos","convexHeightfield_tempConvexShape","convexHeightfield","convexPos","tilePos","tileConvex","tileHeight","../equations/ContactEquation","../equations/Equation","../equations/FrictionEquation","../shapes/Box","../shapes/Convex","../utils/ContactEquationPool","../utils/FrictionEquationPool","../utils/TupleDictionary","11","Ray","checkCollisionResponse","undefined","skipBackfaces","collisionMask","collisionGroup","mode","ANY","callback","update","distanceFromIntersectionSquared","intersect","squaredDistance","CLOSEST","ALL","intersectBodies","shouldStop","body","intersectBody","intersectBody_worldPosition","collisionResponse","worldPosition","shape","worldAngle","intersectShape","distance","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult","12","RaycastResult","isStopped","getHitDistance","getHitPoint","out","lerp","stop","../collision/Ray","13","SAPBroadphase","axisList","axisIndex","that","_addBodyHandler","_removeBodyHandler","idx","Utils","appendArray","off","on","sortAxisList","sortList","14","Constraint","defaults","collideConnected","wakeUpBodies","equations","wakeUp","DISTANCE","GEAR","LOCK","PRISMATIC","REVOLUTE","setStiffness","setRelaxation","15","DistanceConstraint","localAnchorA","localAnchorB","worldAnchorA","worldAnchorB","maxForce","ri","rj","computeGq","setMaxForce","upperLimitEnabled","upperLimit","lowerLimitEnabled","lowerLimit","normalEquation","G","violating","minForce","rixn","rjxn","getMaxForce","./Constraint","16","GearConstraint","ratio","AngleLockEquation","maxTorque","setMaxTorque","setRatio","torque","getMaxTorque","../equations/AngleLockEquation","17","LockConstraint","localAngleB","rot","g","localOffsetB","force","xAxis","18","PrismaticConstraint","localAxisA","trans","gg","updateJacobian","disableRotationalLock","RotationalLockEquation","velocity","upperLimitEquation","ContactEquation","lowerLimitEquation","motorEquation","motorEnabled","motorSpeed","computeGW","vi","vj","wi","angularVelocity","wj","gmult","worldAxisA","orientedAnchorA","orientedAnchorB","relPosition","enableMotor","disableMotor","setLimits","lower","upper","../equations/RotationalLockEquation","19","RevoluteConstraint","pivotA","pivotB","worldPivot","localPivotA","localPivotB","worldPivotA","worldPivotB","RotationalVelocityEquation","relAngle","motorIsEnabled","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation","20","./Equation","21","computeB","h","GW","Gq","GiMf","computeGiMf","B","22","ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps","23","FrictionEquation","getSlipForce","24","worldVectorA","worldVectorB","25","26","EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target","27","ContactMaterial","materialA","materialB","Material","idCounter","friction","./Material","28","29","PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","30","crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","subtract","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y","31","_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","Icm","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","speedSquared","speedLimitSquared","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","getVelocityAtPoint","sleepyEvent","../events/EventEmitter","32","LinearSpring","Spring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring","33","RotationalSpring","restAngle","34","35","TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint","36","Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World","37","arguments","axes","updateArea","./Convex","./Shape","38","intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1","39","Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint","40","isArray","triangles","polyk","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk","41","key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo","42","raycast_normal","raycast_l0","raycast_l1","raycast_unit_y","43","44","intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","planeToTo","n_dot_dir","45","material","sensor","46","GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","setArrayZero","array","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","deltalambdaTot","iterateEquation","updateMultipliers","invDt","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver","47","equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND","48","destroy","equation","./Pool","49","50","IslandNodePool","IslandNode","../world/IslandNode","51","IslandPool","Island","../world/Island","52","OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","OverlapKeeperRecordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","lastData","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils","53","OverlapKeeperRecord","54","record","55","objects","resize","object","56","getKey","dict","57","howmany","P2_ARRAY_TYPE","Float32Array","58","bodyIds","59","IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode","60","61","springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","aiw","ajw","reducedMass","resolver","numFrictionBefore","numFrictionEquations","speedSquaredB","speedLimitSquaredB","speedSquaredA","speedLimitSquaredA","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","pa","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager","PIXI","game","WEBGL_RENDERER","CANVAS_RENDERER","VERSION","_UID","Uint16Array","Uint32Array","ArrayBuffer","PI_2","RAD_TO_DEG","DEG_TO_RAD","RETINA_PREFIX","DisplayObject","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Matrix","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","updateTransform","tx","ty","pt","wt","rotationCache","atan2","transformCallback","transformCallbackContext","preUpdate","generateTexture","resolution","scaleMode","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","toLocal","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","gl","Sprite","_renderWebGL","_renderCanvas","texture","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","defineProperties","worldVisible","item","mask","isMask","passes","filterPasses","_filterBlock","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","addChild","addChildAt","removeChild","swapChildren","child2","index1","getChildIndex","index2","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","begin","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","maskManager","pushMask","popMask","popFilter","_width","_height","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","baseTexture","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","crop","currentBlendMode","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","scaleModes","LINEAR","trim","shakeX","shakeY","roundPixels","setTransform","cw","ch","requiresReTint","CanvasTinter","getTintedTexture","drawImage","source","SpriteBatch","textureThing","ready","initWebGL","fastSpriteBatch","WebGLFastSpriteBatch","setContext","shaderManager","setShader","fastShader","transform","isRotated","childTransform","hex2rgb","hex","rgb2hex","rgb","canUseNewCanvasBlendModes","document","pngHead","pngEnd","magenta","Image","src","yellow","canvas","CanvasPool","getContext","getImageData","remove","getNextPowerOfTwo","number","isPowerOfTwo","getFirst","container","createElement","pool","removeByCanvas","getTotal","getFree","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","program","textureCount","firstRun","dirty","attributes","init","defaultVertexSrc","useProgram","uSampler","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","uniforms","uniformLocation","initUniforms","uniform","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","activeTexture","bindTexture","TEXTURE_2D","_glTextures","textureData","magFilter","minFilter","wrapS","CLAMP_TO_EDGE","wrapT","format","LUMINANCE","RGBA","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","texImage2D","UNSIGNED_BYTE","texParameteri","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","uniform1i","syncUniforms","transpose","z","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","_contextOptions","antialias","premultipliedAlpha","stencil","projection","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","drawCount","initContext","mapBlendModes","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","stage","contextLost","viewport","bindFramebuffer","FRAMEBUFFER","clearColor","_bgColor","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","style","createTexture","UNPACK_PREMULTIPLY_ALPHA_WEBGL","NEAREST","mipmap","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","drawElements","TRIANGLE_FAN","indices","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","uniform1f","toArray","uniform2f","uniform3fv","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","maxAttibs","attribState","tempAttribState","stack","defaultShader","stripShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","numVerts","numIndices","positions","colors","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","AbstractFilter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","TEXTURE0","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorBuffer","colorArray","createFramebuffer","DEFAULT","framebufferTexture2D","COLOR_ATTACHMENT0","renderBuffer","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","pixels","canHandleAlpha","putImageData","checkInverseAlpha","s1","s2","canUseMultiply","CanvasRenderer","refresh","Phaser","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","textureBuffer","renderWebGL","renderCanvas","tempMatrix","updateBase","identity","translate","realResolution","getImage","image","getBase64","getCanvas","toDataURL","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","Strip","canvasPadding","drawMode","DrawModes","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","v2","paddingX","paddingY","centerX","centerY","normX","normY","beginPath","moveTo","lineTo","closePath","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","fill","updateFrame","rawX","rawY","EmptyRectangle","Rope","lastPoint","amount","total","nextPoint","perp","perpLength","TilingSprite","textureDebug","canvasBuffer","tilePattern","refreshTexture","frameWidth","frameHeight","generateTilingTexture","createPattern","sessionBlendMode","forcePowerOfTwo","targetWidth","_frame","sourceSizeW","targetHeight","sourceSizeH","trimmed","spriteSourceSizeX","spriteSourceSizeY","strokeStyle","strokeRect","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","RECTANGLE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","thisArg","bound","args","boundArgs","concat","TypeError","F","proto","arg","forEach","fun","CheapArray","assert","reverseString","string","getProperty","obj","prop","parts","setProperty","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","parseInt","innerWidth","innerHeight","pad","dir","padlen","isPlainObject","nodeType","hasOwnProperty","copyIsArray","deep","mixinPrototype","mixin","replace","mixinKeys","childNodes","cloneNode","diameter","_diameter","_radius","circumference","setTo","copyFrom","copyTo","dest","round","output","circumferencePoint","asDegrees","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","xDist","halfHeight","yDist","xCornerDist","yCornerDist","xCornerDistSq","yCornerDistSq","maxCornerDistSq","Ellipse","normx","normy","fromSprite","startSprite","endSprite","useCenter","center","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","pointOnSegment","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","uc","ua","ub","bx1","by1","bx2","by2","normalAngle","fromArray","newPos","tx1","invert","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","getPoint","empty","inflatePoint","containsRaw","rx","ry","rw","rh","volume","sameDimensions","NEGATIVE_INFINITY","POSITIVE_INFINITY","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","flash","beginFill","drawRect","endFill","fade","updateFX","updateShake","checkBounds","elapsedMS","dispatch","rnd","frac","updateTarget","math","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","anchorX","anchorY","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","removeFromHash","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","addAll","property","subAll","multiplyAll","divideAll","callAllExists","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","checkExists","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","getFirstExists","createIfNull","resetChild","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","destroyChildren","soft","_definedSize","stateChange","setBounds","useBounds","between","Game","physicsConfig","isRunning","raf","net","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Cache","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","webAudio","chrome","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","multiInputOverride","MOUSE_TOUCH_COMBINE","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","limit","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","TileSprite","graphicsData","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","leftButton","rightButton","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","justReleased","pointerMode","CONTACT","middleButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchLockCallbacks","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","addTouchLockCallback","onEnd","removeTouchLockCallback","cb","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","globalToLocalX","globalToLocalY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","onDragStart$dispatch","grid","boundsFluid","scaleFluidInversed","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","processAxisChange","triggerCallback","disconnectingIndex","axisCode","buttonValue","Key","keycode","_enabled","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","C","D","E","H","J","K","L","M","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","alignTo","BringToTop","Core","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","base","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","Weapon","createBullets","creature","mesh","Creature","tween","physicsGroup","audio","audioSprite","addSprite","tileSprite","rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","STATE_OVER","STATE_OUT","STATE_DOWN","STATE_UP","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","changedUp","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","addImage","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","g1","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","arc","lineWidth","stroke","textureLine","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","fillAlpha","lineColor","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","lineStyle","lineAlpha","drawShape","quadraticCurveTo","cpX","cpY","toX","toY","xa","ya","fromX","fromY","bezierCurveTo","cpX2","cpY2","dt2","dt3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qx","qy","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","real","fillColor","drawRoundedRect","drawCircle","drawEllipse","drawPolygon","clearDirty","updateLocalBounds","updateCachedSpriteTexture","_prevTint","tempPoint","RECT","RREC","CIRC","ELIP","cachedSprite","destroyCachedSprite","GraphicsData","POLY","_lineTint","_fillTint","EarCut","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","eliminateHoles","earcutLinked","clockwise","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","Node","an","bp","stencilBufferLimit","lastIndex","graphicsDataPool","switchMode","canDrawUsingSimple","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","getPt","n1","n2","perc","diff","xb","yb","circleData","totalSegs","seg","firstPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","pdist","indexCount","indexStart","glPoints","glIndicies","updateGraphicsTint","kappa","ox","oy","xe","ye","xm","ym","maxRadius","tintR","tintG","tintB","drawTriangle","cull","triangle","cameraToFace","faceNormal","drawTriangles","point1","point2","point3","renderXY","renderRawXY","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","wrappedLines","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","parseFloat","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","updateAnimation","_updateAnimation","difference","_scroll","def","physicsElapsed","autoScroll","stopScroll","deviceReadyAt","initialized","desktop","iOSVersion","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ie","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkOS","vita","kindle","RegExp","$1","_checkFeatures","getItem","error","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkInput","documentElement","maxTouchPoints","msPointerEnabled","pointerEnabled","_checkFullScreenSupport","fs","cfs","Element","_checkBrowser","$3","process","versions","_checkVideo","videoElement","canPlayType","_checkAudio","audioElement","major","minor","$2","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","elem","createImageData","_checkDevice","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","_checkCSS3D","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","canPlayAudio","canPlayVideo","isConsoleOpen","profile","profileEnd","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","fuzzyEqual","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","val","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","times","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","radians","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","degreeToRadiansFactor","radianToDegreesFactor","degrees","seeds","s0","sow","integer","integerInRange","realInRange","ary","weightedPick","QuadTree","maxObjects","maxLevels","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","substring","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","rotated","rotationDirection","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","row","column","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","signature","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","_cache","binary","bitmapFont","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","MISSING","addCanvas","removeImage","_resolveURL","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","LoaderParser","jsonBitmapFont","xmlBitmapFont","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getJSON","getXML","getVideo","getShader","getRenderTexture","getBaseTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","atlas","baseURL","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","extension","syncPoint","currentFile","replaceInFileList","pack","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onload","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","fakeiOSTouchLock","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","reflowGame","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","scaleManager","currentColor","soundInfo","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","filled","rectangle","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","geom","forceType","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","treatAsDesktop","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","randomIndex","removeRandomItem","shuffle","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","velocityDelta","computeVelocity","angularAcceleration","angularDrag","maxAngular","acceleration","drag","maxVelocity","allowGravity","object1","object2","overlapCallback","processCallback","collideHandler","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","angleBetweenCenters","worldAngleToPointer","allowRotation","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","any","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateMovement","collided","stopMovement","stopVelocity","check","bodyBounds","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","setImpactEvents","impactHandler","setPostBroadphaseCallback","postBroadphaseHandler","_bodyCallbacks","_bodyCallbackContext","_groupCallbacks","_groupCallbackContext","setCollisionGroup","setWorldMaterial","updateBoundsCollisionGroup","setupWall","wall","fixedStepTime","impactCallback","createDistanceConstraint","getBody","createGearConstraint","createRevoluteConstraint","createLockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","setMaterial","createMaterial","createContactMaterial","getSprings","getConstraints","filterStatic","physicsPosition","query","toJSON","createCollisionGroup","bitmask","createSpring","worldA","worldB","localA","localB","createRotationalSpring","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","setter","getFixtures","setMask","setSensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","shapeChanged","impulse","localX","localY","setZeroRotation","setZeroVelocity","setZeroDamping","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","generatedShapes","categoryBits","maskBits","isSensor","polygons","loadPolygon","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","baseY","normStartX","normStartY","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","fields","sliced","curl","compression","encoding","binaryString","atob","bytes","opacity","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","lastgid","curo","polygon","ellipse","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","_minParticleScale","_maxParticleScale","_quantity","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particle","rndKey","rndFrame","explode","flow","forceQuantity","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","trackRotation","trackOffset","_nextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","killAll","resetShots","newLimit","fire","trackSprite","trackPointer","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute"],"mappings":"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","file":"phaser.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser.js"],"names":["e","exports","module","f","window","global","self","p2","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","Line","Scalar","lineInt","l1","l2","precision","a1","b1","c1","a2","b2","c2","det","eq","segmentsIntersect","p1","q1","q2","dx","dy","da","db","./Scalar","2","Point","area","b","c","left","leftOn","right","rightOn","tmpPoint1","tmpPoint2","collinear","thresholdAngle","ab","bc","dot","magA","Math","sqrt","magB","acos","sqdist","3","Polygon","this","vertices","getIntersectionPoint","delta","prototype","at","v","first","last","clear","append","poly","from","to","push","makeCCW","br","reverse","tmp","N","pop","isReflex","tmpLine1","tmpLine2","canSee","p","dist","copy","j","targetPoly","k","getCutEdges","min","tmp1","tmp2","tmpPoly","nDiags","Number","MAX_VALUE","decomp","edges","slice","cutEdges","Array","polys","cutEdge","result","splice","indexOf","isSimple","path","quickDecomp","reflexVertices","steinerPoints","maxlevel","level","upperInt","lowerInt","upperDist","lowerDist","d","closestDist","upperIndex","lowerIndex","closestIndex","lowerPoly","upperPoly","console","warn","removeCollinearPoints","num","./Line","./Point","4","abs","5","./Polygon","6","name","version","description","author","keywords","main","engines","node","repository","type","url","bugs","licenses","devDependencies","grunt","grunt-contrib-jshint","grunt-contrib-nodeunit","grunt-contrib-uglify","grunt-contrib-watch","grunt-browserify","grunt-contrib-concat","dependencies","poly-decomp","7","AABB","options","lowerBound","vec2","create","upperBound","setFromPoints","points","position","angle","skinSize","l","rotate","cosAngle","cos","sinAngle","sin","x","y","add","aabb","extend","overlaps","u1","u2","containsPoint","point","overlapsRay","ray","dirFracX","direction","dirFracY","t1","t2","t3","t4","tmin","max","tmax","../math/vec2","../utils/Utils","8","Broadphase","world","boundingVolumeType","Body","BOUNDING_CIRCLE","setWorld","getCollisionPairs","boundingRadiusCheck","bodyA","bodyB","sub","d2","squaredLength","boundingRadius","aabbCheck","getAABB","boundingVolumeCheck","canCollide","KINEMATIC","STATIC","sleepState","SLEEPING","NAIVE","SAP","../objects/Body","9","NaiveBroadphase","constructor","bodies","Ncolliding","bi","bj","aabbQuery","aabbNeedsUpdate","updateAABB","../collision/Broadphase","../shapes/Circle","../shapes/Particle","../shapes/Plane","../shapes/Shape","10","Narrowphase","contactEquations","frictionEquations","enableFriction","enabledEquations","slipForce","frictionCoefficient","surfaceVelocity","contactEquationPool","ContactEquationPool","size","frictionEquationPool","FrictionEquationPool","restitution","stiffness","Equation","DEFAULT_STIFFNESS","relaxation","DEFAULT_RELAXATION","frictionStiffness","frictionRelaxation","enableFrictionReduction","collidingBodiesLastStep","TupleDictionary","contactSkinSize","setConvexToCapsuleShapeMiddle","convexShape","capsuleShape","set","radius","pointInConvex","worldPoint","convexOffset","convexAngle","worldVertex0","pic_worldVertex0","worldVertex1","pic_worldVertex1","r0","pic_r0","r1","pic_r1","verts","lastCross","v0","v1","cross","crossLength","Circle","Convex","Shape","Box","yAxis","fromValues","tmp3","tmp4","tmp5","tmp6","tmp7","tmp8","tmp9","tmp10","tmp11","tmp12","tmp13","tmp14","tmp15","tmp16","tmp17","tmp18","tmpArray","bodiesOverlap_shapePositionA","bodiesOverlap_shapePositionB","bodiesOverlap","shapePositionA","shapePositionB","Nshapesi","shapes","shapeA","toWorldFrame","Nshapesj","shapeB","collidedLastStep","id1","id","id2","get","reset","eqs","ce","fe","release","createContactEquation","firstImpact","needsUpdate","enabled","offset","createFrictionEquation","setSlipForce","relativeVelocity","createFrictionFromContact","contactPointA","contactPointB","rotate90cw","normalA","createFrictionFromAverage","numContacts","invNumContacts","scale","normalize","LINE","CONVEX","convexLine","convexBody","lineBody","lineShape","lineOffset","lineAngle","justTest","BOX","lineBox","boxBody","boxShape","boxOffset","boxAngle","convexCapsule_tempRect","width","height","convexCapsule_tempVec","CAPSULE","convexCapsule","convexPosition","capsuleBody","capsulePosition","capsuleAngle","circlePos","result1","circleConvex","result2","convexConvex","lineCapsule","linePosition","capsuleCapsule_tempVec1","capsuleCapsule_tempVec2","capsuleCapsule_tempRect1","capsuleCapsule","si","xi","ai","sj","xj","aj","enableFrictionBefore","circlePosi","circlePosj","circleCircle","rect","lineLine","positionA","angleA","positionB","angleB","PLANE","planeLine","planeBody","planeShape","planeOffset","planeAngle","worldVertex01","worldVertex11","worldEdge","worldEdgeUnit","worldNormal","worldTangent","PARTICLE","particleCapsule","particleBody","particleShape","particlePosition","particleAngle","circleLine","CIRCLE","circleBody","circleShape","circleOffset","circleAngle","lineRadius","circleRadius","orthoDist","lineToCircleOrthoUnit","projectedPoint","centerDist","lineToCircle","lineEndToLineRadius","radiusSum","pos","pos0","pos1","pow","circleCapsule","worldVertex","closestEdgeProjectedPoint","candidate","candidateDist","minCandidate","found","minCandidateDistance","candidateDistance","localVertex","particleConvex","particleOffset","convexToparticle","minEdgeNormal","offsetA","offsetB","radiusA","radiusB","planeConvex","numReported","particlePlane","circleParticle","planeCapsule_tmpCircle","planeCapsule_tmp1","planeCapsule_tmp2","planeCapsule","capsuleOffset","end1","end2","circle","numContacts1","circlePlane","numContacts2","numTotal","planeToCircle","temp","contact","sepAxis","worldPoint0","worldPoint1","penetrationVec","findSeparatingAxis","closestEdge1","getClosestEdge","closestEdge2","closestEdgeA","closestEdgeB","insideNumEdges","pcoa_tmp1","projectConvexOntoAxis","worldAxis","value","localAxis","fsa_tmp1","fsa_tmp2","fsa_tmp3","fsa_tmp4","fsa_tmp5","fsa_tmp6","offset1","angle1","offset2","angle2","maxDist","overlap","edge","normal","span1","span2","gce_tmp1","gce_tmp2","gce_tmp3","axis","flip","closestEdge","maxDot","circleHeightfield_candidate","circleHeightfield_dist","circleHeightfield_v0","circleHeightfield_v1","circleHeightfield_minCandidate","circleHeightfield_worldNormal","circleHeightfield_minCandidateNormal","HEIGHTFIELD","circleHeightfield","hfBody","hfShape","hfPos","hfAngle","data","heights","w","elementWidth","minCandidateNormal","idxA","floor","idxB","ceil","PI","convexHeightfield_v0","convexHeightfield_v1","convexHeightfield_tilePos","convexHeightfield_tempConvexShape","convexHeightfield","convexPos","tilePos","tileConvex","tileHeight","../equations/ContactEquation","../equations/Equation","../equations/FrictionEquation","../shapes/Box","../shapes/Convex","../utils/ContactEquationPool","../utils/FrictionEquationPool","../utils/TupleDictionary","11","Ray","checkCollisionResponse","undefined","skipBackfaces","collisionMask","collisionGroup","mode","ANY","callback","update","distanceFromIntersectionSquared","intersect","squaredDistance","CLOSEST","ALL","intersectBodies","shouldStop","body","intersectBody","intersectBody_worldPosition","collisionResponse","worldPosition","shape","worldAngle","intersectShape","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult","12","RaycastResult","isStopped","getHitDistance","distance","getHitPoint","out","lerp","stop","../collision/Ray","13","SAPBroadphase","axisList","axisIndex","that","_addBodyHandler","_removeBodyHandler","idx","Utils","appendArray","off","on","sortAxisList","sortList","14","Constraint","defaults","collideConnected","wakeUpBodies","equations","wakeUp","DISTANCE","GEAR","LOCK","PRISMATIC","REVOLUTE","setStiffness","setRelaxation","15","DistanceConstraint","localAnchorA","localAnchorB","worldAnchorA","worldAnchorB","maxForce","ri","rj","computeGq","setMaxForce","upperLimitEnabled","upperLimit","lowerLimitEnabled","lowerLimit","normalEquation","G","violating","minForce","rixn","rjxn","getMaxForce","./Constraint","16","GearConstraint","ratio","AngleLockEquation","maxTorque","setMaxTorque","setRatio","torque","getMaxTorque","../equations/AngleLockEquation","17","LockConstraint","localAngleB","rot","g","localOffsetB","force","xAxis","18","PrismaticConstraint","localAxisA","trans","gg","updateJacobian","disableRotationalLock","RotationalLockEquation","velocity","upperLimitEquation","ContactEquation","lowerLimitEquation","motorEquation","motorEnabled","motorSpeed","computeGW","vi","vj","wi","angularVelocity","wj","gmult","worldAxisA","orientedAnchorA","orientedAnchorB","relPosition","enableMotor","disableMotor","setLimits","lower","upper","../equations/RotationalLockEquation","19","RevoluteConstraint","pivotA","pivotB","worldPivot","localPivotA","localPivotB","worldPivotA","worldPivotB","RotationalVelocityEquation","relAngle","motorIsEnabled","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation","20","./Equation","21","computeB","h","GW","Gq","computeGiMf","relVel","getVelocityAlongNormal","getVelocityAtPoint","subtract","22","ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps","23","FrictionEquation","getSlipForce","24","worldVectorA","worldVectorB","25","GiMf","26","EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target","27","ContactMaterial","materialA","materialB","Material","idCounter","friction","./Material","28","29","PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","30","crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y","31","_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","sleepyEvent","../events/EventEmitter","32","LinearSpring","Spring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring","33","RotationalSpring","restAngle","34","35","TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint","36","Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World","37","arguments","axes","updateArea","./Convex","./Shape","38","intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1","39","Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint","40","isArray","triangles","polyk","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk","41","key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo","42","raycast_normal","raycast_l0","raycast_l1","raycast_unit_y","43","44","intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","n_dot_dir","45","material","sensor","46","GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","setArrayZero","array","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","deltalambdaTot","iterateEquation","updateMultipliers","invDt","B","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver","47","equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND","48","destroy","equation","./Pool","49","50","IslandNodePool","IslandNode","../world/IslandNode","51","IslandPool","Island","../world/Island","52","OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","OverlapKeeperRecordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils","53","OverlapKeeperRecord","54","record","55","objects","resize","object","56","getKey","dict","57","howmany","P2_ARRAY_TYPE","Float32Array","58","bodyIds","59","IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode","60","61","springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","aiw","ajw","reducedMass","resolver","numFrictionBefore","numFrictionEquations","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","pa","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager","_CreateEmptyTexture","gl","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","error","_fbErrors","targetTexture","DisplayObject","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Matrix","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","updateTransform","game","tx","ty","pt","wt","Phaser","PI2","rotationCache","determ","TAU","transformCallback","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","toLocal","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","baseTexture","_enableMultiTextureToggle","textureIndex","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","defineProperties","worldVisible","item","mask","isMask","passes","filterPasses","_filterBlock","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","addChild","addChildAt","removeChild","swapChildren","child2","index1","getChildIndex","index2","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","maskManager","pushMask","popMask","popFilter","_width","_height","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","crop","currentBlendMode","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","trim","shakeX","shakeY","cw","ch","rotated","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","textureData","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","initContext","mapBlendModes","getContext","maxTextures","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","maxTextureSize","MAX_TEXTURE_SIZE","imageCache","cache","_cache","image","imageName","base","maxTextureAvailableSpace","stage","contextLost","viewport","clearColor","_bgColor","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","vertexSize","numVerts","numIndices","ArrayBuffer","positions","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","RECTANGLE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","thisArg","bound","args","boundArgs","concat","TypeError","F","proto","arg","forEach","fun","CheapArray","assert","assign","varArgs","hasOwn","hasOwnProperty","nextSource","nextKey","reverseString","string","getProperty","obj","prop","parts","setProperty","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","parseInt","innerWidth","innerHeight","pad","dir","padlen","isPlainObject","nodeType","copyIsArray","deep","mixinPrototype","mixin","replace","mixinKeys","childNodes","cloneNode","diameter","_diameter","_radius","circumference","setTo","copyFrom","copyTo","dest","round","output","circumferencePoint","asDegrees","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","pointOnSegment","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","uc","ua","ub","empty","bx1","by1","bx2","by2","normalAngle","fromArray","newPos","translate","tx1","identity","invert","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","getPoint","inflatePoint","containsRaw","rx","ry","rw","rh","volume","sameDimensions","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","flash","beginFill","drawRect","endFill","fade","updateFX","updateShake","checkBounds","elapsedMS","dispatch","rnd","frac","updateTarget","math","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","anchorX","anchorY","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","removeFromHash","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","addAll","property","amount","subAll","multiplyAll","divideAll","callAllExists","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","checkExists","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","resetChild","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","destroyChildren","soft","_definedSize","stateChange","setBounds","useBounds","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Cache","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","webAudio","chrome","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","multiInputOverride","MOUSE_TOUCH_COMBINE","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","TileSprite","graphicsData","fill","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","leftButton","rightButton","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","justReleased","pointerMode","CONTACT","middleButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchLockCallbacks","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","addTouchLockCallback","onEnd","removeTouchLockCallback","cb","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","processAxisChange","triggerCallback","disconnectingIndex","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","C","D","E","H","J","K","L","M","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","Creature","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","STATE_OVER","STATE_OUT","STATE_DOWN","STATE_UP","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","changedUp","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","g1","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","eliminateHoles","earcutLinked","clockwise","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","canDrawUsingSimple","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","totalSegs","seg","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","pdist","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt2","dt3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","real","drawRoundedRect","drawCircle","drawEllipse","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","diff","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","def","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","getFirst","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ie","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkOS","vita","kindle","RegExp","$1","_checkCanvasFeatures","s1","s2","_checkFeatures","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkInput","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","_checkFullScreenSupport","fs","cfs","Element","_checkBrowser","$3","process","versions","_checkVideo","videoElement","canPlayType","_checkAudio","audioElement","major","minor","$2","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","elem","createImageData","_checkDevice","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","_checkCSS3D","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","canPlayAudio","canPlayVideo","isConsoleOpen","profile","profileEnd","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyEqual","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","val","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","integerInRange","realInRange","ary","weightedPick","QuadTree","maxObjects","maxLevels","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","MISSING","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","fakeiOSTouchLock","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","reflowGame","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","scaleManager","currentColor","soundInfo","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","filled","rectangle","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","geom","forceType","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","randomIndex","removeRandomItem","shuffle","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","velocityDelta","computeVelocity","angularAcceleration","angularDrag","maxAngular","acceleration","drag","maxVelocity","allowGravity","object1","object2","overlapCallback","processCallback","collideHandler","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","center","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","angleBetweenCenters","worldAngleToPointer","allowRotation","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","bodyBounds","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","setImpactEvents","impactHandler","setPostBroadphaseCallback","postBroadphaseHandler","_bodyCallbacks","_bodyCallbackContext","_groupCallbacks","_groupCallbackContext","setCollisionGroup","setWorldMaterial","updateBoundsCollisionGroup","setupWall","wall","fixedStepTime","impactCallback","createDistanceConstraint","getBody","createGearConstraint","createRevoluteConstraint","createLockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","setMaterial","createMaterial","createContactMaterial","getSprings","getConstraints","filterStatic","physicsPosition","query","toJSON","createCollisionGroup","bitmask","createSpring","worldA","worldB","localA","localB","createRotationalSpring","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","setter","getFixtures","setMask","setSensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","shapeChanged","impulse","localX","localY","setZeroRotation","setZeroVelocity","setZeroDamping","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","generatedShapes","categoryBits","maskBits","isSensor","polygons","loadPolygon","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","baseY","normStartX","normStartY","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","lastgid","curo","polygon","ellipse","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","_minParticleScale","_maxParticleScale","_quantity","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","killAll","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute"],"mappings":"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","file":"phaser.min.js"} \ No newline at end of file diff --git a/src/assets/platformer/js/phaser.min.js b/src/assets/platformer/js/phaser.min.js index 5ab99dc..7b7f30f 100644 --- a/src/assets/platformer/js/phaser.min.js +++ b/src/assets/platformer/js/phaser.min.js @@ -1,28 +1,4 @@ -/* Phaser v2.6.2 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.7.7 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -!function(a){if("object"==typeof exports)module.exports=a();else if("function"==typeof define,1){var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.p2=a()}else define(a)}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g=0&&i<=1&&j>=0&&j<=1}},{"./Scalar":4}],2:[function(a,b,c){function d(){}b.exports=d,d.area=function(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(c[0]-a[0])*(b[1]-a[1])},d.left=function(a,b,c){return d.area(a,b,c)>0},d.leftOn=function(a,b,c){return d.area(a,b,c)>=0},d.right=function(a,b,c){return d.area(a,b,c)<0},d.rightOn=function(a,b,c){return d.area(a,b,c)<=0};var e=[],f=[];d.collinear=function(a,b,c,g){if(g){var h=e,i=f;h[0]=b[0]-a[0],h[1]=b[1]-a[1],i[0]=c[0]-b[0],i[1]=c[1]-b[1];var j=h[0]*i[0]+h[1]*i[1],k=Math.sqrt(h[0]*h[0]+h[1]*h[1]),l=Math.sqrt(i[0]*i[0]+i[1]*i[1]),m=Math.acos(j/(k*l));return ma.vertices.length)throw new Error("lol2");if(b<0)throw new Error("lol3");for(var d=b;db[a][0])&&(a=c);g.left(this.at(a-1),this.at(a),this.at(a+1))||this.reverse()},d.prototype.reverse=function(){for(var a=[],b=0,c=this.vertices.length;b!==c;b++)a.push(this.vertices.pop());this.vertices=a},d.prototype.isReflex=function(a){return g.right(this.at(a-1),this.at(a),this.at(a+1))};var i=[],j=[];d.prototype.canSee=function(a,b){var c,d,e=i,h=j;if(g.leftOn(this.at(a+1),this.at(a),this.at(b))&&g.rightOn(this.at(a-1),this.at(a),this.at(b)))return!1;d=g.sqdist(this.at(a),this.at(b));for(var k=0;k!==this.vertices.length;++k)if((k+1)%this.vertices.length!==a&&k!==a&&g.leftOn(this.at(a),this.at(b),this.at(k+1))&&g.rightOn(this.at(a),this.at(b),this.at(k))&&(e[0]=this.at(a),e[1]=this.at(b),h[0]=this.at(k),h[1]=this.at(k+1),c=f.lineInt(e,h),g.sqdist(this.at(a),c)0?this.slice(a):[this]},d.prototype.slice=function(a){if(0==a.length)return[this];if(a instanceof Array&&a.length&&a[0]instanceof Array&&2==a[0].length&&a[0][0]instanceof Array){for(var b=[this],c=0;ch)return console.warn("quickDecomp: max level ("+h+") reached."),a;for(var x=0;xq&&(q+=this.vertices.length),p=Number.MAX_VALUE,q3&&c>=0;--c)g.collinear(this.at(c-1),this.at(c),this.at(c+1),a)&&(this.vertices.splice(c%this.vertices.length,1),c--,b++);return b}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(a,b,c){function d(){}b.exports=d,d.eq=function(a,b,c){return c=c||0,Math.abs(a-b) (http://steffe.se)",keywords:["p2.js","p2","physics","engine","2d"],main:"./src/p2.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/schteppe/p2.js.git"},bugs:{url:"https://github.com/schteppe/p2.js/issues"},licenses:[{type:"MIT"}],devDependencies:{grunt:"^0.4.5","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-uglify":"~0.4.0","grunt-contrib-watch":"~0.5.0","grunt-browserify":"~2.0.1","grunt-contrib-concat":"^0.4.0"},dependencies:{"poly-decomp":"0.1.0"}}},{}],7:[function(a,b,c){function d(a){this.lowerBound=e.create(),a&&a.lowerBound&&e.copy(this.lowerBound,a.lowerBound),this.upperBound=e.create(),a&&a.upperBound&&e.copy(this.upperBound,a.upperBound)}var e=a("../math/vec2");a("../utils/Utils");b.exports=d;var f=e.create();d.prototype.setFromPoints=function(a,b,c,d){var g=this.lowerBound,h=this.upperBound;"number"!=typeof c&&(c=0),0!==c?e.rotate(g,a[0],c):e.copy(g,a[0]),e.copy(h,g);for(var i=Math.cos(c),j=Math.sin(c),k=1;kh[o]&&(h[o]=l[o]),l[o]c&&(this.lowerBound[b]=c);var d=a.upperBound[b];this.upperBound[b]i?-1:h}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(a,b,c){function d(a){this.type=a,this.result=[],this.world=null,this.boundingVolumeType=d.AABB}var e=a("../math/vec2"),f=a("../objects/Body");b.exports=d,d.AABB=1,d.BOUNDING_CIRCLE=2,d.prototype.setWorld=function(a){this.world=a},d.prototype.getCollisionPairs=function(a){};var g=e.create();d.boundingRadiusCheck=function(a,b){e.sub(g,a.position,b.position);var c=e.squaredLength(g),d=a.boundingRadius+b.boundingRadius;return c<=d*d},d.aabbCheck=function(a,b){return a.getAABB().overlaps(b.getAABB())},d.prototype.boundingVolumeCheck=function(a,b){var c;switch(this.boundingVolumeType){case d.BOUNDING_CIRCLE:c=d.boundingRadiusCheck(a,b);break;case d.AABB:c=d.aabbCheck(a,b);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return c},d.canCollide=function(a,b){var c=f.KINEMATIC,d=f.STATIC;return(a.type!==d||b.type!==d)&&(!(a.type===c&&b.type===d||a.type===d&&b.type===c)&&((a.type!==c||b.type!==c)&&((a.sleepState!==f.SLEEPING||b.sleepState!==f.SLEEPING)&&!(a.sleepState===f.SLEEPING&&b.type===d||b.sleepState===f.SLEEPING&&a.type===d))))},d.NAIVE=1,d.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(a,b,c){function d(){e.call(this,e.NAIVE)}var e=(a("../shapes/Circle"),a("../shapes/Plane"),a("../shapes/Shape"),a("../shapes/Particle"),a("../collision/Broadphase"));a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.getCollisionPairs=function(a){var b=a.bodies,c=this.result;c.length=0;for(var d=0,f=b.length;d!==f;d++)for(var g=b[d],h=0;hW&&V0)for(var N=0;NMath.pow(p,2))return 0;if(l)return!0;var q=this.createContactEquation(a,e,b,f);return h(q.normalA,j,c),g.normalize(q.normalA,q.normalA),g.scale(q.contactPointA,q.normalA,m),g.scale(q.contactPointB,q.normalA,-n),i(q.contactPointA,q.contactPointA,c),h(q.contactPointA,q.contactPointA,a.position),i(q.contactPointB,q.contactPointB,j),h(q.contactPointB,q.contactPointB,e.position),this.contactEquations.push(q),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(q)),1},d.prototype[q.PLANE|q.CONVEX]=d.prototype[q.PLANE|q.BOX]=d.prototype.planeConvex=function(a,b,c,d,e,f,k,l,m){var n=t,o=u,p=v,q=0;g.rotate(o,s,d);for(var r=0;r!==f.vertices.length;r++){var w=f.vertices[r];if(g.rotate(n,w,l),i(n,n,k),h(p,n,c),j(p,o)<=0){if(m)return!0;q++;var x=this.createContactEquation(a,e,b,f);h(p,n,c),g.copy(x.normalA,o);var y=j(p,x.normalA);g.scale(p,x.normalA,y),h(x.contactPointB,n,e.position),h(x.contactPointA,n,p),h(x.contactPointA,x.contactPointA,a.position),this.contactEquations.push(x),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(x))}}return this.enableFrictionReduction&&this.enableFriction&&q&&this.frictionEquations.push(this.createFrictionFromAverage(q)),q},d.prototype[q.PARTICLE|q.PLANE]=d.prototype.particlePlane=function(a,b,c,d,e,f,i,k,l){var m=t,n=u;k=k||0,h(m,c,i),g.rotate(n,s,k);var o=j(m,n);if(o>0)return 0;if(l)return!0;var p=this.createContactEquation(e,a,f,b);return g.copy(p.normalA,n),g.scale(m,p.normalA,o),h(p.contactPointA,c,m),h(p.contactPointA,p.contactPointA,e.position),h(p.contactPointB,c,a.position),this.contactEquations.push(p),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(p)),1},d.prototype[q.CIRCLE|q.PARTICLE]=d.prototype.circleParticle=function(a,b,c,d,e,f,j,k,l){var m=t;if(h(m,j,c),g.squaredLength(m)>Math.pow(b.radius,2))return 0;if(l)return!0;var n=this.createContactEquation(a,e,b,f);return g.copy(n.normalA,m),g.normalize(n.normalA,n.normalA),g.scale(n.contactPointA,n.normalA,b.radius),i(n.contactPointA,n.contactPointA,c),h(n.contactPointA,n.contactPointA,a.position),h(n.contactPointB,j,e.position),this.contactEquations.push(n),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(n)),1};var X=new o({radius:1}),Y=g.create(),Z=g.create();g.create();d.prototype[q.PLANE|q.CAPSULE]=d.prototype.planeCapsule=function(a,b,c,d,e,f,h,j,k){var l=Y,m=Z,n=X;g.set(l,-f.length/2,0),g.rotate(l,l,j),i(l,l,h),g.set(m,f.length/2,0),g.rotate(m,m,j),i(m,m,h),n.radius=f.radius;var o;this.enableFrictionReduction&&(o=this.enableFriction,this.enableFriction=!1);var p=this.circlePlane(e,n,l,0,a,b,c,d,k),q=this.circlePlane(e,n,m,0,a,b,c,d,k);if(this.enableFrictionReduction&&(this.enableFriction=o),k)return p||q;var r=p+q;return this.enableFrictionReduction&&r&&this.frictionEquations.push(this.createFrictionFromAverage(r)),r},d.prototype[q.CIRCLE|q.PLANE]=d.prototype.circlePlane=function(a,b,c,d,e,f,k,l,m){var n=a,o=b,p=c,q=e,r=k,w=l;w=w||0;var x=t,y=u,z=v;h(x,p,r),g.rotate(y,s,w);var A=j(y,x);if(A>o.radius)return 0;if(m)return!0;var B=this.createContactEquation(q,n,f,b);return g.copy(B.normalA,y),g.scale(B.contactPointB,B.normalA,-o.radius),i(B.contactPointB,B.contactPointB,p),h(B.contactPointB,B.contactPointB,n.position),g.scale(z,B.normalA,A),h(B.contactPointA,x,z),i(B.contactPointA,B.contactPointA,r),h(B.contactPointA,B.contactPointA,q.position),this.contactEquations.push(B),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(B)),1},d.prototype[q.CONVEX]=d.prototype[q.CONVEX|q.BOX]=d.prototype[q.BOX]=d.prototype.convexConvex=function(a,b,c,e,f,k,l,m,n,o){var p=t,q=u,r=v,s=w,y=x,C=z,D=A,E=B,F=0,o="number"==typeof o?o:0,G=d.findSeparatingAxis(b,c,e,k,l,m,p);if(!G)return 0;h(D,l,c),j(p,D)>0&&g.scale(p,p,-1);var H=d.getClosestEdge(b,e,p,!0),I=d.getClosestEdge(k,m,p);if(H===-1||I===-1)return 0;for(var J=0;J<2;J++){var K=H,L=I,M=b,N=k,O=c,P=l,Q=e,R=m,S=a,T=f;if(0===J){var U;U=K,K=L,L=U,U=M,M=N,N=U,U=O,O=P,P=U,U=Q,Q=R,R=U,U=S,S=T,T=U}for(var V=L;V=3){if(n)return!0;var aa=this.createContactEquation(S,T,M,N);F++;var Z=M.vertices[K%M.vertices.length],$=M.vertices[(K+1)%M.vertices.length];g.rotate(r,Z,Q),g.rotate(s,$,Q),i(r,r,O),i(s,s,O),h(y,s,r),g.rotate90cw(aa.normalA,y),g.normalize(aa.normalA,aa.normalA),h(D,q,r);var _=j(aa.normalA,D);g.scale(C,aa.normalA,_),h(aa.contactPointA,q,O),h(aa.contactPointA,aa.contactPointA,C),i(aa.contactPointA,aa.contactPointA,O),h(aa.contactPointA,aa.contactPointA,S.position),h(aa.contactPointB,q,P),i(aa.contactPointB,aa.contactPointB,P),h(aa.contactPointB,aa.contactPointB,T.position),this.contactEquations.push(aa),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(aa))}}}return this.enableFrictionReduction&&this.enableFriction&&F&&this.frictionEquations.push(this.createFrictionFromAverage(F)),F};var $=g.fromValues(0,0);d.projectConvexOntoAxis=function(a,b,c,d,e){var f,h,i=null,k=null,l=$;g.rotate(l,d,-c);for(var m=0;mi)&&(i=h),(null===k||hi){var n=k;k=i,i=n}var o=j(b,d);g.set(e,k+o,i+o)};var _=g.fromValues(0,0),aa=g.fromValues(0,0),ba=g.fromValues(0,0),ca=g.fromValues(0,0),da=g.fromValues(0,0),ea=g.fromValues(0,0);d.findSeparatingAxis=function(a,b,c,e,f,i,j){var k=null,l=!1,m=!1,n=_,o=aa,p=ba,q=ca,s=da,t=ea;if(a instanceof r&&e instanceof r)for(var u=0;2!==u;u++){var v=a,w=c;1===u&&(v=e,w=i);for(var x=0;2!==x;x++){0===x?g.set(q,0,1):1===x&&g.set(q,1,0),0!==w&&g.rotate(q,q,w),d.projectConvexOntoAxis(a,b,c,q,s),d.projectConvexOntoAxis(e,f,i,q,t);var y=s,z=t,A=!1;s[0]>t[0]&&(z=s,y=t,A=!0);var B=z[0]-y[1];l=B<=0,(null===k||B>k)&&(g.copy(j,q),k=B,m=l)}}else for(var u=0;2!==u;u++){var v=a,w=c;1===u&&(v=e,w=i);for(var x=0;x!==v.vertices.length;x++){g.rotate(o,v.vertices[x],w),g.rotate(p,v.vertices[(x+1)%v.vertices.length],w),h(n,p,o),g.rotate90cw(q,n),g.normalize(q,q),d.projectConvexOntoAxis(a,b,c,q,s),d.projectConvexOntoAxis(e,f,i,q,t);var y=s,z=t,A=!1;s[0]>t[0]&&(z=s,y=t,A=!0);var B=z[0]-y[1];l=B<=0,(null===k||B>k)&&(g.copy(j,q),k=B,m=l)}}return m};var fa=g.fromValues(0,0),ga=g.fromValues(0,0),ha=g.fromValues(0,0);d.getClosestEdge=function(a,b,c,d){var e=fa,f=ga,i=ha;g.rotate(e,c,-b),d&&g.scale(e,e,-1);for(var k=-1,l=a.vertices.length,m=-1,n=0;n!==l;n++){h(f,a.vertices[(n+1)%l],a.vertices[n%l]),g.rotate90cw(i,f),g.normalize(i,i);var o=j(i,e);(k===-1||o>m)&&(k=n%l,m=o)}return k};var ia=g.create(),ja=g.create(),ka=g.create(),la=g.create(),ma=g.create(),na=g.create(),oa=g.create();d.prototype[q.CIRCLE|q.HEIGHTFIELD]=d.prototype.circleHeightfield=function(a,b,c,d,e,f,j,k,l,m){var n=f.heights,m=m||b.radius,o=f.elementWidth,p=ja,q=ia,r=ma,s=oa,t=na,u=ka,v=la,w=Math.floor((c[0]-m-j[0])/o),x=Math.ceil((c[0]+m-j[0])/o);w<0&&(w=0),x>=n.length&&(x=n.length-1);for(var y=n[w],z=n[x],A=w;Ay&&(y=n[A]);if(c[1]-m>y)return!l&&0;for(var B=!1,A=w;A=u[0]&&q[0]0)for(var A=w;A<=x;A++)if(g.set(u,A*o,n[A]),g.add(u,u,j),g.sub(p,c,u),g.squaredLength(p)=k.length&&(r=k.length-1);for(var s=k[q],t=k[r],u=q;us&&(s=k[u]);if(a.aabb.lowerBound[1]>s)return!j&&0;for(var v=0,u=q;u=0||f.containsPoint(this.from))&&this.intersectBody(a,e)}};var g=f.create();d.prototype.intersectBody=function(a,b){var c=this.checkCollisionResponse;if(!c||b.collisionResponse)for(var d=g,e=0,h=b.shapes.length;eb.boundingRadius*b.boundingRadius||(this._currentBody=f,this._currentShape=b,b.raycast(a,this,d,c),this._currentBody=this._currentShape=null)},d.prototype.getAABB=function(a){var b=this.to,c=this.from;f.set(a.lowerBound,Math.min(b[0],c[0]),Math.min(b[1],c[1])),f.set(a.upperBound,Math.max(b[0],c[0]),Math.max(b[1],c[1]))};f.create();d.prototype.reportIntersection=function(a,b,c,e){var g=(this.from,this.to,this._currentShape),h=this._currentBody;if(!(this.skipBackfaces&&f.dot(c,this.direction)>0))switch(this.mode){case d.ALL:a.set(c,g,h,b,e),this.callback(a);break;case d.CLOSEST:(b=0&&!(a[f].aabb.lowerBound[b]<=e.aabb.lowerBound[b]);f--)a[f+1]=a[f];a[f+1]=e}return a},d.prototype.sortList=function(){var a=this.axisList,b=this.axisIndex;d.sortAxisList(a,b)},d.prototype.getCollisionPairs=function(a){var b=this.axisList,c=this.result,d=this.axisIndex;c.length=0;for(var e=b.length;e--;){var g=b[e];g.aabbNeedsUpdate&&g.updateAABB()}this.sortList();for(var h=0,i=0|b.length;h!==i;h++)for(var j=b[h],k=h+1;kthis.upperLimit&&(f.maxForce=0,f.minForce=-this.maxForce,this.distance=this.upperLimit,l=!0),this.lowerLimitEnabled&&this.positionc)h.scale(e.normalA,j,-1),h.sub(e.contactPointA,k,g.position),h.sub(e.contactPointB,l,i.position),h.scale(o,j,c),h.add(e.contactPointA,e.contactPointA,o),a.indexOf(e)===-1&&a.push(e);else{var u=a.indexOf(e);u!==-1&&a.splice(u,1)}if(this.lowerLimitEnabled&&sh)o.angle=h,e.indexOf(o)===-1&&e.push(o);else{var r=e.indexOf(o);r!==-1&&e.splice(r,1)}if(this.lowerLimitEnabled&&q>1;if(b<3)return[];for(var c=[],e=[],f=0;f3;){var h=e[(f+0)%g],i=e[(f+1)%g],j=e[(f+2)%g],k=a[2*h],l=a[2*h+1],m=a[2*i],n=a[2*i+1],o=a[2*j],p=a[2*j+1],q=!1;if(d._convex(k,l,m,n,o,p)){q=!0;for(var r=0;r3*g)break}return c.push(e[0],e[1],e[2]),c},d._PointInTriangle=function(a,b,c,d,e,f,g,h){var i=g-c,j=h-d,k=e-c,l=f-d,m=a-c,n=b-d,o=i*i+j*j,p=i*k+j*l,q=i*m+j*n,r=k*k+l*l,s=k*m+l*n,t=1/(o*r-p*p),u=(r*q-p*s)*t,v=(o*s-p*q)*t;return u>=0&&v>=0&&u+v<1},d._convex=function(a,b,c,d,e,f){return(b-d)*(e-c)+(c-a)*(f-d)>=0},b.exports=d},{}],30:[function(a,b,c){var d=b.exports={},e=a("../utils/Utils");d.crossLength=function(a,b){return a[0]*b[1]-a[1]*b[0]},d.crossVZ=function(a,b,c){return d.rotate(a,b,-Math.PI/2),d.scale(a,a,c),a},d.crossZV=function(a,b,c){return d.rotate(a,c,Math.PI/2),d.scale(a,a,b),a},d.rotate=function(a,b,c){if(0!==c){var d=Math.cos(c),e=Math.sin(c),f=b[0],g=b[1];a[0]=d*f-e*g,a[1]=e*f+d*g}else a[0]=b[0],a[1]=b[1]},d.rotate90cw=function(a,b){var c=b[0],d=b[1];a[0]=d,a[1]=-c},d.toLocalFrame=function(a,b,c,e){d.copy(a,b),d.sub(a,a,c),d.rotate(a,a,-e)},d.toGlobalFrame=function(a,b,c,e){d.copy(a,b),d.rotate(a,a,e),d.add(a,a,c)},d.vectorToLocalFrame=function(a,b,c){d.rotate(a,b,-c)},d.vectorToGlobalFrame=function(a,b,c){d.rotate(a,b,c)},d.centroid=function(a,b,c,e){return d.add(a,b,c),d.add(a,a,e),d.scale(a,a,1/3),a},d.create=function(){var a=new e.ARRAY_TYPE(2);return a[0]=0,a[1]=0,a},d.clone=function(a){var b=new e.ARRAY_TYPE(2);return b[0]=a[0],b[1]=a[1],b},d.fromValues=function(a,b){var c=new e.ARRAY_TYPE(2);return c[0]=a,c[1]=b,c},d.copy=function(a,b){return a[0]=b[0],a[1]=b[1],a},d.set=function(a,b,c){return a[0]=b,a[1]=c,a},d.add=function(a,b,c){return a[0]=b[0]+c[0],a[1]=b[1]+c[1],a},d.subtract=function(a,b,c){return a[0]=b[0]-c[0],a[1]=b[1]-c[1],a},d.sub=d.subtract,d.multiply=function(a,b,c){return a[0]=b[0]*c[0],a[1]=b[1]*c[1],a},d.mul=d.multiply,d.divide=function(a,b,c){return a[0]=b[0]/c[0],a[1]=b[1]/c[1],a},d.div=d.divide,d.scale=function(a,b,c){return a[0]=b[0]*c,a[1]=b[1]*c,a},d.distance=function(a,b){var c=b[0]-a[0],d=b[1]-a[1];return Math.sqrt(c*c+d*d)},d.dist=d.distance,d.squaredDistance=function(a,b){var c=b[0]-a[0],d=b[1]-a[1];return c*c+d*d},d.sqrDist=d.squaredDistance,d.length=function(a){var b=a[0],c=a[1];return Math.sqrt(b*b+c*c)},d.len=d.length,d.squaredLength=function(a){var b=a[0],c=a[1];return b*b+c*c},d.sqrLen=d.squaredLength,d.negate=function(a,b){return a[0]=-b[0],a[1]=-b[1],a},d.normalize=function(a,b){var c=b[0],d=b[1],e=c*c+d*d;return e>0&&(e=1/Math.sqrt(e),a[0]=b[0]*e,a[1]=b[1]*e),a},d.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]},d.str=function(a){return"vec2("+a[0]+", "+a[1]+")"},d.lerp=function(a,b,c,d){var e=b[0],f=b[1];return a[0]=e+d*(c[0]-e),a[1]=f+d*(c[1]-f),a},d.reflect=function(a,b,c){var d=b[0]*c[0]+b[1]*c[1];a[0]=b[0]-2*c[0]*d,a[1]=b[1]-2*c[1]*d},d.getLineSegmentsIntersection=function(a,b,c,e,f){var g=d.getLineSegmentsIntersectionFraction(b,c,e,f);return!(g<0)&&(a[0]=b[0]+g*(c[0]-b[0]),a[1]=b[1]+g*(c[1]-b[1]),!0)},d.getLineSegmentsIntersectionFraction=function(a,b,c,d){var e,f,g=b[0]-a[0],h=b[1]-a[1],i=d[0]-c[0],j=d[1]-c[1];return e=(-h*(a[0]-c[0])+g*(a[1]-c[1]))/(-i*h+g*j),f=(i*(a[1]-c[1])-j*(a[0]-c[0]))/(-i*h+g*j),e>=0&&e<=1&&f>=0&&f<=1?f:-1}},{"../utils/Utils":57}],31:[function(a,b,c){function d(a){a=a||{},k.call(this),this.id=a.id||++d._idCounter,this.world=null,this.shapes=[],this.mass=a.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!a.fixedRotation,this.fixedX=!!a.fixedX,this.fixedY=!!a.fixedY,this.massMultiplier=e.create(),this.position=e.fromValues(0,0),a.position&&e.copy(this.position,a.position),this.interpolatedPosition=e.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=e.fromValues(0,0),this.previousAngle=0,this.velocity=e.fromValues(0,0),a.velocity&&e.copy(this.velocity,a.velocity),this.vlambda=e.fromValues(0,0),this.wlambda=0,this.angle=a.angle||0,this.angularVelocity=a.angularVelocity||0,this.force=e.create(),a.force&&e.copy(this.force,a.force),this.angularForce=a.angularForce||0,this.damping="number"==typeof a.damping?a.damping:.1,this.angularDamping="number"==typeof a.angularDamping?a.angularDamping:.1,this.type=d.STATIC,"undefined"!=typeof a.type?this.type=a.type:a.mass?this.type=d.DYNAMIC:this.type=d.STATIC,this.boundingRadius=0,this.aabb=new j,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===a.allowSleep||a.allowSleep, -this.wantsToSleep=!1,this.sleepState=d.AWAKE,this.sleepSpeedLimit=void 0!==a.sleepSpeedLimit?a.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==a.sleepTimeLimit?a.sleepTimeLimit:1,this.gravityScale=void 0!==a.gravityScale?a.gravityScale:1,this.collisionResponse=void 0===a.collisionResponse||a.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==a.ccdSpeedThreshold?a.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==a.ccdIterations?a.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var e=a("../math/vec2"),f=a("poly-decomp"),g=a("../shapes/Convex"),h=a("../collision/RaycastResult"),i=a("../collision/Ray"),j=a("../collision/AABB"),k=a("../events/EventEmitter");b.exports=d,d.prototype=new k,d.prototype.constructor=d,d._idCounter=0,d.prototype.updateSolveMassProperties=function(){this.sleepState===d.SLEEPING||this.type===d.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},d.prototype.setDensity=function(a){var b=this.getArea();this.mass=b*a,this.updateMassProperties()},d.prototype.getArea=function(){for(var a=0,b=0;bc&&(c=g+h)}this.boundingRadius=c},d.prototype.addShape=function(a,b,c){if(a.body)throw new Error("A shape can only be added to one body.");a.body=this,b?e.copy(a.position,b):e.set(a.position,0,0),a.angle=c||0,this.shapes.push(a),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},d.prototype.removeShape=function(a){var b=this.shapes.indexOf(a);return b!==-1&&(this.shapes.splice(b,1),this.aabbNeedsUpdate=!0,a.body=null,!0)},d.prototype.updateMassProperties=function(){if(this.type===d.STATIC||this.type===d.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var a=this.shapes,b=a.length,c=this.mass/b,f=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var g=0;g0?1/f:0}this.invMass=1/this.mass,e.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};e.create();d.prototype.applyForce=function(a,b){if(e.add(this.force,this.force,a),b){var c=e.crossLength(b,a);this.angularForce+=c}};var n=e.create(),o=e.create(),p=e.create();d.prototype.applyForceLocal=function(a,b){b=b||p;var c=n,d=o;this.vectorToWorldFrame(c,a),this.vectorToWorldFrame(d,b),this.applyForce(c,d)};var q=e.create();d.prototype.applyImpulse=function(a,b){if(this.type===d.DYNAMIC){var c=q;if(e.scale(c,a,this.invMass),e.multiply(c,this.massMultiplier,c),e.add(this.velocity,c,this.velocity),b){var f=e.crossLength(b,a);f*=this.invInertia,this.angularVelocity+=f}}};var r=e.create(),s=e.create(),t=e.create();d.prototype.applyImpulseLocal=function(a,b){b=b||t;var c=r,d=s;this.vectorToWorldFrame(c,a),this.vectorToWorldFrame(d,b),this.applyImpulse(c,d)},d.prototype.toLocalFrame=function(a,b){e.toLocalFrame(a,b,this.position,this.angle)},d.prototype.toWorldFrame=function(a,b){e.toGlobalFrame(a,b,this.position,this.angle)},d.prototype.vectorToLocalFrame=function(a,b){e.vectorToLocalFrame(a,b,this.angle)},d.prototype.vectorToWorldFrame=function(a,b){e.vectorToGlobalFrame(a,b,this.angle)},d.prototype.fromPolygon=function(a,b){b=b||{};for(var c=this.shapes.length;c>=0;--c)this.removeShape(this.shapes[c]);var d=new f.Polygon;if(d.vertices=a,d.makeCCW(),"number"==typeof b.removeCollinearPoints&&d.removeCollinearPoints(b.removeCollinearPoints),"undefined"==typeof b.skipSimpleCheck&&!d.isSimple())return!1;this.concavePath=d.vertices.slice(0);for(var c=0;c=g?(this.idleTime=0,this.sleepState=d.AWAKE):(this.idleTime+=c,this.sleepState=d.SLEEPY),this.idleTime>this.sleepTimeLimit&&(b?this.wantsToSleep=!0:this.sleep())}},d.prototype.overlaps=function(a){return this.world.overlapKeeper.bodiesAreOverlapping(this,a)};var x=e.create(),y=e.create();d.prototype.integrate=function(a){var b=this.invMass,c=this.force,d=this.position,f=this.velocity;e.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*a),e.scale(x,c,a*b),e.multiply(x,this.massMultiplier,x),e.add(f,x,f),this.integrateToTimeOfImpact(a)||(e.scale(y,f,a),e.add(d,d,y),this.fixedRotation||(this.angle+=this.angularVelocity*a)),this.aabbNeedsUpdate=!0};var z=new h,A=new i({mode:i.ALL}),B=e.create(),C=e.create(),D=e.create(),E=e.create();d.prototype.integrateToTimeOfImpact=function(a){if(this.ccdSpeedThreshold<0||e.squaredLength(this.velocity)=j&&i=0&&(f.rotate(n,l,d),f.scale(n,n,2*r-1),b.reportIntersection(a,t,n,-1),a.shouldStop(b)))return}for(var u=Math.pow(this.radius,2)+Math.pow(q,2),r=0;r<2;r++){f.set(o,q*(2*r-1),0),f.toGlobalFrame(o,o,c,d);var v=Math.pow(g[0]-e[0],2)+Math.pow(g[1]-e[1],2),w=2*((g[0]-e[0])*(e[0]-o[0])+(g[1]-e[1])*(e[1]-o[1])),x=Math.pow(e[0]-o[0],2)+Math.pow(e[1]-o[1],2)-Math.pow(this.radius,2),t=Math.pow(w,2)-4*v*x;if(!(t<0))if(0===t){if(f.lerp(m,e,g,t),f.squaredDistance(m,c)>u&&(f.sub(n,m,o),f.normalize(n,n),b.reportIntersection(a,t,n,-1),a.shouldStop(b)))return}else{var y=Math.sqrt(t),z=1/(2*v),A=(-w-y)*z,B=(-w+y)*z;if(A>=0&&A<=1&&(f.lerp(m,e,g,A),f.squaredDistance(m,c)>u&&(f.sub(n,m,o),f.normalize(n,n),b.reportIntersection(a,A,n,-1),a.shouldStop(b))))return;if(B>=0&&B<=1&&(f.lerp(m,e,g,B),f.squaredDistance(m,c)>u&&(f.sub(n,m,o),f.normalize(n,n),b.reportIntersection(a,B,n,-1),a.shouldStop(b))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(a,b,c){function d(a){"number"==typeof arguments[0]&&(a={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),a=a||{},this.radius=a.radius||1,a.type=e.CIRCLE,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeMomentOfInertia=function(a){var b=this.radius;return a*b*b/2},d.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},d.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},d.prototype.computeAABB=function(a,b,c){var d=this.radius;f.set(a.upperBound,d,d),f.set(a.lowerBound,-d,-d),b&&(f.add(a.lowerBound,a.lowerBound,b),f.add(a.upperBound,a.upperBound,b))};var g=f.create(),h=f.create();d.prototype.raycast=function(a,b,c,d){var e=b.from,i=b.to,j=this.radius,k=Math.pow(i[0]-e[0],2)+Math.pow(i[1]-e[1],2),l=2*((i[0]-e[0])*(e[0]-c[0])+(i[1]-e[1])*(e[1]-c[1])),m=Math.pow(e[0]-c[0],2)+Math.pow(e[1]-c[1],2)-Math.pow(j,2),n=Math.pow(l,2)-4*k*m,o=g,p=h;if(!(n<0))if(0===n)f.lerp(o,e,i,n),f.sub(p,o,c),f.normalize(p,p),b.reportIntersection(a,n,p,-1);else{var q=Math.sqrt(n),r=1/(2*k),s=(-l-q)*r,t=(-l+q)*r;if(s>=0&&s<=1&&(f.lerp(o,e,i,s),f.sub(p,o,c),f.normalize(p,p),b.reportIntersection(a,s,p,-1),a.shouldStop(b)))return;t>=0&&t<=1&&(f.lerp(o,e,i,t),f.sub(p,o,c),f.normalize(p,p),b.reportIntersection(a,t,p,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(a,b,c){function d(a){Array.isArray(arguments[0])&&(a={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),a=a||{},this.vertices=[];for(var b=void 0!==a.vertices?a.vertices:[],c=0;ce)&&(e=d),(null===g||de){var j=g;g=e,e=j}f.set(b,g,e)},d.prototype.projectOntoWorldAxis=function(a,b,c,d){var e=i;this.projectOntoLocalAxis(a,d),0!==c?f.rotate(e,a,c):e=a;var g=f.dot(b,e);f.set(d,d[0]+g,d[1]+g)},d.prototype.updateTriangles=function(){this.triangles.length=0;for(var a=[],b=0;bb&&(b=d)}this.boundingRadius=Math.sqrt(b)},d.triangleArea=function(a,b,c){return.5*((b[0]-a[0])*(c[1]-a[1])-(c[0]-a[0])*(b[1]-a[1]))},d.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var a=this.triangles,b=this.vertices,c=0;c!==a.length;c++){var e=a[c],f=b[e[0]],g=b[e[1]],h=b[e[2]],i=d.triangleArea(f,g,h);this.area+=i}},d.prototype.computeAABB=function(a,b,c){a.setFromPoints(this.vertices,b,c,0)};var o=f.create(),p=f.create(),q=f.create();d.prototype.raycast=function(a,b,c,d){var e=o,g=p,h=q,i=this.vertices;f.toLocalFrame(e,b.from,c,d),f.toLocalFrame(g,b.to,c,d);for(var j=i.length,k=0;k=0&&(f.sub(h,m,l),f.rotate(h,h,-Math.PI/2+d),f.normalize(h,h),b.reportIntersection(a,n,h,k))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(a,b,c){function d(a){if(Array.isArray(arguments[0])){if(a={heights:arguments[0]},"object"==typeof arguments[1])for(var b in arguments[1])a[b]=arguments[1][b];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}a=a||{},this.heights=a.heights?a.heights.slice(0):[],this.maxValue=a.maxValue||null,this.minValue=a.minValue||null,this.elementWidth=a.elementWidth||.1,void 0!==a.maxValue&&void 0!==a.minValue||this.updateMaxMinValues(),a.type=e.HEIGHTFIELD,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");a("../utils/Utils");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.updateMaxMinValues=function(){for(var a=this.heights,b=a[0],c=a[0],d=0;d!==a.length;d++){var e=a[d];e>b&&(b=e),es){var t=r;r=s,s=t}for(var u=0;u=0&&(f.sub(m,o,n),f.rotate(m,m,d+Math.PI/2),f.normalize(m,m),b.reportIntersection(a,v,m,-1),a.shouldStop(b)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(a,b,c){function d(a){"number"==typeof arguments[0]&&(a={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),a=a||{},this.length=a.length||1,a.type=e.LINE,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeMomentOfInertia=function(a){return a*Math.pow(this.length,2)/12},d.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var g=[f.create(),f.create()];d.prototype.computeAABB=function(a,b,c){var d=this.length/2;f.set(g[0],-d,0),f.set(g[1],d,0),a.setFromPoints(g,b,c,0)};var h=(f.create(),f.create()),i=f.create(),j=f.create(),k=f.fromValues(0,1);d.prototype.raycast=function(a,b,c,d){var e=b.from,g=b.to,l=i,m=j,n=this.length/2;f.set(l,-n,0),f.set(m,n,0),f.toGlobalFrame(l,l,c,d),f.toGlobalFrame(m,m,c,d);var o=f.getLineSegmentsIntersectionFraction(l,m,e,g);if(o>=0){var p=h;f.rotate(p,k,d),b.reportIntersection(a,o,p,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(a,b,c){function d(a){a=a||{},a.type=e.PARTICLE,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeMomentOfInertia=function(a){return 0},d.prototype.updateBoundingRadius=function(){this.boundingRadius=0},d.prototype.computeAABB=function(a,b,c){f.copy(a.lowerBound,b),f.copy(a.upperBound,b)}},{"../math/vec2":30,"./Shape":45}],44:[function(a,b,c){function d(a){a=a||{},a.type=e.PLANE,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");a("../utils/Utils");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeMomentOfInertia=function(a){return 0},d.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},d.prototype.computeAABB=function(a,b,c){var d=c%(2*Math.PI),e=f.set,g=Number.MAX_VALUE,h=a.lowerBound,i=a.upperBound;0===d?(e(h,-g,-g),e(i,g,0)):d===Math.PI/2?(e(h,0,-g),e(i,g,g)):d===Math.PI?(e(h,-g,0),e(i,g,g)):d===3*Math.PI/2?(e(h,-g,-g),e(i,0,g)):(e(h,-g,-g),e(i,g,g)),f.add(h,h,b),f.add(i,i,b)},d.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var g=f.create(),h=(f.create(),f.create(),f.create()),i=f.create();d.prototype.raycast=function(a,b,c,d){var e=b.from,j=b.to,k=b.direction,l=g,m=h,n=i;f.set(m,0,1),f.rotate(m,m,d),f.sub(n,e,c);var o=f.dot(n,m);f.sub(n,j,c);var p=f.dot(n,m);if(!(o*p>0||f.squaredDistance(e,j)n*h&&(p=n*h-l),f[a]+=p,b.addToWlambda(p),p}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(a,b,c){function d(a,b){a=a||{},e.call(this),this.type=b,this.equations=[],this.equationSortFunction=a.equationSortFunction||!1}var e=(a("../utils/Utils"),a("../events/EventEmitter"));b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.solve=function(a,b){throw new Error("Solver.solve should be implemented by subclasses!")};var f={bodies:[]};d.prototype.solveIsland=function(a,b){this.removeAllEquations(),b.equations.length&&(this.addEquations(b.equations),f.bodies.length=0,b.getBodies(f.bodies),f.bodies.length&&this.solve(a,f))},d.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},d.prototype.addEquation=function(a){a.enabled&&this.equations.push(a)},d.prototype.addEquations=function(a){for(var b=0,c=a.length;b!==c;b++){var d=a[b];d.enabled&&this.equations.push(d)}},d.prototype.removeEquation=function(a){var b=this.equations.indexOf(a);b!==-1&&this.equations.splice(b,1)},d.prototype.removeAllEquations=function(){this.equations.length=0},d.GS=1,d.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("../equations/ContactEquation"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.bodyA=a.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("../equations/FrictionEquation"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.bodyA=a.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("../world/IslandNode"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("../world/Island"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(a,b,c){function d(){this.overlappingShapesLastState=new e,this.overlappingShapesCurrentState=new e,this.recordPool=new f({size:16}),this.tmpDict=new e,this.tmpArray1=[]}var e=a("./TupleDictionary"),f=(a("./OverlapKeeperRecord"),a("./OverlapKeeperRecordPool"));a("./Utils");b.exports=d,d.prototype.tick=function(){for(var a=this.overlappingShapesLastState,b=this.overlappingShapesCurrentState,c=a.keys.length;c--;){var d=a.keys[c],e=a.getByKey(d);b.getByKey(d);e&&this.recordPool.release(e)}a.reset(),a.copy(b),b.reset()},d.prototype.setOverlapping=function(a,b,c,d){var e=(this.overlappingShapesLastState,this.overlappingShapesCurrentState);if(!e.get(b.id,d.id)){var f=this.recordPool.get();f.set(a,b,c,d),e.set(b.id,d.id,f)}},d.prototype.getNewOverlaps=function(a){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,a)},d.prototype.getEndOverlaps=function(a){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,a)},d.prototype.bodiesAreOverlapping=function(a,b){for(var c=this.overlappingShapesCurrentState,d=c.keys.length;d--;){var e=c.keys[d],f=c.data[e];if(f.bodyA===a&&f.bodyB===b||f.bodyA===b&&f.bodyB===a)return!0}return!1},d.prototype.getDiff=function(a,b,c){var c=c||[],d=a,e=b;c.length=0;for(var f=e.keys.length;f--;){var g=e.keys[f],h=e.data[g];if(!h)throw new Error("Key "+g+" had no data!");var i=d.data[g];i||c.push(h)}return c},d.prototype.isNewOverlap=function(a,b){var c=0|a.id,d=0|b.id,e=this.overlappingShapesLastState,f=this.overlappingShapesCurrentState;return!e.get(c,d)&&!!f.get(c,d)},d.prototype.getNewBodyOverlaps=function(a){this.tmpArray1.length=0;var b=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(b,a)},d.prototype.getEndBodyOverlaps=function(a){this.tmpArray1.length=0;var b=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(b,a)},d.prototype.getBodyDiff=function(a,b){b=b||[];for(var c=this.tmpDict,d=a.length;d--;){var e=a[d];c.set(0|e.bodyA.id,0|e.bodyB.id,e)}for(d=c.keys.length;d--;){var e=c.getByKey(c.keys[d]);e&&b.push(e.bodyA,e.bodyB)}return c.reset(),b}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(a,b,c){function d(a,b,c,d){this.shapeA=b,this.shapeB=d,this.bodyA=a,this.bodyB=c}b.exports=d,d.prototype.set=function(a,b,c,e){d.call(this,a,b,c,e)}},{}],54:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("./OverlapKeeperRecord"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.bodyA=a.bodyB=a.shapeA=a.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(a,b,c){function d(a){a=a||{},this.objects=[],void 0!==a.size&&this.resize(a.size)}b.exports=d,d.prototype.resize=function(a){for(var b=this.objects;b.length>a;)b.pop();for(;b.length(0|b)?a<<16|65535&b:b<<16|65535&a)},d.prototype.getByKey=function(a){return a=0|a,this.data[a]},d.prototype.get=function(a,b){return this.data[this.getKey(a,b)]},d.prototype.set=function(a,b,c){if(!c)throw new Error("No data!");var d=this.getKey(a,b);return this.data[d]||this.keys.push(d),this.data[d]=c,d},d.prototype.reset=function(){for(var a=this.data,b=this.keys,c=b.length;c--;)delete a[b[c]];b.length=0},d.prototype.copy=function(a){this.reset(),e.appendArray(this.keys,a.keys);for(var b=a.keys.length;b--;){var c=a.keys[b];this.data[c]=a.data[c]}}},{"./Utils":57}],57:[function(a,b,c){function d(){}b.exports=d,d.appendArray=function(a,b){if(b.length<15e4)a.push.apply(a,b);else for(var c=0,d=b.length;c!==d;++c)a.push(b[c])},d.splice=function(a,b,c){c=c||1;for(var d=b,e=a.length-c;d=a&&d=0;r-=2)for(var A=x.length-2;A>=0;A-=2)(z[r]===x[A]&&z[r+1]===x[A+1]||z[r+1]===x[A]&&z[r]===x[A+1])&&x.splice(A,2);var B=l.length;for(r=0;r!==B;r++){var C=l[r];if(!C.collideConnected)for(var A=x.length-2;A>=0;A-=2)(C.bodyA===x[A]&&C.bodyB===x[A+1]||C.bodyB===x[A]&&C.bodyA===x[A+1])&&x.splice(A,2)}this.postBroadphaseEvent.pairs=x,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,k.reset(this);for(var r=0,D=x.length;r!==D;r+=2)for(var E=x[r],F=x[r+1],G=0,H=E.shapes.length;G!==H;G++)for(var I=E.shapes[G],J=I.position,K=I.angle,L=0,M=F.shapes.length;L!==M;L++){var N=F.shapes[L],O=N.position,P=N.angle,Q=this.defaultContactMaterial;if(I.material&&N.material){var R=this.getContactMaterial(I.material,N.material);R&&(Q=R)}this.runNarrowphase(k,E,I,J,K,F,N,O,P,Q,this.frictionGravity)}for(var r=0;r!==i;r++){var S=e[r];S._wakeUpAfterNarrowphase&&(S.wakeUp(),S._wakeUpAfterNarrowphase=!1)}if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(y);for(var T=this.endContactEvent,L=y.length;L--;){var U=y[L];T.shapeA=U.shapeA,T.shapeB=U.shapeB,T.bodyA=U.bodyA,T.bodyB=U.bodyB,this.emit(T)}y.length=0}var V=this.preSolveEvent;V.contactEquations=k.contactEquations,V.frictionEquations=k.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var B=l.length;for(r=0;r!==B;r++)l[r].update();if(k.contactEquations.length||k.frictionEquations.length||B)if(this.islandSplit){for(p.equations.length=0,s.appendArray(p.equations,k.contactEquations),s.appendArray(p.equations,k.frictionEquations),r=0;r!==B;r++)s.appendArray(p.equations,l[r].equations);p.split(this);for(var r=0;r!==p.islands.length;r++){var W=p.islands[r];W.equations.length&&h.solveIsland(a,W)}}else{for(h.addEquations(k.contactEquations),h.addEquations(k.frictionEquations),r=0;r!==B;r++)h.addEquations(l[r].equations);this.solveConstraints&&h.solve(a,this),h.removeAllEquations()}for(var r=0;r!==i;r++){var S=e[r];S.integrate(a)}for(var r=0;r!==i;r++)e[r].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var X=this.impactEvent,r=0;r!==k.contactEquations.length;r++){var Y=k.contactEquations[r];Y.firstImpact&&(X.bodyA=Y.bodyA,X.bodyB=Y.bodyB,X.shapeA=Y.shapeA,X.shapeB=Y.shapeB,X.contactEquation=Y,this.emit(X))}if(this.sleepMode===d.BODY_SLEEPING)for(r=0;r!==i;r++)e[r].sleepTick(this.time,!1,a);else if(this.sleepMode===d.ISLAND_SLEEPING&&this.islandSplit){for(r=0;r!==i;r++)e[r].sleepTick(this.time,!0,a);for(var r=0;r0,a.frictionCoefficient=k.friction;var p;p=b.type===m.STATIC||b.type===m.KINEMATIC?g.mass:g.type===m.STATIC||g.type===m.KINEMATIC?b.mass:b.mass*g.mass/(b.mass+g.mass),a.slipForce=k.friction*l*p,a.restitution=k.restitution,a.surfaceVelocity=k.surfaceVelocity,a.frictionStiffness=k.frictionStiffness,a.frictionRelaxation=k.frictionRelaxation,a.stiffness=k.stiffness,a.relaxation=k.relaxation,a.contactSkinSize=k.contactSkinSize,a.enabledEquations=b.collisionResponse&&g.collisionResponse&&c.collisionResponse&&h.collisionResponse;var q=a[c.type|h.type],r=0;if(q){var s=c.sensor||h.sensor,t=a.frictionEquations.length;r=c.type=2*y&&(b._wakeUpAfterNarrowphase=!0)}if(g.allowSleep&&g.type===m.DYNAMIC&&g.sleepState===m.SLEEPING&&b.sleepState===m.AWAKE&&b.type!==m.STATIC){var z=f.squaredLength(b.velocity)+Math.pow(b.angularVelocity,2),A=Math.pow(b.sleepSpeedLimit,2);z>=2*A&&(g._wakeUpAfterNarrowphase=!0)}if(this.overlapKeeper.setOverlapping(b,c,g,h),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(c,h)){var B=this.beginContactEvent;if(B.shapeA=c,B.shapeB=h,B.bodyA=b,B.bodyB=g,B.contactEquations.length=0,"number"==typeof r)for(var C=a.contactEquations.length-r;C1)for(var C=a.frictionEquations.length-u;C=0;b--)this.removeConstraint(a[b]);for(var c=this.bodies,b=c.length-1;b>=0;b--)this.removeBody(c[b]);for(var e=this.springs,b=e.length-1;b>=0;b--)this.removeSpring(e[b]);for(var f=this.contactMaterials,b=f.length-1;b>=0;b--)this.removeContactMaterial(f[b]);d.apply(this)};var z=f.create(),A=(f.fromValues(0,0),f.fromValues(0,0));d.prototype.hitTest=function(a,b,c){c=c||0;var d=new m({position:a}),e=new k,l=a,n=0,o=z,p=A;d.addShape(e);for(var q=this.narrowphase,r=[],s=0,t=b.length;s!==t;s++)for(var u=b[s],v=0,w=u.shapes.length;v!==w;v++){var x=u.shapes[v];f.rotate(o,x.position,u.angle),f.add(o,o,u.position);var y=x.angle+u.angle;(x instanceof g&&q.circleParticle(u,x,o,y,d,e,l,n,!0)||x instanceof h&&q.particleConvex(d,e,l,n,u,x,o,y,!0)||x instanceof i&&q.particlePlane(d,e,l,n,u,x,o,y,!0)||x instanceof j&&q.particleCapsule(d,e,l,n,u,x,o,y,!0)||x instanceof k&&f.squaredLength(f.sub(p,o,a))=0&&b<=this.children.length)return a.parent&&a.parent.removeChild(a),a.parent=this,this.children.splice(b,0,a),a;throw new Error(a+"addChildAt: The index "+b+" supplied is out of bounds "+this.children.length)},b.DisplayObjectContainer.prototype.swapChildren=function(a,b){if(a!==b){var c=this.getChildIndex(a),d=this.getChildIndex(b);if(c<0||d<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[c]=b,this.children[d]=a}},b.DisplayObjectContainer.prototype.getChildIndex=function(a){var b=this.children.indexOf(a);if(b===-1)throw new Error("The supplied DisplayObject must be a child of the caller");return b},b.DisplayObjectContainer.prototype.setChildIndex=function(a,b){if(b<0||b>=this.children.length)throw new Error("The supplied index is out of bounds");var c=this.getChildIndex(a);this.children.splice(c,1),this.children.splice(b,0,a)},b.DisplayObjectContainer.prototype.getChildAt=function(a){if(a<0||a>=this.children.length)throw new Error("getChildAt: Supplied index "+a+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[a]},b.DisplayObjectContainer.prototype.removeChild=function(a){var b=this.children.indexOf(a);if(b!==-1)return this.removeChildAt(b)},b.DisplayObjectContainer.prototype.removeChildAt=function(a){var b=this.getChildAt(a);return b&&(b.parent=void 0,this.children.splice(a,1)),b},b.DisplayObjectContainer.prototype.removeChildren=function(a,b){void 0===a&&(a=0),void 0===b&&(b=this.children.length);var c=b-a;if(c>0&&c<=b){for(var d=this.children.splice(begin,c),e=0;eh?l:h,m=m>i?m:i)}var p=this._bounds;if(!n){p=new b.Rectangle;var q=p.x,r=p.width+p.x,s=p.y,t=p.height+p.y,u=this.worldTransform,v=u.a,w=u.b,x=u.c,y=u.d,z=u.tx,A=u.ty,B=v*r+x*t+z,C=y*t+w*r+A,D=v*q+x*t+z,E=y*t+w*q+A,F=v*q+x*s+z,G=y*s+w*q+A,H=v*r+x*s+z,I=y*s+w*r+A;l=B,m=C,j=B,k=C,j=Dl?D:l,l=F>l?F:l,l=H>l?H:l,m=E>m?E:m,m=G>m?G:m,m=I>m?I:m}if(p.x=j,p.y=k,p.width=l-j,p.height=m-k,c)for(a.worldTransform=f,e=0;eo?t:o,o=v>o?v:o,o=x>o?x:o,o=z>o?z:o,p=u>p?u:p,p=w>p?w:p,p=y>p?y:p,p=A>p?A:p}var B=this._bounds;return B.x=q,B.width=o-q,B.y=r,B.height=p-r,this._currentBounds=B,B},b.Sprite.prototype.getLocalBounds=function(){var a=this.worldTransform;this.worldTransform=b.identityMatrix;for(var c=0;c>16&255)/255,(a>>8&255)/255,(255&a)/255]},b.rgb2hex=function(a){return(255*a[0]<<16)+(255*a[1]<<8)+255*a[2]},b.canUseNewCanvasBlendModes=function(){if(void 0===document)return!1;var a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/",c="AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==",d=new Image;d.src=a+"AP804Oa6"+c;var e=new Image;e.src=a+"/wCKxvRF"+c;var f=b.CanvasPool.create(this,6,1),g=f.getContext("2d");if(g.globalCompositeOperation="multiply",g.drawImage(d,0,0),g.drawImage(e,2,0),!g.getImageData(2,0,1,1))return!1;var h=g.getImageData(2,0,1,1).data;return b.CanvasPool.remove(this),255===h[0]&&0===h[1]&&0===h[2]},b.getNextPowerOfTwo=function(a){if(a>0&&0===(a&a-1))return a;for(var b=1;b0&&0===(a&a-1)&&b>0&&0===(b&b-1)},b.CanvasPool={create:function(a,c,d){var e,f=b.CanvasPool.getFirst();if(f===-1){var g={parent:a,canvas:document.createElement("canvas")};b.CanvasPool.pool.push(g),e=g.canvas}else b.CanvasPool.pool[f].parent=a,e=b.CanvasPool.pool[f].canvas;return void 0!==c&&(e.width=c,e.height=d),e},getFirst:function(){for(var a=b.CanvasPool.pool,c=0;c=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture);var e=c._uvs;if(e){var f,g,h,i,j=a.anchor.x,k=a.anchor.y;if(c.trim){var l=c.trim;g=l.x-j*l.width,f=g+c.crop.width,i=l.y-k*l.height,h=i+c.crop.height}else f=c.frame.width*(1-j),g=c.frame.width*-j,h=c.frame.height*(1-k),i=c.frame.height*-k;var m=4*this.currentBatchSize*this.vertSize,n=c.baseTexture.resolution,o=d.a/n,p=d.b/n,q=d.c/n,r=d.d/n,s=d.tx,t=d.ty,u=this.colors,v=this.positions;this.renderSession.roundPixels?(v[m]=o*g+q*i+s|0,v[m+1]=r*i+p*g+t|0,v[m+5]=o*f+q*i+s|0,v[m+6]=r*i+p*f+t|0,v[m+10]=o*f+q*h+s|0,v[m+11]=r*h+p*f+t|0,v[m+15]=o*g+q*h+s|0,v[m+16]=r*h+p*g+t|0):(v[m]=o*g+q*i+s,v[m+1]=r*i+p*g+t,v[m+5]=o*f+q*i+s,v[m+6]=r*i+p*f+t,v[m+10]=o*f+q*h+s,v[m+11]=r*h+p*f+t,v[m+15]=o*g+q*h+s,v[m+16]=r*h+p*g+t),v[m+2]=e.x0,v[m+3]=e.y0,v[m+7]=e.x1,v[m+8]=e.y1,v[m+12]=e.x2,v[m+13]=e.y2,v[m+17]=e.x3,v[m+18]=e.y3;var w=a.tint;u[m+4]=u[m+9]=u[m+14]=u[m+19]=(w>>16)+(65280&w)+((255&w)<<16)+(255*a.worldAlpha<<24),this.sprites[this.currentBatchSize++]=a}},b.WebGLSpriteBatch.prototype.renderTilingSprite=function(a){var c=a.tilingTexture;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture),a._uvs||(a._uvs=new b.TextureUvs);var d=a._uvs,e=c.baseTexture.width,f=c.baseTexture.height;a.tilePosition.x%=e*a.tileScaleOffset.x,a.tilePosition.y%=f*a.tileScaleOffset.y;var g=a.tilePosition.x/(e*a.tileScaleOffset.x),h=a.tilePosition.y/(f*a.tileScaleOffset.y),i=a.width/e/(a.tileScale.x*a.tileScaleOffset.x),j=a.height/f/(a.tileScale.y*a.tileScaleOffset.y);d.x0=0-g,d.y0=0-h,d.x1=1*i-g,d.y1=0-h,d.x2=1*i-g,d.y2=1*j-h,d.x3=0-g,d.y3=1*j-h;var k=a.tint,l=(k>>16)+(65280&k)+((255&k)<<16)+(255*a.worldAlpha<<24),m=this.positions,n=this.colors,o=a.width,p=a.height,q=a.anchor.x,r=a.anchor.y,s=o*(1-q),t=o*-q,u=p*(1-r),v=p*-r,w=4*this.currentBatchSize*this.vertSize,x=c.baseTexture.resolution,y=a.worldTransform,z=y.a/x,A=y.b/x,B=y.c/x,C=y.d/x,D=y.tx,E=y.ty;m[w++]=z*t+B*v+D,m[w++]=C*v+A*t+E,m[w++]=d.x0,m[w++]=d.y0,n[w++]=l,m[w++]=z*s+B*v+D,m[w++]=C*v+A*s+E,m[w++]=d.x1,m[w++]=d.y1,n[w++]=l,m[w++]=z*s+B*u+D,m[w++]=C*u+A*s+E,m[w++]=d.x2,m[w++]=d.y2,n[w++]=l,m[w++]=z*t+B*u+D,m[w++]=C*u+A*t+E,m[w++]=d.x3,m[w++]=d.y3,n[w++]=l,this.sprites[this.currentBatchSize++]=a},b.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a,c=this.gl;if(this.dirty){this.dirty=!1,c.activeTexture(c.TEXTURE0),c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a=this.defaultShader.shaders[c.id];var d=4*this.vertSize;c.vertexAttribPointer(a.aVertexPosition,2,c.FLOAT,!1,d,0),c.vertexAttribPointer(a.aTextureCoord,2,c.FLOAT,!1,d,8),c.vertexAttribPointer(a.colorAttribute,4,c.UNSIGNED_BYTE,!0,d,16)}if(this.currentBatchSize>.5*this.size)c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices);else{var e=this.positions.subarray(0,4*this.currentBatchSize*this.vertSize);c.bufferSubData(c.ARRAY_BUFFER,0,e)}for(var f,g,h,i,j=0,k=0,l=null,m=this.renderSession.blendModeManager.currentBlendMode,n=null,o=!1,p=!1,q=0,r=this.currentBatchSize;q0&&(s=!1),(l!==f&&!s||o||p)&&(this.renderBatch(l,j,k),k=q,j=0,l=f,o&&(m=g,this.renderSession.blendModeManager.setBlendMode(m)),p)){n=h,a=n.shaders[c.id],a||(a=new b.PixiShader(c),a.fragmentSrc=n.fragmentSrc,a.uniforms=n.uniforms,a.init(),n.shaders[c.id]=a),this.renderSession.shaderManager.setShader(a),a.dirty&&a.syncUniforms();var t=this.renderSession.projection;c.uniform2f(a.projectionVector,t.x,t.y);var u=this.renderSession.offset;c.uniform2f(a.offsetVector,u.x,u.y)}j++}this.renderBatch(l,j,k),this.currentBatchSize=0}},b.WebGLSpriteBatch.prototype.renderBatch=function(a,b,c){if(0!==b){var d=this.gl;if(a._dirty[d.id]){if(!this.renderSession.renderer.updateTexture(a))return}else d.bindTexture(d.TEXTURE_2D,a._glTextures[d.id]);d.drawElements(d.TRIANGLES,6*b,d.UNSIGNED_SHORT,6*c*2),this.renderSession.drawCount++}},b.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},b.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},b.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},b.WebGLFastSpriteBatch=function(a){this.vertSize=10,this.maxSize=6e3,this.size=this.maxSize;var c=4*this.size*this.vertSize,d=6*this.maxSize;this.vertices=new b.Float32Array(c),this.indices=new b.Uint16Array(d),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var e=0,f=0;e=this.size&&this.flush()}},b.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a=this.gl;if(this.currentBaseTexture._glTextures[a.id]||this.renderSession.renderer.updateTexture(this.currentBaseTexture,a),a.bindTexture(a.TEXTURE_2D,this.currentBaseTexture._glTextures[a.id]),this.currentBatchSize>.5*this.size)a.bufferSubData(a.ARRAY_BUFFER,0,this.vertices);else{var b=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);a.bufferSubData(a.ARRAY_BUFFER,0,b)}a.drawElements(a.TRIANGLES,6*this.currentBatchSize,a.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}},b.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.start=function(){var a=this.gl;a.activeTexture(a.TEXTURE0),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var b=this.renderSession.projection;a.uniform2f(this.shader.projectionVector,b.x,b.y),a.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var c=4*this.vertSize;a.vertexAttribPointer(this.shader.aVertexPosition,2,a.FLOAT,!1,c,0),a.vertexAttribPointer(this.shader.aPositionCoord,2,a.FLOAT,!1,c,8),a.vertexAttribPointer(this.shader.aScale,2,a.FLOAT,!1,c,16),a.vertexAttribPointer(this.shader.aRotation,1,a.FLOAT,!1,c,24),a.vertexAttribPointer(this.shader.aTextureCoord,2,a.FLOAT,!1,c,28),a.vertexAttribPointer(this.shader.colorAttribute,1,a.FLOAT,!1,c,36)},b.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},b.WebGLFilterManager.prototype.constructor=b.WebGLFilterManager,b.WebGLFilterManager.prototype.setContext=function(a){this.gl=a,this.texturePool=[],this.initShaderBuffers()},b.WebGLFilterManager.prototype.begin=function(a,b){this.renderSession=a,this.defaultShader=a.shaderManager.defaultShader;var c=this.renderSession.projection;this.width=2*c.x,this.height=2*-c.y,this.buffer=b},b.WebGLFilterManager.prototype.pushFilter=function(a){var c=this.gl,d=this.renderSession.projection,e=this.renderSession.offset;a._filterArea=a.target.filterArea||a.target.getBounds(),a._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new b.WebGLStencilManager,this.renderSession.stencilManager.setContext(c),c.disable(c.STENCIL_TEST),this.filterStack.push(a);var f=a.filterPasses[0];this.offsetX+=a._filterArea.x,this.offsetY+=a._filterArea.y;var g=this.texturePool.pop();g?g.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):g=new b.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),c.bindTexture(c.TEXTURE_2D,g.texture);var h=a._filterArea,i=f.padding;h.x-=i,h.y-=i,h.width+=2*i,h.height+=2*i,h.x<0&&(h.x=0),h.width>this.width&&(h.width=this.width),h.y<0&&(h.y=0),h.height>this.height&&(h.height=this.height),c.bindFramebuffer(c.FRAMEBUFFER,g.frameBuffer),c.viewport(0,0,h.width*this.renderSession.resolution,h.height*this.renderSession.resolution),d.x=h.width/2,d.y=-h.height/2,e.x=-h.x,e.y=-h.y,c.colorMask(!0,!0,!0,!0),c.clearColor(0,0,0,0),c.clear(c.COLOR_BUFFER_BIT),a._glFilterTexture=g},b.WebGLFilterManager.prototype.popFilter=function(){var a=this.gl,c=this.filterStack.pop(),d=c._filterArea,e=c._glFilterTexture,f=this.renderSession.projection,g=this.renderSession.offset;if(c.filterPasses.length>1){a.viewport(0,0,d.width*this.renderSession.resolution,d.height*this.renderSession.resolution),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=d.height,this.vertexArray[2]=d.width,this.vertexArray[3]=d.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=d.width,this.vertexArray[7]=0,a.bufferSubData(a.ARRAY_BUFFER,0,this.vertexArray),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=d.width/this.width,this.uvArray[5]=d.height/this.height,this.uvArray[6]=d.width/this.width,this.uvArray[7]=d.height/this.height,a.bufferSubData(a.ARRAY_BUFFER,0,this.uvArray);var h=e,i=this.texturePool.pop();i||(i=new b.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),i.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),a.bindFramebuffer(a.FRAMEBUFFER,i.frameBuffer),a.clear(a.COLOR_BUFFER_BIT),a.disable(a.BLEND);for(var j=0;j0?a.enable(a.STENCIL_TEST):a.disable(a.STENCIL_TEST),this.applyFilterPass(m,d,n,o),this.texturePool.push(e),c._glFilterTexture=null},b.WebGLFilterManager.prototype.applyFilterPass=function(a,c,d,e){var f=this.gl,g=a.shaders[f.id];g||(g=new b.PixiShader(f),g.fragmentSrc=a.fragmentSrc,g.uniforms=a.uniforms,g.init(),a.shaders[f.id]=g),this.renderSession.shaderManager.setShader(g),f.uniform2f(g.projectionVector,d/2,-e/2),f.uniform2f(g.offsetVector,0,0),a.uniforms.dimensions&&(a.uniforms.dimensions.value[0]=this.width,a.uniforms.dimensions.value[1]=this.height,a.uniforms.dimensions.value[2]=this.vertexArray[0],a.uniforms.dimensions.value[3]=this.vertexArray[5]),g.syncUniforms(),f.bindBuffer(f.ARRAY_BUFFER,this.vertexBuffer),f.vertexAttribPointer(g.aVertexPosition,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ARRAY_BUFFER,this.uvBuffer),f.vertexAttribPointer(g.aTextureCoord,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ARRAY_BUFFER,this.colorBuffer),f.vertexAttribPointer(g.colorAttribute,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ELEMENT_ARRAY_BUFFER,this.indexBuffer),f.drawElements(f.TRIANGLES,6,f.UNSIGNED_SHORT,0),this.renderSession.drawCount++},b.WebGLFilterManager.prototype.initShaderBuffers=function(){var a=this.gl;this.vertexBuffer=a.createBuffer(),this.uvBuffer=a.createBuffer(),this.colorBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),this.vertexArray=new b.Float32Array([0,0,1,0,0,1,1,1]),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertexArray,a.STATIC_DRAW),this.uvArray=new b.Float32Array([0,0,1,0,0,1,1,1]),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),a.bufferData(a.ARRAY_BUFFER,this.uvArray,a.STATIC_DRAW),this.colorArray=new b.Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),a.bindBuffer(a.ARRAY_BUFFER,this.colorBuffer),a.bufferData(a.ARRAY_BUFFER,this.colorArray,a.STATIC_DRAW),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),a.STATIC_DRAW)},b.WebGLFilterManager.prototype.destroy=function(){var a=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var b=0;b=0;a--){var c=this._glTextures[a],d=b.glContexts[a];d&&c&&d.deleteTexture(c)}this._glTextures.length=0,this.dirty()},b.BaseTexture.fromCanvas=function(a,c){return 0===a.width&&(a.width=1),0===a.height&&(a.height=1),new b.BaseTexture(a,c)},b.TextureSilentFail=!1,b.Texture=function(a,c,d,e){this.noFrame=!1,c||(this.noFrame=!0,c=new b.Rectangle(0,0,1,1)),a instanceof b.Texture&&(a=a.baseTexture),this.baseTexture=a,this.frame=c,this.trim=e,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=d||new b.Rectangle(0,0,1,1),a.hasLoaded&&(this.noFrame&&(c=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(c))},b.Texture.prototype.constructor=b.Texture,b.Texture.prototype.onBaseTextureLoaded=function(){var a=this.baseTexture;this.noFrame&&(this.frame=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(this.frame)},b.Texture.prototype.destroy=function(a){a&&this.baseTexture.destroy(),this.valid=!1},b.Texture.prototype.setFrame=function(a){if(this.noFrame=!1,this.frame=a,this.width=a.width,this.height=a.height,this.crop.x=a.x,this.crop.y=a.y,this.crop.width=a.width,this.crop.height=a.height,!this.trim&&(a.x+a.width>this.baseTexture.width||a.y+a.height>this.baseTexture.height)){if(!b.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);return void(this.valid=!1)}this.valid=a&&a.width&&a.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs()},b.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new b.TextureUvs);var a=this.crop,c=this.baseTexture.width,d=this.baseTexture.height;this._uvs.x0=a.x/c,this._uvs.y0=a.y/d,this._uvs.x1=(a.x+a.width)/c,this._uvs.y1=a.y/d,this._uvs.x2=(a.x+a.width)/c,this._uvs.y2=(a.y+a.height)/d,this._uvs.x3=a.x/c,this._uvs.y3=(a.y+a.height)/d},b.Texture.fromCanvas=function(a,c){var d=b.BaseTexture.fromCanvas(a,c);return new b.Texture(d)},b.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},b.RenderTexture=function(a,c,d,e,f){if(this.width=a||100,this.height=c||100,this.resolution=f||1,this.frame=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.baseTexture=new b.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=e||b.scaleModes.DEFAULT,this.baseTexture.hasLoaded=!0,b.Texture.call(this,this.baseTexture,new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution)),this.renderer=d||b.defaultRenderer,this.renderer.type===b.WEBGL_RENDERER){var g=this.renderer.gl;this.baseTexture._dirty[g.id]=!1,this.textureBuffer=new b.FilterTexture(g,this.width,this.height,this.baseTexture.scaleMode), -this.baseTexture._glTextures[g.id]=this.textureBuffer.texture,this.render=this.renderWebGL,this.projection=new b.Point(.5*this.width,.5*-this.height)}else this.render=this.renderCanvas,this.textureBuffer=new b.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new Phaser.Matrix,this._updateUvs()},b.RenderTexture.prototype=Object.create(b.Texture.prototype),b.RenderTexture.prototype.constructor=b.RenderTexture,b.RenderTexture.prototype.resize=function(a,c,d){a===this.width&&c===this.height||(this.valid=a>0&&c>0,this.width=a,this.height=c,this.frame.width=this.crop.width=a*this.resolution,this.frame.height=this.crop.height=c*this.resolution,d&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===b.WEBGL_RENDERER&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},b.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===b.WEBGL_RENDERER&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},b.RenderTexture.prototype.renderWebGL=function(a,b,c){if(this.valid&&0!==a.alpha){var d=a.worldTransform;d.identity(),d.translate(0,2*this.projection.y),b&&d.append(b),d.scale(1,-1);for(var e=0;e0){var v=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,x=(j+k+l)/3,y=(m+n+o)/3,z=j-x,A=m-y,B=Math.sqrt(z*z+A*A);j=x+z/B*(B+v),m=y+A/B*(B+w),z=k-x,A=n-y,B=Math.sqrt(z*z+A*A),k=x+z/B*(B+v),n=y+A/B*(B+w),z=l-x,A=o-y,B=Math.sqrt(z*z+A*A),l=x+z/B*(B+v),o=y+A/B*(B+w)}a.save(),a.beginPath(),a.moveTo(j,m),a.lineTo(k,n),a.lineTo(l,o),a.closePath(),a.clip();var C=p*t+s*r+q*u-t*r-s*q-p*u,D=j*t+s*l+k*u-t*l-s*k-j*u,E=p*k+j*r+q*l-k*r-j*q-p*l,F=p*t*l+s*k*r+j*q*u-j*t*r-s*q*l-p*k*u,G=m*t+s*o+n*u-t*o-s*n-m*u,H=p*n+m*r+q*o-n*r-m*q-p*o,I=p*t*o+s*n*r+m*q*u-m*t*r-s*q*o-p*n*u;a.transform(D/C,G/C,E/C,H/C,F/C,I/C),a.drawImage(g,0,0),a.restore()},b.Strip.prototype.renderStripFlat=function(a){var b=this.context,c=a.vertices,d=c.length/2;this.count++,b.beginPath();for(var e=1;ej?s:j,k=t>k?t:k}if(l===-(1/0)||k===1/0)return b.EmptyRectangle;var u=this._bounds;return u.x=l,u.width=j-l,u.y=m,u.height=k-m,this._currentBounds=u,u},b.Strip.DrawModes={TRIANGLE_STRIP:0,TRIANGLES:1},b.Rope=function(a,c){b.Strip.call(this,a),this.points=c,this.vertices=new b.Float32Array(4*c.length),this.uvs=new b.Float32Array(4*c.length),this.colors=new b.Float32Array(2*c.length),this.indices=new b.Uint16Array(2*c.length),this.refresh()},b.Rope.prototype=Object.create(b.Strip.prototype),b.Rope.prototype.constructor=b.Rope,b.Rope.prototype.refresh=function(){var a=this.points;if(!(a.length<1)){var b=this.uvs,c=a[0],d=this.indices,e=this.colors;this.count-=.2,b[0]=0,b[1]=0,b[2]=0,b[3]=1,e[0]=1,e[1]=1,d[0]=0,d[1]=1;for(var f,g,h,i=a.length,j=1;j1&&(h=1),i=Math.sqrt(e.x*e.x+e.y*e.y),j=this.texture.height/2,e.x/=i,e.y/=i,e.x*=j,e.y*=j,k[g]=f.x+e.x,k[g+1]=f.y+e.y,k[g+2]=f.x-e.x,k[g+3]=f.y-e.y,d=f;b.DisplayObjectContainer.prototype.updateTransform.call(this)}},b.Rope.prototype.setTexture=function(a){this.texture=a},b.TilingSprite=function(a,c,d){b.Sprite.call(this,a),this._width=c||128,this._height=d||128,this.tileScale=new b.Point(1,1),this.tileScaleOffset=new b.Point(1,1),this.tilePosition=new b.Point,this.renderable=!0,this.tint=16777215,this.textureDebug=!1,this.blendMode=b.blendModes.NORMAL,this.canvasBuffer=null,this.tilingTexture=null,this.tilePattern=null,this.refreshTexture=!0,this.frameWidth=0,this.frameHeight=0},b.TilingSprite.prototype=Object.create(b.Sprite.prototype),b.TilingSprite.prototype.constructor=b.TilingSprite,b.TilingSprite.prototype.setTexture=function(a){this.texture!==a&&(this.texture=a,this.refreshTexture=!0,this.cachedTint=16777215)},b.TilingSprite.prototype._renderWebGL=function(a){if(this.visible&&this.renderable&&0!==this.alpha){if(this._mask&&(a.spriteBatch.stop(),a.maskManager.pushMask(this.mask,a),a.spriteBatch.start()),this._filters&&(a.spriteBatch.flush(),a.filterManager.pushFilter(this._filterBlock)),this.refreshTexture){if(this.generateTilingTexture(!0,a),!this.tilingTexture)return;this.tilingTexture.needsUpdate&&(a.renderer.updateTexture(this.tilingTexture.baseTexture),this.tilingTexture.needsUpdate=!1)}a.spriteBatch.renderTilingSprite(this);for(var b=0;bv?n:v,v=p>v?p:v,v=r>v?r:v,v=t>v?t:v,w=o>w?o:w,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w;var z=this._bounds;return z.x=x,z.width=v-x,z.y=y,z.height=w-y,this._currentBounds=z,z},b.TilingSprite.prototype.destroy=function(){b.Sprite.prototype.destroy.call(this),this.canvasBuffer&&(this.canvasBuffer.destroy(),this.canvasBuffer=null),this.tileScale=null,this.tileScaleOffset=null,this.tilePosition=null,this.tilingTexture&&(this.tilingTexture.destroy(!0),this.tilingTexture=null)},Object.defineProperty(b.TilingSprite.prototype,"width",{get:function(){return this._width},set:function(a){this._width=a}}),Object.defineProperty(b.TilingSprite.prototype,"height",{get:function(){return this._height},set:function(a){this._height=a}}),"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=b),exports.PIXI=b):"undefined"!=typeof define&&define.amd?define("PIXI",function(){return a.PIXI=b}()):a.PIXI=b,b}.call(this),function(){function a(a,b){this._scaleFactor=a,this._deltaMode=b,this.originalEvent=null}var b=this,c=c||{VERSION:"2.6.2",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,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||{}};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;e0&&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);i0&&(this._radius=.5*d),this.type=c.CIRCLE},c.Circle.prototype={circumference:function(){return 2*(Math.PI*this._radius)},random:function(a){void 0===a&&(a=new c.Point);var b=2*Math.PI*Math.random(),d=Math.random()+Math.random(),e=d>1?2-d:d,f=e*Math.cos(b),g=e*Math.sin(b);return a.x=this.x+f*this.radius,a.y=this.y+g*this.radius,a},getBounds:function(){return new c.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(a,b,c){return this.x=a,this.y=b,this._diameter=c,this._radius=.5*c,this},copyFrom:function(a){return this.setTo(a.x,a.y,a.diameter)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.diameter=this._diameter,a},distance:function(a,b){var d=c.Math.distance(this.x,this.y,a.x,a.y);return b?Math.round(d):d},clone:function(a){return void 0===a||null===a?a=new c.Circle(this.x,this.y,this.diameter):a.setTo(this.x,this.y,this.diameter),a},contains:function(a,b){return c.Circle.contains(this,a,b)},circumferencePoint:function(a,b,d){return c.Circle.circumferencePoint(this,a,b,d)},offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},c.Circle.prototype.constructor=c.Circle,Object.defineProperty(c.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(a){a>0&&(this._diameter=a,this._radius=.5*a)}}),Object.defineProperty(c.Circle.prototype,"radius",{get:function(){return this._radius},set:function(a){a>0&&(this._radius=a,this._diameter=2*a)}}),Object.defineProperty(c.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(a){a>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-a}}),Object.defineProperty(c.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(a){athis.y?(this._radius=0,this._diameter=0):this.radius=this.y-a}}),Object.defineProperty(c.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(a){a0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(c.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(a){a===!0&&this.setTo(0,0,0)}}),c.Circle.contains=function(a,b,c){if(a.radius>0&&b>=a.left&&b<=a.right&&c>=a.top&&c<=a.bottom){var d=(a.x-b)*(a.x-b),e=(a.y-c)*(a.y-c);return d+e<=a.radius*a.radius}return!1},c.Circle.equals=function(a,b){return a.x===b.x&&a.y===b.y&&a.diameter===b.diameter},c.Circle.intersects=function(a,b){return c.Math.distance(a.x,a.y,b.x,b.y)<=a.radius+b.radius},c.Circle.circumferencePoint=function(a,b,d,e){return void 0===d&&(d=!1),void 0===e&&(e=new c.Point),d===!0&&(b=c.Math.degToRad(b)),e.x=a.x+a.radius*Math.cos(b),e.y=a.y+a.radius*Math.sin(b),e},c.Circle.intersectsRectangle=function(a,b){var c=Math.abs(a.x-b.x-b.halfWidth),d=b.halfWidth+a.radius;if(c>d)return!1;var e=Math.abs(a.y-b.y-b.halfHeight),f=b.halfHeight+a.radius;if(e>f)return!1;if(c<=b.halfWidth||e<=b.halfHeight)return!0;var g=c-b.halfWidth,h=e-b.halfHeight,i=g*g,j=h*h,k=a.radius*a.radius;return i+j<=k},PIXI.Circle=c.Circle,c.Ellipse=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.ELLIPSE},c.Ellipse.prototype={setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},getBounds:function(){return new c.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},clone:function(a){return void 0===a||null===a?a=new c.Ellipse(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a},contains:function(a,b){return c.Ellipse.contains(this,a,b)},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random()*Math.PI*2,d=Math.random();return a.x=Math.sqrt(d)*Math.cos(b),a.y=Math.sqrt(d)*Math.sin(b),a.x=this.x+a.x*this.width/2,a.y=this.y+a.y*this.height/2,a},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},c.Ellipse.prototype.constructor=c.Ellipse,Object.defineProperty(c.Ellipse.prototype,"left",{get:function(){return this.x},set:function(a){this.x=a}}),Object.defineProperty(c.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(a){a=c&&a<=d&&b>=e&&b<=f},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random();return a.x=this.start.x+b*(this.end.x-this.start.x),a.y=this.start.y+b*(this.end.y-this.start.y),a},coordinatesOnLine:function(a,b){void 0===a&&(a=1),void 0===b&&(b=[]);var c=Math.round(this.start.x),d=Math.round(this.start.y),e=Math.round(this.end.x),f=Math.round(this.end.y),g=Math.abs(e-c),h=Math.abs(f-d),i=c-h&&(k-=h,c+=i),m=0&&p<=1&&q>=0&&q<=1?g:null}return g},c.Line.intersects=function(a,b,d,e){return c.Line.intersectsPoints(a.start,a.end,b.start,b.end,d,e)},c.Line.intersectsRectangle=function(a,b){if(!c.Rectangle.intersects(a,b))return!1;var d=a.start.x,e=a.start.y,f=a.end.x,g=a.end.y,h=b.x,i=b.y,j=b.right,k=b.bottom,l=0;if(d>=h&&d<=j&&e>=i&&e<=k||f>=h&&f<=j&&g>=i&&g<=k)return!0;if(d=h){if(l=e+(g-e)*(h-d)/(f-d),l>i&&l<=k)return!0}else if(d>j&&f<=j&&(l=e+(g-e)*(j-d)/(f-d),l>=i&&l<=k))return!0;if(e=i){if(l=d+(f-d)*(i-e)/(g-e),l>=h&&l<=j)return!0}else if(e>k&&g<=k&&(l=d+(f-d)*(k-e)/(g-e),l>=h&&l<=j))return!0;return!1},c.Line.reflect=function(a,b){return 2*b.normalAngle-3.141592653589793-a.angle},c.Matrix=function(a,b,d,e,f,g){void 0!==a&&null!==a||(a=1),void 0!==b&&null!==b||(b=0),void 0!==d&&null!==d||(d=0),void 0!==e&&null!==e||(e=1),void 0!==f&&null!==f||(f=0),void 0!==g&&null!==g||(g=0),this.a=a,this.b=b,this.c=d,this.d=e,this.tx=f,this.ty=g,this.type=c.MATRIX},c.Matrix.prototype={fromArray:function(a){return this.setTo(a[0],a[1],a[3],a[4],a[2],a[5])},setTo:function(a,b,c,d,e,f){return this.a=a,this.b=b,this.c=c,this.d=d,this.tx=e,this.ty=f,this},clone:function(a){return void 0===a||null===a?a=new c.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(a.a=this.a,a.b=this.b,a.c=this.c,a.d=this.d,a.tx=this.tx,a.ty=this.ty),a},copyTo:function(a){return a.copyFrom(this),a},copyFrom:function(a){return this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.tx=a.tx,this.ty=a.ty,this},toArray:function(a,b){return void 0===b&&(b=new PIXI.Float32Array(9)),a?(b[0]=this.a,b[1]=this.b,b[2]=0,b[3]=this.c,b[4]=this.d,b[5]=0,b[6]=this.tx,b[7]=this.ty,b[8]=1):(b[0]=this.a,b[1]=this.c,b[2]=this.tx,b[3]=this.b,b[4]=this.d,b[5]=this.ty,b[6]=0,b[7]=0,b[8]=1),b},apply:function(a,b){return void 0===b&&(b=new c.Point),b.x=this.a*a.x+this.c*a.y+this.tx,b.y=this.b*a.x+this.d*a.y+this.ty,b},applyInverse:function(a,b){void 0===b&&(b=new c.Point);var d=1/(this.a*this.d+this.c*-this.b),e=a.x,f=a.y;return b.x=this.d*d*e+-this.c*d*f+(this.ty*this.c-this.tx*this.d)*d,b.y=this.a*d*f+-this.b*d*e+(-this.ty*this.a+this.tx*this.b)*d,b},translate:function(a,b){return this.tx+=a,this.ty+=b,this},scale:function(a,b){return this.a*=a,this.d*=b, -this.c*=a,this.b*=b,this.tx*=a,this.ty*=b,this},rotate:function(a){var b=Math.cos(a),c=Math.sin(a),d=this.a,e=this.c,f=this.tx;return this.a=d*b-this.b*c,this.b=d*c+this.b*b,this.c=e*b-this.d*c,this.d=e*c+this.d*b,this.tx=f*b-this.ty*c,this.ty=f*c+this.ty*b,this},append:function(a){var b=this.a,c=this.b,d=this.c,e=this.d;return this.a=a.a*b+a.b*d,this.b=a.a*c+a.b*e,this.c=a.c*b+a.d*d,this.d=a.c*c+a.d*e,this.tx=a.tx*b+a.ty*d+this.tx,this.ty=a.tx*c+a.ty*e+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},c.identityMatrix=new c.Matrix,PIXI.Matrix=c.Matrix,PIXI.identityMatrix=c.identityMatrix,c.Point=function(a,b){a=a||0,b=b||0,this.x=a,this.y=b,this.type=c.POINT},c.Point.prototype={copyFrom:function(a){return this.setTo(a.x,a.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},set:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},add:function(a,b){return this.x+=a,this.y+=b,this},subtract:function(a,b){return this.x-=a,this.y-=b,this},multiply:function(a,b){return this.x*=a,this.y*=b,this},divide:function(a,b){return this.x/=a,this.y/=b,this},clampX:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this},clampY:function(a,b){return this.y=c.Math.clamp(this.y,a,b),this},clamp:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this.y=c.Math.clamp(this.y,a,b),this},clone:function(a){return void 0===a||null===a?a=new c.Point(this.x,this.y):a.setTo(this.x,this.y),a},copyTo:function(a){return a.x=this.x,a.y=this.y,a},distance:function(a,b){return c.Point.distance(this,a,b)},equals:function(a){return a.x===this.x&&a.y===this.y},angle:function(a,b){return void 0===b&&(b=!1),b?c.Math.radToDeg(Math.atan2(a.y-this.y,a.x-this.x)):Math.atan2(a.y-this.y,a.x-this.x)},rotate:function(a,b,d,e,f){return c.Point.rotate(this,a,b,d,e,f)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(a){return this.normalize().multiply(a,a)},normalize:function(){if(!this.isZero()){var a=this.getMagnitude();this.x/=a,this.y/=a}return this},isZero:function(){return 0===this.x&&0===this.y},dot:function(a){return this.x*a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(this.y*-1,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},c.Point.prototype.constructor=c.Point,c.Point.add=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x+b.x,d.y=a.y+b.y,d},c.Point.subtract=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x-b.x,d.y=a.y-b.y,d},c.Point.multiply=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x*b.x,d.y=a.y*b.y,d},c.Point.divide=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x/b.x,d.y=a.y/b.y,d},c.Point.equals=function(a,b){return a.x===b.x&&a.y===b.y},c.Point.angle=function(a,b){return Math.atan2(a.y-b.y,a.x-b.x)},c.Point.negative=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.x,-a.y)},c.Point.multiplyAdd=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+b.x*d,a.y+b.y*d)},c.Point.interpolate=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+(b.x-a.x)*d,a.y+(b.y-a.y)*d)},c.Point.perp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.y,a.x)},c.Point.rperp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(a.y,-a.x)},c.Point.distance=function(a,b,d){var e=c.Math.distance(a.x,a.y,b.x,b.y);return d?Math.round(e):e},c.Point.project=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b)/b.getMagnitudeSq();return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.projectUnit=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b);return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.normalRightHand=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(a.y*-1,a.x)},c.Point.normalize=function(a,b){void 0===b&&(b=new c.Point);var d=a.getMagnitude();return 0!==d&&b.setTo(a.x/d,a.y/d),b},c.Point.rotate=function(a,b,d,e,f,g){if(f&&(e=c.Math.degToRad(e)),void 0===g){a.subtract(b,d);var h=Math.sin(e),i=Math.cos(e),j=i*a.x-h*a.y,k=h*a.x+i*a.y;a.x=j+b,a.y=k+d}else{var l=e+Math.atan2(a.y-d,a.x-b);a.x=b+g*Math.cos(l),a.y=d+g*Math.sin(l)}return a},c.Point.centroid=function(a,b){if(void 0===b&&(b=new c.Point),"[object Array]"!==Object.prototype.toString.call(a))throw new Error("Phaser.Point. Parameter 'points' must be an array");var d=a.length;if(d<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===d)return b.copyFrom(a[0]),b;for(var e=0;e0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=c.POLYGON},c.Polygon.prototype={toNumberArray:function(a){void 0===a&&(a=[]);for(var b=0;b0){Array.isArray(a)||(a=Array.prototype.slice.call(arguments));for(var b=Number.MAX_VALUE,c=0,d=a.length;c=this.right?this.width=0:this.width=this.right-a,this.x=a}}),Object.defineProperty(c.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(a){a<=this.x?this.width=0:this.width=a-this.x}}),Object.defineProperty(c.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(c.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(c.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(a){this.x=a-this.halfWidth}}),Object.defineProperty(c.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(a){this.y=a-this.halfHeight}}),Object.defineProperty(c.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(c.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(c.Rectangle.prototype,"top",{get:function(){return this.y},set:function(a){a>=this.bottom?(this.height=0,this.y=a):this.height=this.bottom-a}}),Object.defineProperty(c.Rectangle.prototype,"topLeft",{get:function(){return new c.Point(this.x,this.y)},set:function(a){this.x=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"topRight",{get:function(){return new c.Point(this.x+this.width,this.y)},set:function(a){this.right=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(a){a===!0&&this.setTo(0,0,0,0)}}),c.Rectangle.prototype.constructor=c.Rectangle,c.Rectangle.inflate=function(a,b,c){return a.x-=b,a.width+=2*b,a.y-=c,a.height+=2*c,a},c.Rectangle.inflatePoint=function(a,b){return c.Rectangle.inflate(a,b.x,b.y)},c.Rectangle.size=function(a,b){return void 0===b||null===b?b=new c.Point(a.width,a.height):b.setTo(a.width,a.height),b},c.Rectangle.clone=function(a,b){return void 0===b||null===b?b=new c.Rectangle(a.x,a.y,a.width,a.height):b.setTo(a.x,a.y,a.width,a.height),b},c.Rectangle.contains=function(a,b,c){return!(a.width<=0||a.height<=0)&&(b>=a.x&&b=a.y&&c=a&&e=b&&fb.volume)&&(a.x>=b.x&&a.y>=b.y&&a.rightb.right||a.y>b.bottom)},c.Rectangle.intersectsRaw=function(a,b,c,d,e,f){return void 0===f&&(f=0),!(b>a.right+f||ca.bottom+f||ed&&(d=a.x),a.xf&&(f=a.y),a.y=c&&a<=c+this.width){var d=this.y;if(b>=d&&b<=d+this.height)return!0}return!1}},c.RoundedRectangle.prototype.constructor=c.RoundedRectangle,PIXI.RoundedRectangle=c.RoundedRectangle,c.Camera=function(a,b,d,e,f,g){this.game=a,this.world=a.world,this.id=0,this.view=new c.Rectangle(d,e,f,g),this.bounds=new c.Rectangle(d,e,f,g),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new c.Point(1,1),this.onShakeComplete=new c.Signal,this.onFlashComplete=new c.Signal,this.onFadeComplete=new c.Signal,this.fx=null,this._targetPosition=new c.Point,this._edge=0,this._position=new c.Point,this._shake={intensity:0,duration:0,horizontal:!1,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){return void 0===a&&(a=16777215),void 0===b&&(b=500),void 0===c&&(c=!1),!(!this.fx||!c&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(a),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){return void 0===a&&(a=0),void 0===b&&(b=500),void 0===c&&(c=!1),!(!this.fx||!c&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(a),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._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var a=this.view.x+this._shake.x,b=this.view.right+this._shake.x,c=this.view.y+this._shake.y,d=this.view.bottom+this._shake.y;a<=this.bounds.x*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)),b>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),c<=this.bounds.top*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)),d>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(a,b){this.view.x=a,this.view.y=b,this.bounds&&this.checkBounds()},setSize:function(a,b){this.view.width=a,this.view.height=b},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this.resetFX()},resetFX:function(){this.fx.clear(),this.fx.alpha=0,this._fxDuration=0}},c.Camera.prototype.constructor=c.Camera,Object.defineProperty(c.Camera.prototype,"x",{get:function(){return this.view.x},set:function(a){this.view.x=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"y",{get:function(){return this.view.y},set:function(a){this.view.y=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(a){"undefined"!=typeof a.x&&(this.view.x=a.x),"undefined"!=typeof a.y&&(this.view.y=a.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"width",{get:function(){return this.view.width},set:function(a){this.view.width=a}}),Object.defineProperty(c.Camera.prototype,"height",{get:function(){return this.view.height},set:function(a){this.view.height=a}}),Object.defineProperty(c.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(a){this._shake.intensity=a}}),c.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},c.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},c.State.prototype.constructor=c.State,c.StateManager=function(a,b){this.game=a,this.states={},this._pendingState=null,"undefined"!=typeof b&&null!==b&&(this._pendingState=b),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new c.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},c.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(a,b,d){void 0===d&&(d=!1);var e;return b instanceof c.State?e=b:"object"==typeof b?(e=b,e.game=this.game):"function"==typeof b&&(e=new b(this.game)),this.states[a]=e,d&&(this.game.isBooted?this.start(a):this._pendingState=a),e},remove:function(a){this.current===a&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[a]},start:function(a,b,c){void 0===b&&(b=!0),void 0===c&&(c=!1),this.checkState(a)&&(this._pendingState=a,this._clearWorld=b,this._clearCache=c,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!1),this._pendingState=this.current,this._clearWorld=a,this._clearCache=b,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var a=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,a),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(a){return this.states[a]?!!(this.states[a].preload||this.states[a].create||this.states[a].update||this.states[a].render)||(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+a),!1)},link:function(a){this.states[a].game=this.game,this.states[a].add=this.game.add,this.states[a].make=this.game.make,this.states[a].camera=this.game.camera,this.states[a].cache=this.game.cache,this.states[a].input=this.game.input,this.states[a].load=this.game.load,this.states[a].math=this.game.math,this.states[a].sound=this.game.sound,this.states[a].scale=this.game.scale,this.states[a].state=this,this.states[a].stage=this.game.stage,this.states[a].time=this.game.time,this.states[a].tweens=this.game.tweens,this.states[a].world=this.game.world,this.states[a].particles=this.game.particles,this.states[a].rnd=this.game.rnd,this.states[a].physics=this.game.physics,this.states[a].key=a},unlink:function(a){this.states[a]&&(this.states[a].game=null,this.states[a].add=null,this.states[a].make=null,this.states[a].camera=null,this.states[a].cache=null,this.states[a].input=null,this.states[a].load=null,this.states[a].math=null,this.states[a].sound=null,this.states[a].scale=null,this.states[a].state=null,this.states[a].stage=null,this.states[a].time=null,this.states[a].tweens=null,this.states[a].world=null,this.states[a].particles=null,this.states[a].rnd=null,this.states[a].physics=null)},setCurrentState:function(a){this.callbackContext=this.states[a],this.link(a),this.onInitCallback=this.states[a].init||this.dummy,this.onPreloadCallback=this.states[a].preload||null,this.onLoadRenderCallback=this.states[a].loadRender||null,this.onLoadUpdateCallback=this.states[a].loadUpdate||null,this.onCreateCallback=this.states[a].create||null,this.onUpdateCallback=this.states[a].update||null,this.onPreRenderCallback=this.states[a].preRender||null,this.onRenderCallback=this.states[a].render||null,this.onResizeCallback=this.states[a].resize||null,this.onPausedCallback=this.states[a].paused||null,this.onResumedCallback=this.states[a].resumed||null,this.onPauseUpdateCallback=this.states[a].pauseUpdate||null,this.onShutDownCallback=this.states[a].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=a,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),a===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){this._created===!1&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),this._created===!1&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(a){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,a)},resize:function(a,b){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,a,b)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===c.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},c.StateManager.prototype.constructor=c.StateManager,Object.defineProperty(c.StateManager.prototype,"created",{get:function(){return this._created}}),c.Signal=function(){},c.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(a,b){if("function"!=typeof a)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",b))},_registerListener:function(a,b,d,e,f){var g,h=this._indexOfListener(a,d);if(h!==-1){if(g=this._bindings[h],g.isOnce()!==b)throw new Error("You cannot add"+(b?"":"Once")+"() then add"+(b?"Once":"")+"() the same listener without removing the relationship first.")}else g=new c.SignalBinding(this,a,b,d,e,f),this._addBinding(g);return this.memorize&&this._prevParams&&g.execute(this._prevParams),g},_addBinding:function(a){this._bindings||(this._bindings=[]);var b=this._bindings.length;do b--;while(this._bindings[b]&&a._priority<=this._bindings[b]._priority);this._bindings.splice(b+1,0,a)},_indexOfListener:function(a,b){if(!this._bindings)return-1;void 0===b&&(b=null);for(var c,d=this._bindings.length;d--;)if(c=this._bindings[d],c._listener===a&&c.context===b)return d;return-1},has:function(a,b){return this._indexOfListener(a,b)!==-1},add:function(a,b,c){this.validateListener(a,"add");var d=[];if(arguments.length>3)for(var e=3;e3)for(var e=3;e=this.children.length?-1:this.getChildAt(a)},c.Group.prototype.create=function(a,b,c,d,e,f){void 0===e&&(e=!0);var g=new this.classType(this.game,a,b,c,d);return g.exists=e,g.visible=e,g.alive=e,this.add(g,!1,f)},c.Group.prototype.createMultiple=function(a,b,c,d){void 0===c&&(c=0),void 0===d&&(d=!1),Array.isArray(b)||(b=[b]),Array.isArray(c)||(c=[c]);var e=this,f=[];return b.forEach(function(b){c.forEach(function(c){for(var g=0;gthis.children.length||a===-1&&b===-1)return!1;for(var h=new c.Rectangle(0,0,d,e),i=a*d,j=b*e,k=g;kthis.children.length-1&&(a=0),this.cursor)return this.cursorIndex=a,this.cursor=this.children[this.cursorIndex],this.cursor};c.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},c.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},c.Group.prototype.swap=function(a,b){this.swapChildren(a,b),this.updateZ()},c.Group.prototype.bringToTop=function(a){return a.parent===this&&this.getIndex(a)0&&(this.remove(a,!1,!0),this.addAt(a,0,!0)),a},c.Group.prototype.moveUp=function(a){if(a.parent===this&&this.getIndex(a)0){var b=this.getIndex(a),c=this.getAt(b-1);c&&this.swap(a,c)}return a},c.Group.prototype.xy=function(a,b,c){return a<0||a>this.children.length?-1:(this.getChildAt(a).x=b,void(this.getChildAt(a).y=c))},c.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},c.Group.prototype.getIndex=function(a){return this.children.indexOf(a)},c.Group.prototype.getByName=function(a){for(var b=0;b0))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;g2){c=[];for(var d=2;d2){e=[];for(var f=2;f2){d=[null];for(var e=2;e2){d=[null];for(var e=2;e2){d=[null];for(var e=2;eb[this._sortProperty]?1:a.zb[this._sortProperty]?-1:0},c.Group.prototype.iterate=function(a,b,d,e,f,g){if(0===this.children.length){if(d===c.Group.RETURN_TOTAL)return 0;if(d===c.Group.RETURN_ALL)return[]}var h=0;if(d===c.Group.RETURN_ALL)var i=[];for(var j=0;j0)return this.children[this.children.length-1]},c.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},c.Group.prototype.getClosestTo=function(a,b,d){for(var e=Number.MAX_VALUE,f=0,g=null,h=0;he&&(!b||b.call(d,i,f))&&(e=f,g=i))}return g},c.Group.prototype.countLiving=function(){return this.iterate("alive",!0,c.Group.RETURN_TOTAL)},c.Group.prototype.countDead=function(){return this.iterate("alive",!1,c.Group.RETURN_TOTAL)},c.Group.prototype.getRandom=function(a,b){return void 0===a&&(a=0),void 0===b&&(b=this.children.length),0===b?null:c.ArrayUtils.getRandomItem(this.children,a,b)},c.Group.prototype.getRandomExists=function(a,b){var c=this.getAll("exists",!0,a,b);return this.game.rnd.pick(c)},c.Group.prototype.getAll=function(a,b,c,d){void 0===c&&(c=0),void 0===d&&(d=this.children.length);for(var e=[],f=c;f0&&a instanceof c.Group){do a.add(this.children[0],b);while(this.children.length>0);this.hash=[],this.cursor=null}return a},c.Group.prototype.removeAll=function(a,b,c){if(void 0===a&&(a=!1),void 0===b&&(b=!1),void 0===c&&(c=!1),0!==this.children.length){do{!b&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var d=this.removeChild(this.children[0]);this.removeFromHash(d),a&&d&&d.destroy(!0,c)}while(this.children.length>0);this.hash=[],this.cursor=null}},c.Group.prototype.removeBetween=function(a,b,c,d){if(void 0===b&&(b=this.children.length-1),void 0===c&&(c=!1),void 0===d&&(d=!1),0!==this.children.length){if(a>b||a<0||b>this.children.length)return!1;for(var e=b;e>=a;){!d&&this.children[e].events&&this.children[e].events.onRemovedFromGroup$dispatch(this.children[e],this);var f=this.removeChild(this.children[e]);this.removeFromHash(f),c&&f&&f.destroy(!0),this.cursor===this.children[e]&&(this.cursor=null),e--}this.updateZ()}},c.Group.prototype.destroy=function(a,b){null===this.game||this.ignoreDestroy||(void 0===a&&(a=!0),void 0===b&&(b=!1),this.onDestroy.dispatch(this,a,b),this.removeAll(a),this.cursor=null,this.filters=null,this.pendingDestroy=!1,b||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(c.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,c.Group.RETURN_TOTAL)}}),Object.defineProperty(c.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(c.Group.prototype,"angle",{get:function(){return c.Math.radToDeg(this.rotation)},set:function(a){this.rotation=c.Math.degToRad(a)}}),Object.defineProperty(c.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(a){var b=this.getBounds(this.parent),c=this.x-b.x;this.x=a+c-b.halfWidth}}),Object.defineProperty(c.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(a){var b=this.getBounds(this.parent),c=this.y-b.y;this.y=a+c-b.halfHeight}}),Object.defineProperty(c.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(a){var b=this.getBounds(this.parent),c=this.x-b.x;this.x=a+c}}),Object.defineProperty(c.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(a){var b=this.getBounds(this.parent),c=this.x-b.x;this.x=a+c-b.width}}),Object.defineProperty(c.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(a){var b=this.getBounds(this.parent),c=this.y-b.y;this.y=a+c}}),Object.defineProperty(c.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(a){var b=this.getBounds(this.parent),c=this.y-b.y;this.y=a+c-b.height}}),c.World=function(a){c.Group.call(this,a,null,"__world",!1),this.bounds=new c.Rectangle(0,0,a.width,a.height),this.camera=null,this._definedSize=!1,this._width=a.width,this._height=a.height,this.game.state.onStateChange.add(this.stateChange,this)},c.World.prototype=Object.create(c.Group.prototype),c.World.prototype.constructor=c.World,c.World.prototype.boot=function(){this.camera=new c.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},c.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},c.World.prototype.setBounds=function(a,b,c,d){this._definedSize=!0,this._width=c,this._height=d,this.bounds.setTo(a,b,c,d),this.x=a,this.y=b,this.camera.bounds&&this.camera.bounds.setTo(a,b,Math.max(c,this.game.width),Math.max(d,this.game.height)),this.game.physics.setBoundsToWorld()},c.World.prototype.resize=function(a,b){this._definedSize&&(athis.bounds.right&&(a.x=this.bounds.left)),e&&(a.y+a._currentBounds.heightthis.bounds.bottom&&(a.y=this.bounds.top))):(d&&a.x+bthis.bounds.right&&(a.x=this.bounds.left-b),e&&a.y+bthis.bounds.bottom&&(a.y=this.bounds.top-b))},Object.defineProperty(c.World.prototype,"width",{get:function(){return this.bounds.width},set:function(a){a1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var b=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*b,this.time.elapsed),0);var c=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/b),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=b&&(this._deltaTime-=b,this.currentUpdateID=c,this.updateLogic(this.time.desiredFpsMult),c++,!this.forceSingleUpdate||1!==c);)this.time.refresh();c>this._lastCount?this._spiraling++:c=c.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+c.Input.MAX_POINTERS+" pointers reached."),null;var a=this.pointers.length+1,b=new c.Pointer(this.game,a,c.PointerMode.TOUCH);return this.pointers.push(b),this["pointer"+a]=b,b},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(a);if(!this.pointer2.active)return this.pointer2.start(a);for(var b=2;b0;c++){var d=this.pointers[c];d.active&&b--}return a-b},getPointer:function(a){void 0===a&&(a=!1);for(var b=0;b=g&&this._localPoint.x=h&&this._localPoint.y=g&&this._localPoint.x=h&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(a){return a=a||250,this.isUp&&this.timeUp+a>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},c.DeviceButton.prototype.constructor=c.DeviceButton,Object.defineProperty(c.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),c.Pointer=function(a,b,d){this.game=a,this.id=b,this.type=c.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=d||c.PointerMode.CURSOR|c.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new c.DeviceButton(this,c.Pointer.LEFT_BUTTON),this.middleButton=new c.DeviceButton(this,c.Pointer.MIDDLE_BUTTON),this.rightButton=new c.DeviceButton(this,c.Pointer.RIGHT_BUTTON),this.backButton=new c.DeviceButton(this,c.Pointer.BACK_BUTTON),this.forwardButton=new c.DeviceButton(this,c.Pointer.FORWARD_BUTTON),this.eraserButton=new c.DeviceButton(this,c.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===b,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new c.Point,this.positionDown=new c.Point,this.positionUp=new c.Point,this.circle=new c.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},c.Pointer.NO_BUTTON=0,c.Pointer.LEFT_BUTTON=1,c.Pointer.RIGHT_BUTTON=2,c.Pointer.MIDDLE_BUTTON=4,c.Pointer.BACK_BUTTON=8,c.Pointer.FORWARD_BUTTON=16,c.Pointer.ERASER_BUTTON=32,c.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(a,b){c.Pointer.LEFT_BUTTON&a&&this.leftButton.start(b),c.Pointer.RIGHT_BUTTON&a&&this.rightButton.start(b),c.Pointer.MIDDLE_BUTTON&a&&this.middleButton.start(b),c.Pointer.BACK_BUTTON&a&&this.backButton.start(b),c.Pointer.FORWARD_BUTTON&a&&this.forwardButton.start(b),c.Pointer.ERASER_BUTTON&a&&this.eraserButton.start(b)},processButtonsUp:function(a,b){a===c.Mouse.LEFT_BUTTON&&this.leftButton.stop(b),a===c.Mouse.RIGHT_BUTTON&&this.rightButton.stop(b),a===c.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(b),a===c.Mouse.BACK_BUTTON&&this.backButton.stop(b),a===c.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(b),5===a&&this.eraserButton.stop(b)},updateButtons:function(a){this.button=a.button;var b="down"===a.type.toLowerCase().substr(-4);void 0!==a.buttons?b?this.processButtonsDown(a.buttons,a):this.processButtonsUp(a.button,a):b?this.leftButton.start(a):(this.leftButton.stop(a),this.rightButton.stop(a)),1===a.buttons&&a.ctrlKey&&this.leftButton.isDown&&(this.leftButton.stop(a),this.rightButton.start(a)),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(a){var b=this.game.input;return a.pointerId&&(this.pointerId=a.pointerId),this.identifier=a.identifier,this.target=a.target,this.isMouse?this.updateButtons(a):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(a,!0),this.positionDown.setTo(this.x,this.y),(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.x=this.x,b.y=this.y,b.position.setTo(this.x,this.y),b.onDown.dispatch(this,a),b.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var a=this.game.input;this.active&&(this.dirty&&(a.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),this._holdSent===!1&&this.duration>=a.holdRate&&((a.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||a.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||a.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===a.totalActivePointers)&&a.onHold.dispatch(this), -this._holdSent=!0),a.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+a.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>a.recordLimit&&this._history.shift()))},move:function(a,b){var d=this.game.input;if(!d.pollLocked){if(void 0===b&&(b=!1),void 0!==a.button&&(this.button=a.button),b&&this.isMouse&&this.updateButtons(a),this.clientX=a.clientX,this.clientY=a.clientY,this.pageX=a.pageX,this.pageY=a.pageY,this.screenX=a.screenX,this.screenY=a.screenY,this.isMouse&&d.mouse.locked&&!b&&(this.rawMovementX=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.rawMovementY=a.movementY||a.mozMovementY||a.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*d.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*d.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(d.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||d.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||d.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===d.totalActivePointers)&&(d.activePointer=this,d.x=this.x,d.y=this.y,d.position.setTo(d.x,d.y),d.circle.x=d.x,d.circle.y=d.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY),this.game.paused)return this;for(var e=d.moveCallbacks.length;e--;)d.moveCallbacks[e].callback.call(d.moveCallbacks[e].context,this,this.x,this.y,b);return null!==this.targetObject&&this.targetObject.isDragged===!0?this.targetObject.update(this)===!1&&(this.targetObject=null):d.interactiveItems.total>0&&this.processInteractiveObjects(b),this}},processInteractiveObjects:function(a){var b=0,c=-1,d=null,e=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];e;)e.checked=!1,e.validForInput(c,b,!1)&&(e.checked=!0,(a&&e.checkPointerDown(this,!0)||!a&&e.checkPointerOver(this,!0))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e,this.interactiveCandidates.push(e))),e=this.game.input.interactiveItems.next;for(e=this.game.input.interactiveItems.first;e;)!e.checked&&e.validForInput(c,b,!0)&&(a&&e.checkPointerDown(this,!1)||!a&&e.checkPointerOver(this,!1))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e,this.interactiveCandidates.push(e)),e=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(d=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,d)),this.swapTarget(d,!1),null!==this.targetObject},swapTarget:function(a,b){void 0===b&&(b=!1),null===a?this.targetObject&&(this.targetObject._pointerOutHandler(this,b),this.targetObject=null):null===this.targetObject?(this.targetObject=a,a._pointerOverHandler(this,b)):this.targetObject===a?a.update(this)===!1&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,b),this.targetObject=a,this.targetObject._pointerOverHandler(this,b))},leave:function(a){this.withinGame=!1,this.move(a,!1)},stop:function(a){var b=this.game.input;return this._stateReset&&this.withinGame?void a.preventDefault():(this.timeUp=this.game.time.time,(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.onUp.dispatch(this,a),this.duration>=0&&this.duration<=b.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(a.pageX,a.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),this.isMouse===!1&&b.currentPointers--,b.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this)},justPressed:function(a){return a=a||this.game.input.justPressedRate,this.isDown===!0&&this.timeDown+a>this.game.time.time},justReleased:function(a){return a=a||this.game.input.justReleasedRate,this.isUp&&this.timeUp+a>this.game.time.time},addClickTrampoline:function(a,b,c,d){if(this.isDown){for(var e=this._clickTrampolines=this._clickTrampolines||[],f=0;fa||this.priorityID===a&&this.sprite.renderOrderID>b))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(a){return a=a||0,this._pointerData[a].x},pointerY:function(a){return a=a||0,this._pointerData[a].y},pointerDown:function(a){return a=a||0,this._pointerData[a].isDown},pointerUp:function(a){return a=a||0,this._pointerData[a].isUp},pointerTimeDown:function(a){return a=a||0,this._pointerData[a].timeDown},pointerTimeUp:function(a){return a=a||0,this._pointerData[a].timeUp},pointerOver:function(a){if(!this.enabled)return!1;if(void 0===a){for(var b=0;b<10;b++)if(this._pointerData[b].isOver)return!0;return!1}return this._pointerData[a].isOver},pointerOut:function(a){if(!this.enabled)return!1;if(void 0!==a)return this._pointerData[a].isOut;for(var b=0;b<10;b++)if(this._pointerData[b].isOut)return!0},pointerTimeOver:function(a){return a=a||0,this._pointerData[a].timeOver},pointerTimeOut:function(a){return a=a||0,this._pointerData[a].timeOut},pointerDragged:function(a){return a=a||0,this._pointerData[a].isDragged},checkPointerDown:function(a,b){return!!(a.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,a,this._tempPoint)&&(void 0===b&&(b=!1),!(!b&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(a,b){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,a,this._tempPoint)&&(void 0===b&&(b=!1),!(!b&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(a,b,c){if(this.sprite.texture.baseTexture.source){if(null===a&&null===b){this.game.input.getLocalPosition(this.sprite,c,this._tempPoint);var a=this._tempPoint.x,b=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(a-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(b-=-this.sprite.texture.frame.height*this.sprite.anchor.y),a+=this.sprite.texture.frame.x,b+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(a-=this.sprite.texture.trim.x,b-=this.sprite.texture.trim.y,athis.sprite.texture.crop.right||bthis.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=this.globalToLocalX(a.x)+this._dragPoint.x+this.dragOffset.x,d=this.globalToLocalY(a.y)+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=c),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=d),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var e=this.game.camera.x-this._pointerData[a.id].camX,f=this.game.camera.y-this._pointerData[a.id].camY;this.allowHorizontalDrag&&(this.sprite.x=c+e),this.allowVerticalDrag&&(this.sprite.y=d+f),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,a,c,d,this.snapPoint,b),!0},justOver:function(a,b){return a=a||0,b=b||500,this._pointerData[a].isOver&&this.overDuration(a)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},c.InputHandler.prototype.constructor=c.InputHandler,c.Gamepad=function(a){this.game=a,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||navigator.userAgent.indexOf("Firefox/")!==-1||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this)]},c.Gamepad.prototype={addCallbacks:function(a,b){"undefined"!=typeof b&&(this.onConnectCallback="function"==typeof b.onConnect?b.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof b.onDisconnect?b.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof b.onDown?b.onDown:this.onDownCallback,this.onUpCallback="function"==typeof b.onUp?b.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof b.onAxis?b.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof b.onFloat?b.onFloat:this.onFloatCallback,this.callbackContext=a)},start:function(){if(!this._active){this._active=!0;var a=this;this._onGamepadConnected=function(b){return a.onGamepadConnected(b)},this._onGamepadDisconnected=function(b){return a.onGamepadDisconnected(b)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(a){var b=a.gamepad;this._rawPads.push(b),this._gamepads[b.index].connect(b)},onGamepadDisconnected:function(a){var b=a.gamepad;for(var c in this._rawPads)this._rawPads[c].index===b.index&&this._rawPads.splice(c,1);this._gamepads[b.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)var a=navigator.getGamepads();else if(navigator.webkitGetGamepads)var a=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var a=navigator.webkitGamepads();if(a){this._rawPads=[];for(var b=!1,c=0;c0&&d>this.deadZone||d<0&&d<-this.deadZone?this.processAxisChange(c,d):this.processAxisChange(c,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(a){var b=!this.connected;this.connected=!0,this.index=a.index,this._rawPad=a,this._buttons=[],this._buttonsLen=a.buttons.length,this._axes=[],this._axesLen=a.axes.length;for(var d=0;dthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(a){return this.alive&&(this.health+=a,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},c.Component.InCamera=function(){},c.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},c.Component.InputEnabled=function(){},c.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(a){a?null===this.input?(this.input=new c.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},c.Component.InWorld=function(){},c.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},c.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},c.Component.LifeSpan=function(){},c.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},c.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(a){return void 0===a&&(a=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(a),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},c.Component.LoadTexture=function(){},c.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(a,b,d){a===c.PENDING_ATLAS?(a=b,b=0):b=b||0,(d||void 0===d)&&this.animations&&this.animations.stop(),this.key=a,this.customRender=!1;var e=this.game.cache,f=!0,g=!this.texture.baseTexture.scaleMode;if(c.RenderTexture&&a instanceof c.RenderTexture)this.key=a.key,this.setTexture(a);else if(c.BitmapData&&a instanceof c.BitmapData)this.customRender=!0,this.setTexture(a.texture),f=e.hasFrameData(a.key,c.Cache.BITMAPDATA)?!this.animations.loadFrameData(e.getFrameData(a.key,c.Cache.BITMAPDATA),b):!this.animations.loadFrameData(a.frameData,0);else if(c.Video&&a instanceof c.Video){this.customRender=!0;var h=a.texture.valid;this.setTexture(a.texture),this.setFrame(a.texture.frame.clone()),a.onChangeSource.add(this.resizeFrame,this),this.texture.valid=h}else if(c.Tilemap&&a instanceof c.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(a.canvas));else if(a instanceof PIXI.Texture)this.setTexture(a);else{var i=e.getImage(a,!0);this.key=i.key,this.setTexture(new PIXI.Texture(i.base)),"__default"===a?this.texture.baseTexture.skipRender=!0:this.texture.baseTexture.skipRender=!1,f=!this.animations.loadFrameData(i.frameData,b)}f&&(this._frame=c.Rectangle.clone(this.texture.frame)),g||(this.texture.baseTexture.scaleMode=1)},setFrame:function(a){this._frame=a,this.texture.frame.x=a.x,this.texture.frame.y=a.y,this.texture.frame.width=a.width,this.texture.frame.height=a.height,this.texture.crop.x=a.x,this.texture.crop.y=a.y,this.texture.crop.width=a.width,this.texture.crop.height=a.height,a.trimmed?(this.texture.trim?(this.texture.trim.x=a.spriteSourceSizeX,this.texture.trim.y=a.spriteSourceSizeY,this.texture.trim.width=a.sourceSizeW,this.texture.trim.height=a.sourceSizeH):this.texture.trim={x:a.spriteSourceSizeX,y:a.spriteSourceSizeY,width:a.sourceSizeW,height:a.sourceSizeH},this.texture.width=a.sourceSizeW,this.texture.height=a.sourceSizeH,this.texture.frame.width=a.sourceSizeW,this.texture.frame.height=a.sourceSizeH):!a.trimmed&&this.texture.trim&&(this.texture.trim=null),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(a,b,c){this.texture.frame.resize(b,c),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(a){this.animations.frame=a}},frameName:{get:function(){return this.animations.frameName},set:function(a){this.animations.frameName=a}}},c.Component.Overlap=function(){},c.Component.Overlap.prototype={overlap:function(a){return c.Rectangle.intersects(this.getBounds(),a.getBounds())}},c.Component.PhysicsBody=function(){},c.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},c.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},c.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(a){this.position.x=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(a){this.position.y=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},c.Component.Reset=function(){},c.Component.Reset.prototype.reset=function(a,b,c){return void 0===c&&(c=1),this.world.set(a,b),this.position.set(a,b),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=c),this.components.PhysicsBody&&this.body&&this.body.reset(a,b,!1,!1),this},c.Component.ScaleMinMax=function(){},c.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(a){this.scaleMin&&(a.athis.scaleMax.x&&(a.a=this.scaleMax.x),a.d>this.scaleMax.y&&(a.d=this.scaleMax.y))},setScaleMinMax:function(a,b,d,e){void 0===b?b=d=e=a:void 0===d&&(d=e=b,b=a),null===a?this.scaleMin=null:this.scaleMin?this.scaleMin.set(a,b):this.scaleMin=new c.Point(a,b),null===d?this.scaleMax=null:this.scaleMax?this.scaleMax.set(d,e):this.scaleMax=new c.Point(d,e),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},c.Component.Smoothed=function(){},c.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(a){a?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},c.GameObjectFactory=function(a){this.game=a,this.world=this.game.world},c.GameObjectFactory.prototype={existing:function(a){return this.world.add(a)},weapon:function(a,b,d,e){var f=this.game.plugins.add(c.Weapon);return f.createBullets(a,b,d,e),f},image:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Image(this.game,a,b,d,e))},sprite:function(a,b,c,d,e){return void 0===e&&(e=this.world),e.create(a,b,c,d)},creature:function(a,b,d,e,f){void 0===f&&(f=this.world);var g=new c.Creature(this.game,a,b,d,e);return f.add(g),g},tween:function(a){return this.game.tweens.create(a)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},physicsGroup:function(a,b,d,e){return new c.Group(this.game,b,d,e,(!0),a)},spriteBatch:function(a,b,d){return void 0===a&&(a=null),void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},tileSprite:function(a,b,d,e,f,g,h){return void 0===h&&(h=this.world),h.add(new c.TileSprite(this.game,a,b,d,e,f,g))},rope:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.Rope(this.game,a,b,d,e,f))},text:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Text(this.game,a,b,d,e))},button:function(a,b,d,e,f,g,h,i,j,k){ -return void 0===k&&(k=this.world),k.add(new c.Button(this.game,a,b,d,e,f,g,h,i,j))},graphics:function(a,b,d){return void 0===d&&(d=this.world),d.add(new c.Graphics(this.game,a,b))},emitter:function(a,b,d){return this.game.particles.add(new c.Particles.Arcade.Emitter(this.game,a,b,d))},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.BitmapText(this.game,a,b,d,e,f))},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){void 0!==d&&""!==d||(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},video:function(a,b){return new c.Video(this.game,a,b)},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),void 0!==d&&""!==d||(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a},plugin:function(a){return this.game.plugins.add(a)}},c.GameObjectFactory.prototype.constructor=c.GameObjectFactory,c.GameObjectCreator=function(a){this.game=a,this.world=this.game.world},c.GameObjectCreator.prototype={image:function(a,b,d,e){return new c.Image(this.game,a,b,d,e)},sprite:function(a,b,d,e){return new c.Sprite(this.game,a,b,d,e)},tween:function(a){return new c.Tween(a,this.game,this.game.tweens)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},spriteBatch:function(a,b,d){return void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},tileSprite:function(a,b,d,e,f,g){return new c.TileSprite(this.game,a,b,d,e,f,g)},rope:function(a,b,d,e,f){return new c.Rope(this.game,a,b,d,e,f)},text:function(a,b,d,e){return new c.Text(this.game,a,b,d,e)},button:function(a,b,d,e,f,g,h,i,j){return new c.Button(this.game,a,b,d,e,f,g,h,i,j)},graphics:function(a,b){return new c.Graphics(this.game,a,b)},emitter:function(a,b,d){return new c.Particles.Arcade.Emitter(this.game,a,b,d)},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return new c.BitmapText(this.game,a,b,d,e,f,g)},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){void 0!==d&&""!==d||(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),void 0!==d&&""!==d||(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a}},c.GameObjectCreator.prototype.constructor=c.GameObjectCreator,c.Sprite=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.SPRITE,this.physicsType=c.SPRITE,PIXI.Sprite.call(this,c.Cache.DEFAULT),c.Component.Core.init.call(this,a,b,d,e,f)},c.Sprite.prototype=Object.create(PIXI.Sprite.prototype),c.Sprite.prototype.constructor=c.Sprite,c.Component.Core.install.call(c.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Sprite.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Sprite.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Sprite.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Sprite.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},c.Image=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.IMAGE,PIXI.Sprite.call(this,c.Cache.DEFAULT),c.Component.Core.init.call(this,a,b,d,e,f)},c.Image.prototype=Object.create(PIXI.Sprite.prototype),c.Image.prototype.constructor=c.Image,c.Component.Core.install.call(c.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),c.Image.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Image.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Image.prototype.preUpdate=function(){return!!this.preUpdateInWorld()&&this.preUpdateCore()},c.Button=function(a,b,d,e,f,g,h,i,j,k){b=b||0,d=d||0,e=e||null,f=f||null,g=g||this,c.Image.call(this,a,b,d,e,i),this.type=c.BUTTON,this.physicsType=c.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new c.Signal,this.onInputOut=new c.Signal,this.onInputDown=new c.Signal,this.onInputUp=new c.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=c.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(h,i,j,k),null!==f&&this.onInputUp.add(f,g),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},c.Button.prototype=Object.create(c.Image.prototype),c.Button.prototype.constructor=c.Button;var g="Over",h="Out",i="Down",j="Up";c.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},c.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},c.Button.prototype.setStateFrame=function(a,b,c){var d="_on"+a+"Frame";null!==b?(this[d]=b,c&&this.changeStateFrame(a)):this[d]=null},c.Button.prototype.changeStateFrame=function(a){if(this.freezeFrames)return!1;var b="_on"+a+"Frame",c=this[b];return"string"==typeof c?(this.frameName=c,!0):"number"==typeof c&&(this.frame=c,!0)},c.Button.prototype.setFrames=function(a,b,c,d){this.setStateFrame(g,a,this.input.pointerOver()),this.setStateFrame(h,b,!this.input.pointerOver()),this.setStateFrame(i,c,this.input.pointerDown()),this.setStateFrame(j,d,this.input.pointerUp())},c.Button.prototype.setStateSound=function(a,b,d){var e="on"+a+"Sound",f="on"+a+"SoundMarker";b instanceof c.Sound||b instanceof c.AudioSprite?(this[e]=b,this[f]="string"==typeof d?d:""):(this[e]=null,this[f]="")},c.Button.prototype.playStateSound=function(a){var b="on"+a+"Sound",c=this[b];if(c){var d="on"+a+"SoundMarker",e=this[d];return c.play(e),!0}return!1},c.Button.prototype.setSounds=function(a,b,c,d,e,f,k,l){this.setStateSound(g,a,b),this.setStateSound(h,e,f),this.setStateSound(i,c,d),this.setStateSound(j,k,l)},c.Button.prototype.setOverSound=function(a,b){this.setStateSound(g,a,b)},c.Button.prototype.setOutSound=function(a,b){this.setStateSound(h,a,b)},c.Button.prototype.setDownSound=function(a,b){this.setStateSound(i,a,b)},c.Button.prototype.setUpSound=function(a,b){this.setStateSound(j,a,b)},c.Button.prototype.onInputOverHandler=function(a,b){b.justReleased()&&(this.justReleasedPreventsOver&b.pointerMode)===b.pointerMode||(this.changeStateFrame(g),this.onOverMouseOnly&&!b.isMouse||(this.playStateSound(g),this.onInputOver&&this.onInputOver.dispatch(this,b)))},c.Button.prototype.onInputOutHandler=function(a,b){this.changeStateFrame(h),this.playStateSound(h),this.onInputOut&&this.onInputOut.dispatch(this,b)},c.Button.prototype.onInputDownHandler=function(a,b){this.changeStateFrame(i),this.playStateSound(i),this.onInputDown&&this.onInputDown.dispatch(this,b)},c.Button.prototype.onInputUpHandler=function(a,b,c){if(this.playStateSound(j),this.onInputUp&&this.onInputUp.dispatch(this,b,c),!this.freezeFrames)if(this.forceOut===!0||(this.forceOut&b.pointerMode)===b.pointerMode)this.changeStateFrame(h);else{var d=this.changeStateFrame(j);d||(c?this.changeStateFrame(g):this.changeStateFrame(h))}},c.SpriteBatch=function(a,b,d,e){void 0!==b&&null!==b||(b=a.world),PIXI.SpriteBatch.call(this),c.Group.call(this,a,b,d,e),this.type=c.SPRITEBATCH},c.SpriteBatch.prototype=c.Utils.extend(!0,c.SpriteBatch.prototype,PIXI.SpriteBatch.prototype,c.Group.prototype),c.SpriteBatch.prototype.constructor=c.SpriteBatch,c.BitmapData=function(a,b,d,e,f){void 0!==d&&0!==d||(d=256),void 0!==e&&0!==e||(e=256),void 0===f&&(f=!1),this.game=a,this.key=b,this.width=d,this.height=e,this.canvas=c.Canvas.create(this,d,e,null,f),this.context=this.canvas.getContext("2d",{alpha:!0}),this.ctx=this.context,this.smoothProperty=a.renderType===c.CANVAS?a.renderer.renderSession.smoothProperty:c.Canvas.getSmoothingPrefix(this.context),this.imageData=this.context.getImageData(0,0,d,e),this.data=null,this.imageData&&(this.data=this.imageData.data),this.pixels=null,this.data&&(this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data),this.baseTexture=new PIXI.BaseTexture(this.canvas),this.texture=new PIXI.Texture(this.baseTexture),this.frameData=new c.FrameData,this.textureFrame=this.frameData.addFrame(new c.Frame(0,0,0,d,e,"bitmapData")),this.texture.frame=this.textureFrame,this.type=c.BITMAPDATA,this.disableTextureUpload=!1,this.dirty=!1,this.cls=this.clear,this._image=null,this._pos=new c.Point,this._size=new c.Point,this._scale=new c.Point,this._rotate=0,this._alpha={prev:1,current:1},this._anchor=new c.Point,this._tempR=0,this._tempG=0,this._tempB=0,this._circle=new c.Circle,this._swapCanvas=void 0},c.BitmapData.prototype={move:function(a,b,c){return 0!==a&&this.moveH(a,c),0!==b&&this.moveV(b,c),this},moveH:function(a,b){void 0===b&&(b=!0),void 0===this._swapCanvas&&(this._swapCanvas=PIXI.CanvasPool.create(this,this.width,this.height));var c=this._swapCanvas,d=c.getContext("2d"),e=this.height,f=this.canvas;if(d.clearRect(0,0,this.width,this.height),a<0){a=Math.abs(a);var g=this.width-a;b&&d.drawImage(f,0,0,a,e,g,0,a,e),d.drawImage(f,a,0,g,e,0,0,g,e)}else{var g=this.width-a;b&&d.drawImage(f,g,0,a,e,0,0,a,e),d.drawImage(f,0,0,g,e,a,0,g,e)}return this.clear(),this.copy(this._swapCanvas)},moveV:function(a,b){void 0===b&&(b=!0),void 0===this._swapCanvas&&(this._swapCanvas=PIXI.CanvasPool.create(this,this.width,this.height));var c=this._swapCanvas,d=c.getContext("2d"),e=this.width,f=this.canvas;if(d.clearRect(0,0,this.width,this.height),a<0){a=Math.abs(a);var g=this.height-a;b&&d.drawImage(f,0,0,e,a,0,g,e,a),d.drawImage(f,0,a,e,g,0,0,e,g)}else{var g=this.height-a;b&&d.drawImage(f,0,g,e,a,0,0,e,a),d.drawImage(f,0,0,e,g,0,a,e,g)}return this.clear(),this.copy(this._swapCanvas)},add:function(a){if(Array.isArray(a))for(var b=0;b=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 instanceof PIXI.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||a.texture instanceof PIXI.RenderTexture?this._image=a.texture.getCanvas():this._image=a.texture.baseTexture.source,void 0!==g&&null!==g||(g=a.x),void 0!==h&&null!==h||(h=a.y),a.texture.trim&&(g+=a.texture.trim.x-a.anchor.x*a.texture.trim.width,h+=a.texture.trim.y-a.anchor.y*a.texture.trim.height),16777215!==a.tint&&(a.cachedTint!==a.tint&&(a.cachedTint=a.tint,a.tintedTexture=PIXI.CanvasTinter.getTintedTexture(a,a.tint)),this._image=a.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,a instanceof c.BitmapData)this._image=a.canvas;else if("string"==typeof a){if(a=this.game.cache.getImage(a),null===a)return;this._image=a}this._size.set(this._image.width,this._image.height)}if(void 0!==b&&null!==b||(b=0),void 0!==d&&null!==d||(d=0),e&&(this._size.x=e),f&&(this._size.y=f),void 0!==g&&null!==g||(g=b),void 0!==h&&null!==h||(h=d),void 0!==i&&null!==i||(i=this._size.x),void 0!==j&&null!==j||(j=this._size.y),"number"==typeof k&&(this._rotate=k),"number"==typeof l&&(this._anchor.x=l),"number"==typeof m&&(this._anchor.y=m),"number"==typeof n&&(this._scale.x=n),"number"==typeof o&&(this._scale.y=o),"number"==typeof p&&(this._alpha.current=p),void 0===q&&(q=null),void 0===r&&(r=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var s=this.context;return this._alpha.prev=s.globalAlpha,s.save(),s.globalAlpha=this._alpha.current,q&&(this.op=q),r&&(g|=0,h|=0),s.translate(g,h),s.scale(this._scale.x,this._scale.y),s.rotate(this._rotate),s.drawImage(this._image,this._pos.x+b,this._pos.y+d,this._size.x,this._size.y,-i*this._anchor.x,-j*this._anchor.y,i,j),s.restore(),s.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(a,b,d){if(void 0===b&&(b=null),void 0===d&&(d=!1),!a.hasOwnProperty("worldTransform")||!a.worldVisible||0===a.worldAlpha)return this;var e=a.worldTransform;if(this._pos.set(a.texture.crop.x,a.texture.crop.y),this._size.set(a.texture.crop.width,a.texture.crop.height),0===e.a||0===e.d||0===this._size.x||0===this._size.y)return this;a.texture instanceof c.RenderTexture||a.texture instanceof PIXI.RenderTexture?this._image=a.texture.getCanvas():this._image=a.texture.baseTexture.source;var f=e.tx,g=e.ty;a.texture.trim&&(f+=a.texture.trim.x-a.anchor.x*a.texture.trim.width,g+=a.texture.trim.y-a.anchor.y*a.texture.trim.height),16777215!==a.tint&&(a.cachedTint!==a.tint&&(a.cachedTint=a.tint,a.tintedTexture=PIXI.CanvasTinter.getTintedTexture(a,a.tint)),this._image=a.tintedTexture,this._pos.set(0)),d&&(f|=0,g|=0);var h=this.context;return this._alpha.prev=h.globalAlpha,h.save(),h.globalAlpha=this._alpha.current,b&&(this.op=b),h[this.smoothProperty]=a.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,h.setTransform(e.a,e.b,e.c,e.d,f,g),h.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*a.anchor.x,-this._size.y*a.anchor.y,this._size.x,this._size.y),h.restore(),h.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(a,b,c,d,e,f,g){return this.copy(a,b.x,b.y,b.width,b.height,c,d,b.width,b.height,0,0,0,1,1,e,f,g)},draw:function(a,b,c,d,e,f,g){return this.copy(a,null,null,null,null,b,c,d,e,null,null,null,null,null,null,f,g)},drawGroup:function(a,b,c){return a.total>0&&a.forEachExists(this.drawGroupProxy,this,b,c),this},drawGroupProxy:function(a,b,d){if(a.hasOwnProperty("texture")&&this.copyTransform(a,b,d),a.type===c.GROUP&&a.exists)this.drawGroup(a,b,d);else if(a.hasOwnProperty("children")&&a.children.length>0)for(var e=0;eb.width&&(e=b.width);var f=this.context;return f.fillStyle=f.createPattern(b,d),this._circle=new c.Circle(a.start.x,a.start.y,b.height),this._circle.circumferencePoint(a.angle-1.5707963267948966,!1,this._pos),f.save(),f.translate(this._pos.x,this._pos.y),f.rotate(a.angle),f.fillRect(0,0,e,b.height),f.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),PIXI.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this}},Object.defineProperty(c.BitmapData.prototype,"smoothed",{get:function(){c.Canvas.getSmoothingEnabled(this.context)},set:function(a){c.Canvas.setSmoothingEnabled(this.context,a)}}),Object.defineProperty(c.BitmapData.prototype,"op",{get:function(){return this.context.globalCompositeOperation},set:function(a){this.context.globalCompositeOperation=a}}),c.BitmapData.getTransform=function(a,b,c,d,e,f){return"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),"number"!=typeof c&&(c=1),"number"!=typeof d&&(d=1),"number"!=typeof e&&(e=0),"number"!=typeof f&&(f=0),{sx:c,sy:d,scaleX:c,scaleY:d,skewX:e,skewY:f,translateX:a,translateY:b,tx:a,ty:b}},c.BitmapData.prototype.constructor=c.BitmapData,PIXI.Graphics=function(){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 PIXI.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1},PIXI.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),PIXI.Graphics.prototype.constructor=PIXI.Graphics,PIXI.Graphics.prototype.lineStyle=function(a,b,c){return this.lineWidth=a||0,this.lineColor=b||0,this.lineAlpha=void 0===c?1:c,this.currentPath&&(this.currentPath.shape.points.length?this.drawShape(new PIXI.Polygon(this.currentPath.shape.points.slice(-2))):(this.currentPath.lineWidth=this.lineWidth,this.currentPath.lineColor=this.lineColor,this.currentPath.lineAlpha=this.lineAlpha)),this},PIXI.Graphics.prototype.moveTo=function(a,b){return this.drawShape(new PIXI.Polygon([a,b])),this},PIXI.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},PIXI.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},PIXI.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},PIXI.Graphics.prototype.arcTo=function(a,b,c,d,e){this.currentPath?0===this.currentPath.shape.points.length&&this.currentPath.shape.points.push(a,b):this.moveTo(a,b);var f=this.currentPath.shape.points,g=f[f.length-2],h=f[f.length-1],i=h-b,j=g-a,k=d-b,l=c-a,m=Math.abs(i*l-j*k);if(m<1e-8||0===e)f[f.length-2]===a&&f[f.length-1]===b||f.push(a,b);else{var n=i*i+j*j,o=k*k+l*l,p=i*k+j*l,q=e*Math.sqrt(n)/m,r=e*Math.sqrt(o)/m,s=q*p/n,t=r*p/o,u=q*l+r*j,v=q*k+r*i,w=j*(r+s),x=i*(r+s),y=l*(q+t),z=k*(q+t),A=Math.atan2(x-v,w-u),B=Math.atan2(z-v,y-u);this.arc(u+a,v+b,e,A,B,j*k>l*i)}return this.dirty=!0,this._boundsDirty=!0,this},PIXI.Graphics.prototype.arc=function(a,b,c,d,e,f,g){if(d===e)return this;void 0===f&&(f=!1),void 0===g&&(g=40),!f&&e<=d?e+=2*Math.PI:f&&d<=e&&(d+=2*Math.PI);var h=f?(d-e)*-1:e-d,i=Math.ceil(Math.abs(h)/(2*Math.PI))*g;if(0===h)return this;var j=a+Math.cos(d)*c,k=b+Math.sin(d)*c;f&&this.filling?this.moveTo(a,b):this.moveTo(j,k);for(var l=this.currentPath.shape.points,m=h/(2*i),n=2*m,o=Math.cos(m),p=Math.sin(m),q=i-1,r=q%1/q,s=0;s<=q;s++){var t=s+r*s,u=m+d+n*t,v=Math.cos(u),w=-Math.sin(u);l.push((o*v+p*w)*c+a,(o*-w+p*v)*c+b)}return this.dirty=!0,this._boundsDirty=!0,this},PIXI.Graphics.prototype.beginFill=function(a,b){return this.filling=!0,this.fillColor=a||0,this.fillAlpha=void 0===b?1:b,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},PIXI.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},PIXI.Graphics.prototype.drawRect=function(a,b,c,d){return this.drawShape(new PIXI.Rectangle(a,b,c,d)),this},PIXI.Graphics.prototype.drawRoundedRect=function(a,b,c,d,e){return this.drawShape(new PIXI.RoundedRectangle(a,b,c,d,e)),this},PIXI.Graphics.prototype.drawCircle=function(a,b,c){return this.drawShape(new PIXI.Circle(a,b,c)),this},PIXI.Graphics.prototype.drawEllipse=function(a,b,c,d){return this.drawShape(new PIXI.Ellipse(a,b,c,d)),this},PIXI.Graphics.prototype.drawPolygon=function(a){(a instanceof c.Polygon||a instanceof PIXI.Polygon)&&(a=a.points);var b=a;if(!Array.isArray(b)){b=new Array(arguments.length);for(var d=0;dv?p:v,v=r>v?r:v,v=t>v?t:v,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w,this._bounds.x=x,this._bounds.width=v-x,this._bounds.y=y,this._bounds.height=w-y,this._currentBounds=this._bounds}return this._currentBounds},PIXI.Graphics.prototype.getLocalBounds=function(){var a=this.worldTransform;this.worldTransform=PIXI.identityMatrix;for(var b=0;bb?h+j:b,d=ie?i+k:e;else if(n===PIXI.Graphics.CIRC)h=f.x,i=f.y,j=f.radius+o/2,k=f.radius+o/2,a=h-jb?h+j:b,d=i-ke?i+k:e;else if(n===PIXI.Graphics.ELIP)h=f.x,i=f.y,j=f.width+o/2,k=f.height+o/2,a=h-jb?h+j:b,d=i-ke?i+k:e;else{g=f.points;for(var p=0;pb?h+o:b,d=i-oe?i+o:e}}else a=0,b=0,d=0,e=0;var q=this.boundsPadding;this._localBounds.x=a-q,this._localBounds.width=b-a+2*q,this._localBounds.y=d-q,this._localBounds.height=e-d+2*q},PIXI.Graphics.prototype._generateCachedSprite=function(){var a=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(a.width,a.height);else{var b=new PIXI.CanvasBuffer(a.width,a.height),c=PIXI.Texture.fromCanvas(b.canvas);this._cachedSprite=new PIXI.Sprite(c),this._cachedSprite.buffer=b,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-(a.x/a.width),this._cachedSprite.anchor.y=-(a.y/a.height),this._cachedSprite.buffer.context.translate(-a.x,-a.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},PIXI.Graphics.prototype.updateCachedSpriteTexture=function(){var a=this._cachedSprite,b=a.texture,c=a.buffer.canvas;b.baseTexture.width=c.width,b.baseTexture.height=c.height,b.crop.width=b.frame.width=c.width,b.crop.height=b.frame.height=c.height,a._width=c.width,a._height=c.height,b.baseTexture.dirty()},PIXI.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},PIXI.Graphics.prototype.drawShape=function(a){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,a instanceof c.Polygon&&(a=a.clone(),a.flatten());var b=new PIXI.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,a);return this.graphicsData.push(b),b.type===PIXI.Graphics.POLY&&(b.shape.closed=this.filling,this.currentPath=b),this.dirty=!0,this._boundsDirty=!0,b},Object.defineProperty(PIXI.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(a){this._cacheAsBitmap=a,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),PIXI.GraphicsData=function(a,b,c,d,e,f,g){this.lineWidth=a,this.lineColor=b,this.lineAlpha=c,this._lineTint=b,this.fillColor=d,this.fillAlpha=e,this._fillTint=d,this.fill=f,this.shape=g,this.type=g.type},PIXI.GraphicsData.prototype.constructor=PIXI.GraphicsData,PIXI.GraphicsData.prototype.clone=function(){return new GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},PIXI.EarCut={},PIXI.EarCut.Triangulate=function(a,b,c){c=c||2;var d=b&&b.length,e=d?b[0]*c:a.length,f=PIXI.EarCut.linkedList(a,0,e,c,!0),g=[];if(!f)return g;var h,i,j,k,l,m,n;if(d&&(f=PIXI.EarCut.eliminateHoles(a,b,f,c)),a.length>80*c){h=j=a[0],i=k=a[1];for(var o=c;oj&&(j=l),m>k&&(k=m);n=Math.max(j-h,k-i)}return PIXI.EarCut.earcutLinked(f,g,c,h,i,n),g},PIXI.EarCut.linkedList=function(a,b,c,d,e){var f,g,h,i=0;for(f=b,g=c-d;f0)for(f=b;f=b;f-=d)h=PIXI.EarCut.insertNode(f,a[f],a[f+1],h);return h},PIXI.EarCut.filterPoints=function(a,b){if(!a)return a;b||(b=a);var c,d=a;do if(c=!1,d.steiner||!PIXI.EarCut.equals(d,d.next)&&0!==PIXI.EarCut.area(d.prev,d,d.next))d=d.next;else{if(PIXI.EarCut.removeNode(d),d=b=d.prev,d===d.next)return null;c=!0}while(c||d!==b);return b},PIXI.EarCut.earcutLinked=function(a,b,c,d,e,f,g){if(a){!g&&f&&PIXI.EarCut.indexCurve(a,d,e,f);for(var h,i,j=a;a.prev!==a.next;)if(h=a.prev,i=a.next,f?PIXI.EarCut.isEarHashed(a,d,e,f):PIXI.EarCut.isEar(a))b.push(h.i/c),b.push(a.i/c),b.push(i.i/c),PIXI.EarCut.removeNode(a),a=i.next,j=i.next;else if(a=i,a===j){g?1===g?(a=PIXI.EarCut.cureLocalIntersections(a,b,c),PIXI.EarCut.earcutLinked(a,b,c,d,e,f,2)):2===g&&PIXI.EarCut.splitEarcut(a,b,c,d,e,f):PIXI.EarCut.earcutLinked(PIXI.EarCut.filterPoints(a),b,c,d,e,f,1);break}}},PIXI.EarCut.isEar=function(a){var b=a.prev,c=a,d=a.next;if(PIXI.EarCut.area(b,c,d)>=0)return!1;for(var e=a.next.next;e!==a.prev;){if(PIXI.EarCut.pointInTriangle(b.x,b.y,c.x,c.y,d.x,d.y,e.x,e.y)&&PIXI.EarCut.area(e.prev,e,e.next)>=0)return!1;e=e.next}return!0},PIXI.EarCut.isEarHashed=function(a,b,c,d){var e=a.prev,f=a,g=a.next;if(PIXI.EarCut.area(e,f,g)>=0)return!1;for(var h=e.xf.x?e.x>g.x?e.x:g.x:f.x>g.x?f.x:g.x,k=e.y>f.y?e.y>g.y?e.y:g.y:f.y>g.y?f.y:g.y,l=PIXI.EarCut.zOrder(h,i,b,c,d),m=PIXI.EarCut.zOrder(j,k,b,c,d),n=a.nextZ;n&&n.z<=m;){if(n!==a.prev&&n!==a.next&&PIXI.EarCut.pointInTriangle(e.x,e.y,f.x,f.y,g.x,g.y,n.x,n.y)&&PIXI.EarCut.area(n.prev,n,n.next)>=0)return!1;n=n.nextZ}for(n=a.prevZ;n&&n.z>=l;){if(n!==a.prev&&n!==a.next&&PIXI.EarCut.pointInTriangle(e.x,e.y,f.x,f.y,g.x,g.y,n.x,n.y)&&PIXI.EarCut.area(n.prev,n,n.next)>=0)return!1;n=n.prevZ}return!0},PIXI.EarCut.cureLocalIntersections=function(a,b,c){var d=a;do{var e=d.prev,f=d.next.next;PIXI.EarCut.intersects(e,d,d.next,f)&&PIXI.EarCut.locallyInside(e,f)&&PIXI.EarCut.locallyInside(f,e)&&(b.push(e.i/c),b.push(d.i/c),b.push(f.i/c),PIXI.EarCut.removeNode(d),PIXI.EarCut.removeNode(d.next),d=a=f),d=d.next}while(d!==a);return d},PIXI.EarCut.splitEarcut=function(a,b,c,d,e,f){var g=a;do{for(var h=g.next.next;h!==g.prev;){if(g.i!==h.i&&PIXI.EarCut.isValidDiagonal(g,h)){var i=PIXI.EarCut.splitPolygon(g,h);return g=PIXI.EarCut.filterPoints(g,g.next),i=PIXI.EarCut.filterPoints(i,i.next),PIXI.EarCut.earcutLinked(g,b,c,d,e,f),void PIXI.EarCut.earcutLinked(i,b,c,d,e,f)}h=h.next}g=g.next}while(g!==a)},PIXI.EarCut.eliminateHoles=function(a,b,c,d){var e,f,g,h,i,j=[];for(e=0,f=b.length;e=d.next.y){var h=d.x+(f-d.y)*(d.next.x-d.x)/(d.next.y-d.y);h<=e&&h>g&&(g=h,c=d.x=d.x&&d.x>=c.x&&PIXI.EarCut.pointInTriangle(fc.x)&&PIXI.EarCut.locallyInside(d,a)&&(c=d,k=i)),d=d.next;return c},PIXI.EarCut.indexCurve=function(a,b,c,d){var e=a;do null===e.z&&(e.z=PIXI.EarCut.zOrder(e.x,e.y,b,c,d)),e.prevZ=e.prev,e.nextZ=e.next,e=e.next;while(e!==a);e.prevZ.nextZ=null,e.prevZ=null,PIXI.EarCut.sortLinked(e)},PIXI.EarCut.sortLinked=function(a){var b,c,d,e,f,g,h,i,j=1;do{for(c=a,a=null,f=null,g=0;c;){for(g++,d=c,h=0,b=0;b0||i>0&&d;)0===h?(e=d,d=d.nextZ,i--):0!==i&&d?c.z<=d.z?(e=c,c=c.nextZ,h--):(e=d,d=d.nextZ,i--):(e=c,c=c.nextZ,h--),f?f.nextZ=e:a=e,e.prevZ=f,f=e;c=d}f.nextZ=null,j*=2}while(g>1);return a},PIXI.EarCut.zOrder=function(a,b,c,d,e){return a=32767*(a-c)/e,b=32767*(b-d)/e,a=16711935&(a|a<<8),a=252645135&(a|a<<4),a=858993459&(a|a<<2),a=1431655765&(a|a<<1),b=16711935&(b|b<<8),b=252645135&(b|b<<4),b=858993459&(b|b<<2),b=1431655765&(b|b<<1),a|b<<1},PIXI.EarCut.getLeftmost=function(a){var b=a,c=a;do b.x=0&&(a-g)*(d-h)-(c-g)*(b-h)>=0&&(c-g)*(f-h)-(e-g)*(d-h)>=0},PIXI.EarCut.isValidDiagonal=function(a,b){return PIXI.EarCut.equals(a,b)||a.next.i!==b.i&&a.prev.i!==b.i&&!PIXI.EarCut.intersectsPolygon(a,b)&&PIXI.EarCut.locallyInside(a,b)&&PIXI.EarCut.locallyInside(b,a)&&PIXI.EarCut.middleInside(a,b)},PIXI.EarCut.area=function(a,b,c){return(b.y-a.y)*(c.x-b.x)-(b.x-a.x)*(c.y-b.y)},PIXI.EarCut.equals=function(a,b){return a.x===b.x&&a.y===b.y},PIXI.EarCut.intersects=function(a,b,c,d){return PIXI.EarCut.area(a,b,c)>0!=PIXI.EarCut.area(a,b,d)>0&&PIXI.EarCut.area(c,d,a)>0!=PIXI.EarCut.area(c,d,b)>0},PIXI.EarCut.intersectsPolygon=function(a,b){var c=a;do{if(c.i!==a.i&&c.next.i!==a.i&&c.i!==b.i&&c.next.i!==b.i&&PIXI.EarCut.intersects(c,c.next,a,b))return!0;c=c.next}while(c!==a);return!1},PIXI.EarCut.locallyInside=function(a,b){return PIXI.EarCut.area(a.prev,a,a.next)<0?PIXI.EarCut.area(a,b,a.next)>=0&&PIXI.EarCut.area(a,a.prev,b)>=0:PIXI.EarCut.area(a,b,a.prev)<0||PIXI.EarCut.area(a,a.next,b)<0},PIXI.EarCut.middleInside=function(a,b){var c=a,d=!1,e=(a.x+b.x)/2,f=(a.y+b.y)/2;do c.y>f!=c.next.y>f&&e<(c.next.x-c.x)*(f-c.y)/(c.next.y-c.y)+c.x&&(d=!d),c=c.next;while(c!==a);return d},PIXI.EarCut.splitPolygon=function(a,b){var c=new PIXI.EarCut.Node(a.i,a.x,a.y),d=new PIXI.EarCut.Node(b.i,b.x,b.y),e=a.next,f=b.prev;return a.next=b,b.prev=a,c.next=e,e.prev=c,d.next=c,c.prev=d,f.next=d,d.prev=f,d},PIXI.EarCut.insertNode=function(a,b,c,d){var e=new PIXI.EarCut.Node(a,b,c);return d?(e.next=d.next,e.prev=d,d.next.prev=e,d.next=e):(e.prev=e,e.next=e),e},PIXI.EarCut.removeNode=function(a){a.next.prev=a.prev,a.prev.next=a.next,a.prevZ&&(a.prevZ.nextZ=a.nextZ),a.nextZ&&(a.nextZ.prevZ=a.prevZ)},PIXI.EarCut.Node=function(a,b,c){this.i=a,this.x=b,this.y=c,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(a,b){var c,d=b.gl,e=b.projection,f=b.offset,g=b.shaderManager.primitiveShader;a.dirty&&PIXI.WebGLGraphics.updateGraphics(a,d);for(var h=a._webGL[d.id],i=0;i=PIXI.WebGLGraphics.stencilBufferLimit)if(g.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit){f=PIXI.WebGLGraphics.switchMode(c,0);var h=PIXI.WebGLGraphics.buildPoly(g,f);h||(f=PIXI.WebGLGraphics.switchMode(c,1),PIXI.WebGLGraphics.buildComplexPoly(g,f))}else f=PIXI.WebGLGraphics.switchMode(c,1),PIXI.WebGLGraphics.buildComplexPoly(g,f);g.lineWidth>0&&(f=PIXI.WebGLGraphics.switchMode(c,0),PIXI.WebGLGraphics.buildLine(g,f))}else f=PIXI.WebGLGraphics.switchMode(c,0),g.type===PIXI.Graphics.RECT?PIXI.WebGLGraphics.buildRectangle(g,f):g.type===PIXI.Graphics.CIRC||g.type===PIXI.Graphics.ELIP?PIXI.WebGLGraphics.buildCircle(g,f):g.type===PIXI.Graphics.RREC&&PIXI.WebGLGraphics.buildRoundedRectangle(g,f);c.lastIndex++}for(d=0;d19600?(u=q-s,v=r-t,E=Math.sqrt(u*u+v*v),u/=E,v/=E,u*=K,v*=K,F.push(m-u,n-v),F.push(N,O,P,M),F.push(m+u,n+v),F.push(N,O,P,M),F.push(m-u,n-v),F.push(N,O,P,M),I++):(F.push(i,j),F.push(N,O,P,M),F.push(m-(i-m),n-(j-n)),F.push(N,O,P,M)));for(k=d[2*(H-2)],l=d[2*(H-2)+1],m=d[2*(H-1)],n=d[2*(H-1)+1],q=-(l-n),r=k-m,E=Math.sqrt(q*q+r*r),q/=E,r/=E,q*=K,r*=K,F.push(m-q,n-r),F.push(N,O,P,M),F.push(m+q,n+r),F.push(N,O,P,M),G.push(J),c=0;ch?e:h,i=fj?f:j;c.push(g,i,h,i,h,j,g,j);var l=c.length/2;for(k=0;kA?A:z,b.beginPath(),b.moveTo(v,w+z),b.lineTo(v,w+y-z),b.quadraticCurveTo(v,w+y,v+z,w+y),b.lineTo(v+x-z,w+y),b.quadraticCurveTo(v+x,w+y,v+x,w+y-z),b.lineTo(v+x,w+z),b.quadraticCurveTo(v+x,w,v+x-z,w),b.lineTo(v+z,w),b.quadraticCurveTo(v,w,v,w+z),b.closePath(),(e.fillColor||0===e.fillColor)&&(b.globalAlpha=e.fillAlpha*c,b.fillStyle="#"+("00000"+(0|g).toString(16)).substr(-6),b.fill()),e.lineWidth&&(b.globalAlpha=e.lineAlpha*c,b.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),b.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(a,b){var c=a.graphicsData.length;if(0!==c){b.beginPath();for(var d=0;dy?y:x,b.moveTo(t,u+x),b.lineTo(t,u+w-x),b.quadraticCurveTo(t,u+w,t+x,u+w),b.lineTo(t+v-x,u+w),b.quadraticCurveTo(t+v,u+w,t+v,u+w-x),b.lineTo(t+v,u+x),b.quadraticCurveTo(t+v,u,t+v-x,u),b.lineTo(t+x,u),b.quadraticCurveTo(t,u,t,u+x),b.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(a){if(16777215!==a.tint)for(var b=(a.tint>>16&255)/255,c=(a.tint>>8&255)/255,d=(255&a.tint)/255,e=0;e>16&255)/255*b*255<<16)+((g>>8&255)/255*c*255<<8)+(255&g)/255*d*255,f._lineTint=((h>>16&255)/255*b*255<<16)+((h>>8&255)/255*c*255<<8)+(255&h)/255*d*255}},c.Graphics=function(a,b,d){void 0===b&&(b=0),void 0===d&&(d=0),this.type=c.GRAPHICS,this.physicsType=c.SPRITE,this.anchor=new c.Point,PIXI.Graphics.call(this),c.Component.Core.init.call(this,a,b,d,"",null)},c.Graphics.prototype=Object.create(PIXI.Graphics.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;a0&&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;e0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(b[h]):this.context.measureText(b[h]).width,this.style.wordWrap&&(i-=this.context.measureText(" ").width)}else{var j=b[h].split(/(?:\t)/),i=this.padding.x+this.style.strokeThickness;if(Array.isArray(c))for(var k=0,l=0;l0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(j[l]):Math.ceil(this.context.measureText(j[l]).width),l>0&&(k+=c[l-1]),i=k+m}else for(var l=0;l0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(j[l]):Math.ceil(this.context.measureText(j[l]).width);var n=this.game.math.snapToCeil(i,c)-i;i+=n}}d[h]=Math.ceil(i),e=Math.max(e,d[h])}this.canvas.width=e*this._res;var o=f.fontSize+this.style.strokeThickness+this.padding.y,p=o*g,q=this._lineSpacing;q<0&&Math.abs(q)>o&&(q=-o),0!==q&&(p+=q>0?q*b.length:q*(b.length-1)),this.canvas.height=p*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height), -this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var r,s;for(this._charCount=0,h=0;h0&&(s+=q*h),"right"===this.style.align?r+=e-d[h]:"center"===this.style.align&&(r+=(e-d[h])/2),this.autoRound&&(r=Math.round(r),s=Math.round(s)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(b[h],r,s):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===c?this.context.strokeText(b[h],r,s):this.renderTabLine(b[h],r,s,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===c?this.context.fillText(b[h],r,s):this.renderTabLine(b[h],r,s,!0)));this.updateTexture(),this.dirty=!1},c.Text.prototype.renderTabLine=function(a,b,c,d){var e=a.split(/(?:\t)/),f=this.style.tabs,g=0;if(Array.isArray(f))for(var h=0,i=0;i0&&(h+=f[i-1]),g=b+h,d?this.context.fillText(e[i],g,c):this.context.strokeText(e[i],g,c);else for(var i=0;i0||this.fontStyles.length>0){var e=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(e.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(e.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(e)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),b+=this.context.measureText(d).width,this._charCount++}return Math.ceil(b)},c.Text.prototype.updateLine=function(a,b,c){for(var d=0;d0||this.fontStyles.length>0){var f=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(f.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(f.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(f)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(e,b,c)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(e,b,c)),b+=this.context.measureText(e).width,this._charCount++}},c.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},c.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},c.Text.prototype.addColor=function(a,b){return this.colors[b]=a,this.dirty=!0,this},c.Text.prototype.addStrokeColor=function(a,b){return this.strokeColors[b]=a,this.dirty=!0,this},c.Text.prototype.addFontStyle=function(a,b){return this.fontStyles[b]=a,this.dirty=!0,this},c.Text.prototype.addFontWeight=function(a,b){return this.fontWeights[b]=a,this.dirty=!0,this},c.Text.prototype.precalculateWordWrap=function(a){this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font;var b=this.runWordWrap(a);return b.split(/(?:\r\n|\r|\n)/)},c.Text.prototype.runWordWrap=function(a){return this.useAdvancedWrap?this.advancedWordWrap(a):this.basicWordWrap(a)},c.Text.prototype.advancedWordWrap=function(a){for(var b=this.context,c=this.style.wordWrapWidth,d="",e=a.replace(/ +/gi," ").split(/\r?\n/gi),f=e.length,g=0;gk){if(0===m){for(var q=o;q.length&&(q=q.slice(0,-1),p=b.measureText(q).width,!(p<=k)););if(!q.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var r=n.substr(q.length);l[m]=r,i+=q}var s=l[m].length?m:m+1,t=l.slice(s).join(" ").replace(/[ \n]*$/gi,"");e[g+1]=t+" "+(e[g+1]||""),f=e.length;break}i+=o,k-=p}d+=i.replace(/[ \n]*$/gi,"")+"\n"}}return d=d.replace(/[\s|\n]*$/gi,"")},c.Text.prototype.basicWordWrap=function(a){for(var b="",c=a.split("\n"),d=0;de?(g>0&&(b+="\n"),b+=f[g]+" ",e=this.style.wordWrapWidth-h):(e-=i,b+=f[g]+" ")}dd&&(this.style.wordWrapWidth=d)),this.updateTexture(),this},c.Text.prototype.updateTexture=function(){var a=this.texture.baseTexture,b=this.texture.crop,c=this.texture.frame,d=this.canvas.width,e=this.canvas.height;if(a.width=d,a.height=e,b.width=d,b.height=e,c.width=d,c.height=e,this.texture.width=d,this.texture.height=e,this._width=d,this._height=e,this.textBounds){var f=this.textBounds.x,g=this.textBounds.y;"right"===this.style.boundsAlignH?f+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(f+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?g+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(g+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-f,this.pivot.y=-g}this.renderable=0!==d&&0!==e,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},c.Text.prototype._renderWebGL=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,a)},c.Text.prototype._renderCanvas=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,a)},c.Text.prototype.determineFontProperties=function(a){var b=c.Text.fontPropertiesCache[a];if(!b){b={};var d=c.Text.fontPropertiesCanvas,e=c.Text.fontPropertiesContext;e.font=a;var f=Math.ceil(e.measureText("|MÉq").width),g=Math.ceil(e.measureText("|MÉq").width),h=2*g;if(g=1.4*g|0,d.width=f,d.height=h,e.fillStyle="#f00",e.fillRect(0,0,f,h),e.font=a,e.textBaseline="alphabetic",e.fillStyle="#000",e.fillText("|MÉq",0,g),!e.getImageData(0,0,f,h))return b.ascent=g,b.descent=g+6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b,b;var i,j,k=e.getImageData(0,0,f,h).data,l=k.length,m=4*f,n=0,o=!1;for(i=0;ig;i--){for(j=0;j0?this._maxWidth:null,j=[],k=0;k=i&&f>-1)return{width:g||e,text:c.substr(0,k-(k-f)),end:l,chars:j};e+=(n.xAdvance+p)*b,j.push(d+(n.xOffset+p)*b),d+=(n.xAdvance+p)*b,h=m}return{width:e,text:c,end:l,chars:j}};c.BitmapText.prototype.cleanText=function(a,b){void 0===b&&(b="");var c=this._data.font;if(!c)return"";for(var d=/\r\n|\n\r|\n|\r/g,e=a.replace(d,"\n").split("\n"),f=0;fthis.textWidth&&(this.textWidth=f.width),e+=a.lineHeight*c,b=b.substr(f.text.length+1)}while(f.end===!1);this.textHeight=e;for(var g=0,h=0,i=this.textWidth*this.anchor.x,j=this.textHeight*this.anchor.y,k=0;k0&&(this._fontSize=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(a){a!==this._maxWidth&&(this._maxWidth=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(a){a?this._data.base.scaleMode=0:this._data.base.scaleMode=1}}),c.RetroFont=function(a,b,d,e,f,g,h,i,j,k){if(!a.cache.checkImageKey(b))return!1;void 0!==g&&null!==g||(g=a.cache.getImage(b).width/d),this.characterWidth=d,this.characterHeight=e,this.characterSpacingX=h||0,this.characterSpacingY=i||0,this.characterPerRow=g,this.offsetX=j||0,this.offsetY=k||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=a.cache.getImage(b),this._text="",this.grabData=[],this.frameData=new c.FrameData;for(var l=this.offsetX,m=this.offsetY,n=0,o=0;o?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",c.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",c.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",c.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",c.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",c.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",c.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",c.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",c.RetroFont.prototype.setFixedWidth=function(a,b){void 0===b&&(b="left"),this.fixedWidth=a,this.align=b},c.RetroFont.prototype.setText=function(a,b,c,d,e,f){this.multiLine=b||!1,this.customSpacingX=c||0,this.customSpacingY=d||0,this.align=e||"left",f?this.autoUpperCase=!1:this.autoUpperCase=!0,a.length>0&&(this.text=a)},c.RetroFont.prototype.buildRetroFontText=function(){var a=0,b=0;if(this.clear(),this.multiLine){var d=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var e=0;e0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),a=0,this.align===c.RetroFont.ALIGN_RIGHT?a=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===c.RetroFont.ALIGN_CENTER&&(a=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,a+=this.customSpacingX/2),a<0&&(a=0),this.pasteLine(this._text,a,0,this.customSpacingX);this.requiresReTint=!0},c.RetroFont.prototype.pasteLine=function(a,b,c,d){for(var e=0;e=0&&(this.stamp.frame=this.grabData[a.charCodeAt(e)],this.renderXY(this.stamp,b,c,!1),b+=this.characterWidth+d,b>this.width))break},c.RetroFont.prototype.getLongestLine=function(){var a=0;if(this._text.length>0)for(var b=this._text.split("\n"),c=0;ca&&(a=b[c].length);return a},c.RetroFont.prototype.removeUnsupportedCharacters=function(a){for(var b="",c=0;c=0||!a&&"\n"===d)&&(b=b.concat(d))}return b},c.RetroFont.prototype.updateOffset=function(a,b){if(this.offsetX!==a||this.offsetY!==b){for(var c=a-this.offsetX,d=b-this.offsetY,e=this.game.cache.getFrameData(this.stamp.key).getFrames(),f=e.length;f--;)e[f].x+=c,e[f].y+=d;this.buildRetroFontText()}},Object.defineProperty(c.RetroFont.prototype,"text",{get:function(){return this._text},set:function(a){var b;b=this.autoUpperCase?a.toUpperCase():a,b!==this._text&&(this._text=b,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(c.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(a){this.stamp.smoothed=a,this.buildRetroFontText()}}),c.Rope=function(a,b,d,e,f,g){this.points=[],this.points=g,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.ROPE,PIXI.Rope.call(this,c.Cache.DEFAULT,this.points),c.Component.Core.init.call(this,a,b,d,e,f)},c.Rope.prototype=Object.create(PIXI.Rope.prototype),c.Rope.prototype.constructor=c.Rope,c.Component.Core.install.call(c.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Rope.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Rope.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Rope.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Rope.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},c.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},c.Rope.prototype.reset=function(a,b){return c.Component.Reset.prototype.reset.call(this,a,b),this},Object.defineProperty(c.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(a){a&&"function"==typeof a?(this._hasUpdateAnimation=!0,this._updateAnimation=a):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(c.Rope.prototype,"segments",{get:function(){for(var a,b,d,e,f,g,h,i,j=[],k=0;k=1)&&(l.touch=!0),(window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(l.mspointer=!0),l.cocoonJS||("onwheel"in window||l.ie&&"WheelEvent"in window?l.wheelEvent="wheel":"onmousewheel"in window?l.wheelEvent="mousewheel":l.firefox&&"MouseScrollEvent"in window&&(l.wheelEvent="DOMMouseScroll"))}function d(){for(var a=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],b=document.createElement("div"),c=0;c=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var c=parseInt(RegExp.$1,10),d=parseInt(RegExp.$2,10);(10===c&&d>=11||c>10)&&(l.dolby=!0)}}catch(a){}}function h(){var a=new ArrayBuffer(4),b=new Uint8Array(a),c=new Uint32Array(a);return b[0]=161,b[1]=178,b[2]=195,b[3]=212,3569595041===c[0]||2712847316!==c[0]&&null}function i(){if(void 0===Uint8ClampedArray)return!1;var a=PIXI.CanvasPool.create(this,1,1),b=a.getContext("2d");if(!b)return!1;var c=b.createImageData(1,1);return PIXI.CanvasPool.remove(this),c.data instanceof Uint8ClampedArray}function j(){l.pixelRatio=window.devicePixelRatio||1,l.iPhone=navigator.userAgent.toLowerCase().indexOf("iphone")!==-1,l.iPhone4=2===l.pixelRatio&&l.iPhone,l.iPad=navigator.userAgent.toLowerCase().indexOf("ipad")!==-1,"undefined"!=typeof Int8Array?l.typedArray=!0:l.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(l.littleEndian=h(),l.LITTLE_ENDIAN=l.littleEndian),l.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==l.littleEndian&&i(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(l.vibration=!0)}function k(){var a,b=document.createElement("p"),c={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(b,null);for(var d in c)void 0!==b.style[d]&&(b.style[d]="translate3d(1px,1px,1px)",a=window.getComputedStyle(b).getPropertyValue(c[d]));document.body.removeChild(b),l.css3D=void 0!==a&&a.length>0&&"none"!==a}var l=this;a(),e(),g(),f(),k(),j(),b(),d(),c()},c.Device.canPlayAudio=function(a){return!("mp3"!==a||!this.mp3)||(!("ogg"!==a||!this.ogg&&!this.opus)||(!("m4a"!==a||!this.m4a)||(!("opus"!==a||!this.opus)||(!("wav"!==a||!this.wav)||(!("webm"!==a||!this.webm)||!("mp4"!==a||!this.dolby))))))},c.Device.canPlayVideo=function(a){return!("webm"!==a||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==a||!this.mp4Video&&!this.h264Video)||(!("ogg"!==a&&"ogv"!==a||!this.oggVideo)||!("mpeg"!==a||!this.hlsVideo)))},c.Device.isConsoleOpen=function(){return!(!window.console||!window.console.firebug)||!(!window.console||(console.profile(),console.profileEnd(),console.clear&&console.clear(),!console.profiles))&&console.profiles.length>0},c.Device.isAndroidStockBrowser=function(){var a=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return a&&a[1]<537},c.Canvas={create:function(a,b,c,d,e){b=b||256,c=c||256;var f=e?document.createElement("canvas"):PIXI.CanvasPool.create(a,b,c);return"string"==typeof d&&""!==d&&(f.id=d),f.width=b,f.height=c,f.style.display="block",f},setBackgroundColor:function(a,b){return b=b||"rgb(0,0,0)",a.style.backgroundColor=b,a},setTouchAction:function(a,b){return b=b||"none",a.style.msTouchAction=b,a.style["ms-touch-action"]=b,a.style["touch-action"]=b,a},setUserSelect:function(a,b){return b=b||"none",a.style["-webkit-touch-callout"]=b,a.style["-webkit-user-select"]=b,a.style["-khtml-user-select"]=b,a.style["-moz-user-select"]=b,a.style["-ms-user-select"]=b,a.style["user-select"]=b,a.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",a},addToDOM:function(a,b,c){var d;return void 0===c&&(c=!0),b&&("string"==typeof b?d=document.getElementById(b):"object"==typeof b&&1===b.nodeType&&(d=b)),d||(d=document.body),c&&d.style&&(d.style.overflow="hidden"),d.appendChild(a),a},removeFromDOM:function(a){a.parentNode&&a.parentNode.removeChild(a)},setTransform:function(a,b,c,d,e,f,g){return a.setTransform(d,f,g,e,b,c),a},setSmoothingEnabled:function(a,b){var d=c.Canvas.getSmoothingPrefix(a);return d&&(a[d]=b),a},getSmoothingPrefix:function(a){var b=["i","webkitI","msI","mozI","oI"];for(var c in b){var d=b[c]+"mageSmoothingEnabled";if(d in a)return d}return null},getSmoothingEnabled:function(a){var b=c.Canvas.getSmoothingPrefix(a);if(b)return a[b]},setImageRenderingCrisp:function(a){for(var b=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],c=0;cb-c},fuzzyCeil:function(a,b){return void 0===b&&(b=1e-4),Math.ceil(a-b)},fuzzyFloor:function(a,b){return void 0===b&&(b=1e-4),Math.floor(a+b)},average:function(){for(var a=0,b=arguments.length,c=0;c=c.Math.PI2-d?a=b:(Math.abs(b-a)>Math.PI&&(ba?a+=d:b=0?a:a+2*Math.PI},maxAdd:function(a,b,c){return Math.min(a+b,c)},minSub:function(a,b,c){return Math.max(a-b,c)},wrap:function(a,b,c){var d=c-b;if(d<=0)return 0;var e=(a-b)%d;return e<0&&(e+=d),e+b},wrapValue:function(a,b,c){var d;return a=Math.abs(a),b=Math.abs(b),c=Math.abs(c),d=(a+b)%c},isOdd:function(a){return!!(1&a)},isEven:function(a){return!(1&a)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])var a=arguments[0];else var a=arguments;for(var b=1,c=0,d=a.length;ba[c]&&(c=b);return a[c]},minProperty:function(a){if(2===arguments.length&&"object"==typeof arguments[1])var b=arguments[1];else var b=arguments.slice(1);for(var c=1,d=0,e=b.length;cb[d][a]&&(d=c);return b[d][a]},wrapAngle:function(a,b){return b?this.wrap(a,-Math.PI,Math.PI):this.wrap(a,-180,180)},linearInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return b<0?this.linear(a[0],a[1],d):b>1?this.linear(a[c],a[c-1],c-d):this.linear(a[e],a[e+1>c?c:e+1],d-e)},bezierInterpolation:function(a,b){for(var c=0,d=a.length-1,e=0;e<=d;e++)c+=Math.pow(1-b,d-e)*Math.pow(b,e)*a[e]*this.bernstein(d,e);return c},catmullRomInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return a[0]===a[c]?(b<0&&(e=Math.floor(d=c*(1+b))),this.catmullRom(a[(e-1+c)%c],a[e],a[(e+1)%c],a[(e+2)%c],d-e)):b<0?a[0]-(this.catmullRom(a[0],a[0],a[1],a[1],-d)-a[0]):b>1?a[c]-(this.catmullRom(a[c],a[c],a[c-1],a[c-1],d-c)-a[c]):this.catmullRom(a[e?e-1:0],a[e],a[c0?Math.ceil(a):Math.floor(a)},sinCosGenerator:function(a,b,c,d){void 0===b&&(b=1),void 0===c&&(c=1),void 0===d&&(d=1);for(var e=b,f=c,g=d*Math.PI/a,h=[],i=[],j=0;j0?1:0},percent:function(a,b,c){return void 0===c&&(c=0),a>b||c>b?1:aa?0:(a-c)/b}};var k=Math.PI/180,l=180/Math.PI;return c.Math.degToRad=function(a){return a*k},c.Math.radToDeg=function(a){return a*l},c.RandomDataGenerator=function(a){void 0===a&&(a=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof a?this.state(a):this.sow(a)},c.RandomDataGenerator.prototype={rnd:function(){var a=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|a,this.s0=this.s1,this.s1=this.s2,this.s2=a-this.c,this.s2},sow:function(a){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,a)for(var b=0;b>>0,b-=d,b*=d,d=b>>>0,b-=d,d+=4294967296*b;return 2.3283064365386963e-10*(d>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(a,b){return Math.floor(this.realInRange(0,b-a+1)+a)},between:function(a,b){return this.integerInRange(a,b)},realInRange:function(a,b){return this.frac()*(b-a)+a},normal:function(){return 1-2*this.frac()},uuid:function(){var a="",b="";for(b=a="";a++<36;b+=~a%5|3*a&4?(15^a?8^this.frac()*(20^a?16:4):4).toString(16):"-");return b},pick:function(a){return a[this.integerInRange(0,a.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(a){return a[~~(Math.pow(this.frac(),2)*(a.length-1)+.5)]},timestamp:function(a,b){return this.realInRange(a||9466848e5,b||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(a){return"string"==typeof a&&a.match(/^!rnd/)&&(a=a.split(","),this.c=parseFloat(a[1]),this.s0=parseFloat(a[2]),this.s1=parseFloat(a[3]),this.s2=parseFloat(a[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},c.RandomDataGenerator.prototype.constructor=c.RandomDataGenerator,c.QuadTree=function(a,b,c,d,e,f,g){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(a,b,c,d,e,f,g)},c.QuadTree.prototype={reset:function(a,b,c,d,e,f,g){this.maxObjects=e||10,this.maxLevels=f||4,this.level=g||0,this.bounds={x:Math.round(a),y:Math.round(b),width:c,height:d,subWidth:Math.floor(c/2),subHeight:Math.floor(d/2),right:Math.round(a)+Math.floor(c/2),bottom:Math.round(b)+Math.floor(d/2)},this.objects.length=0,this.nodes.length=0},populate:function(a){a.forEach(this.populateHandler,this,!0)},populateHandler:function(a){a.body&&a.exists&&this.insert(a.body)},split:function(){this.nodes[0]=new c.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new c.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new c.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new c.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(a){var b,c=0;if(null!=this.nodes[0]&&(b=this.getIndex(a),b!==-1))return void this.nodes[b].insert(a);if(this.objects.push(a),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(b=2):a.x>this.bounds.right&&(a.ythis.bounds.bottom&&(b=3)),b},retrieve:function(a){if(a instanceof c.Rectangle)var b=this.objects,d=this.getIndex(a);else{if(!a.body)return this._empty;var b=this.objects,d=this.getIndex(a.body)}return this.nodes[0]&&(d!==-1?b=b.concat(this.nodes[d].retrieve(a)):(b=b.concat(this.nodes[0].retrieve(a)),b=b.concat(this.nodes[1].retrieve(a)),b=b.concat(this.nodes[2].retrieve(a)),b=b.concat(this.nodes[3].retrieve(a)))),b},clear:function(){this.objects.length=0;for(var a=this.nodes.length;a--;)this.nodes[a].clear(),this.nodes.splice(a,1);this.nodes.length=0}},c.QuadTree.prototype.constructor=c.QuadTree,c.Net=function(a){this.game=a},c.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(a){return window.location.hostname.indexOf(a)!==-1},updateQueryString:function(a,b,c,d){void 0===c&&(c=!1),void 0!==d&&""!==d||(d=window.location.href);var e="",f=new RegExp("([?|&])"+a+"=.*?(&|#|$)(.*)","gi");if(f.test(d))e="undefined"!=typeof b&&null!==b?d.replace(f,"$1"+a+"="+b+"$2$3"):d.replace(f,"$1$3").replace(/(&|\?)$/,"");else if("undefined"!=typeof b&&null!==b){var g=d.indexOf("?")!==-1?"&":"?",h=d.split("#");d=h[0]+g+a+"="+b,h[1]&&(d+="#"+h[1]),e=d}else e=d;return c?void(window.location.href=e):e},getQueryString:function(a){void 0===a&&(a="");var b={},c=location.search.substring(1).split("&");for(var d in c){var e=c[d].split("=");if(e.length>1){if(a&&a===this.decodeURI(e[0]))return this.decodeURI(e[1]);b[this.decodeURI(e[0])]=this.decodeURI(e[1])}}return b},decodeURI:function(a){return decodeURIComponent(a.replace(/\+/g," "))}},c.Net.prototype.constructor=c.Net,c.TweenManager=function(a){this.game=a,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:c.Easing.Power0,Power1:c.Easing.Power1,Power2:c.Easing.Power2,Power3:c.Easing.Power3,Power4:c.Easing.Power4,Linear:c.Easing.Linear.None,Quad:c.Easing.Quadratic.Out,Cubic:c.Easing.Cubic.Out,Quart:c.Easing.Quartic.Out,Quint:c.Easing.Quintic.Out,Sine:c.Easing.Sinusoidal.Out,Expo:c.Easing.Exponential.Out,Circ:c.Easing.Circular.Out,Elastic:c.Easing.Elastic.Out,Back:c.Easing.Back.Out,Bounce:c.Easing.Bounce.Out,"Quad.easeIn":c.Easing.Quadratic.In,"Cubic.easeIn":c.Easing.Cubic.In,"Quart.easeIn":c.Easing.Quartic.In,"Quint.easeIn":c.Easing.Quintic.In,"Sine.easeIn":c.Easing.Sinusoidal.In,"Expo.easeIn":c.Easing.Exponential.In,"Circ.easeIn":c.Easing.Circular.In,"Elastic.easeIn":c.Easing.Elastic.In,"Back.easeIn":c.Easing.Back.In,"Bounce.easeIn":c.Easing.Bounce.In,"Quad.easeOut":c.Easing.Quadratic.Out,"Cubic.easeOut":c.Easing.Cubic.Out,"Quart.easeOut":c.Easing.Quartic.Out,"Quint.easeOut":c.Easing.Quintic.Out,"Sine.easeOut":c.Easing.Sinusoidal.Out,"Expo.easeOut":c.Easing.Exponential.Out,"Circ.easeOut":c.Easing.Circular.Out,"Elastic.easeOut":c.Easing.Elastic.Out,"Back.easeOut":c.Easing.Back.Out,"Bounce.easeOut":c.Easing.Bounce.Out,"Quad.easeInOut":c.Easing.Quadratic.InOut,"Cubic.easeInOut":c.Easing.Cubic.InOut,"Quart.easeInOut":c.Easing.Quartic.InOut,"Quint.easeInOut":c.Easing.Quintic.InOut,"Sine.easeInOut":c.Easing.Sinusoidal.InOut,"Expo.easeInOut":c.Easing.Exponential.InOut,"Circ.easeInOut":c.Easing.Circular.InOut,"Elastic.easeInOut":c.Easing.Elastic.InOut,"Back.easeInOut":c.Easing.Back.InOut,"Bounce.easeInOut":c.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},c.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var a=0;a0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(a){return this._tweens.some(function(b){return b.target===a})},_pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._pause()},_resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._resume()},pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].pause()},resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].resume(!0)}},c.TweenManager.prototype.constructor=c.TweenManager,c.Tween=function(a,b,d){this.game=b,this.target=a,this.manager=d,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new c.Signal,this.onLoop=new c.Signal,this.onRepeat=new c.Signal,this.onChildComplete=new c.Signal,this.onComplete=new c.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=d.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},c.Tween.prototype={to:function(a,b,d,e,f,g,h){return(void 0===b||b<=0)&&(b=1e3),void 0!==d&&null!==d||(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).to(a,b,d,f,g,h)),e&&this.start(),this)},from:function(a,b,d,e,f,g,h){return void 0===b&&(b=1e3),void 0!==d&&null!==d||(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).from(a,b,d,f,g,h)),e&&this.start(),this)},start:function(a){if(void 0===a&&(a=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(var b=0;bthis.timeline.length-1)&&(a=0),this.current=a,this.timeline[this.current].start(),this},stop:function(a){return void 0===a&&(a=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,a&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(a,b,c){if(0===this.timeline.length)return this;if(void 0===c&&(c=0),c===-1)for(var d=0;d0?arguments[a-1].chainedTween=arguments[a]:this.chainedTween=arguments[a];return this},loop:function(a){return void 0===a&&(a=!0),this.repeatCounter=a?-1:0,this},onUpdateCallback:function(a,b){return this._onUpdateCallback=a,this._onUpdateCallbackContext=b,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var a=0;a0?(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;c0?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.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.RUNNING},generateData:function(a){this.parent.reverse?this.dt=this.duration:this.dt=0;var b=[],c=!1,d=1/a*1e3;do{this.parent.reverse?(this.dt-=d,this.dt=Math.max(this.dt,0)):(this.dt+=d,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var e={};for(var f in this.vEnd){var g=this.vStart[f],h=this.vEnd[f];Array.isArray(h)?e[f]=this.interpolationFunction(h,this.value):e[f]=g+(h-g)*this.value}b.push(e),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(c=!0)}while(!c);if(this.yoyo){var i=b.slice();i.reverse(),b=b.concat(i)}return b},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var a in this.vStartCache)this.vStart[a]=this.vStartCache[a],this.vEnd[a]=this.vEndCache[a];return this.inReverse=!1,c.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return c.TweenData.COMPLETE;if(this.inReverse)for(var a in this.vStartCache)this.vStart[a]=this.vEndCache[a],this.vEnd[a]=this.vStartCache[a];else{for(var a in this.vStartCache)this.vStart[a]=this.vStartCache[a],this.vEnd[a]=this.vEndCache[a];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,c.TweenData.LOOPED}},c.TweenData.prototype.constructor=c.TweenData,c.Easing={Linear:{None:function(a){return a}},Quadratic:{In:function(a){return a*a},Out:function(a){return a*(2-a)},InOut:function(a){return(a*=2)<1?.5*a*a:-.5*(--a*(a-2)-1)}},Cubic:{In:function(a){return a*a*a},Out:function(a){return--a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a:.5*((a-=2)*a*a+2)}},Quartic:{In:function(a){return a*a*a*a},Out:function(a){return 1- --a*a*a*a},InOut:function(a){return(a*=2)<1?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2)}},Quintic:{In:function(a){return a*a*a*a*a},Out:function(a){return--a*a*a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)}},Sinusoidal:{In:function(a){return 0===a?0:1===a?1:1-Math.cos(a*Math.PI/2)},Out:function(a){return 0===a?0:1===a?1:Math.sin(a*Math.PI/2)},InOut:function(a){return 0===a?0:1===a?1:.5*(1-Math.cos(Math.PI*a))}},Exponential:{In:function(a){return 0===a?0:Math.pow(1024,a-1)},Out:function(a){return 1===a?1:1-Math.pow(2,-10*a)},InOut:function(a){return 0===a?0:1===a?1:(a*=2)<1?.5*Math.pow(1024,a-1):.5*(-Math.pow(2,-10*(a-1))+2)}},Circular:{In:function(a){return 1-Math.sqrt(1-a*a)},Out:function(a){return Math.sqrt(1- --a*a)},InOut:function(a){return(a*=2)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)}},Elastic:{In:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||c<1?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),-(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)))},Out:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||c<1?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),c*Math.pow(2,-10*a)*Math.sin((a-b)*(2*Math.PI)/d)+1)},InOut:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||c<1?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),(a*=2)<1?-.5*(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)):c*Math.pow(2,-10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)*.5+1)}},Back:{In:function(a){var b=1.70158;return a*a*((b+1)*a-b)},Out:function(a){var b=1.70158;return--a*a*((b+1)*a+b)+1},InOut:function(a){var b=2.5949095;return(a*=2)<1?.5*(a*a*((b+1)*a-b)):.5*((a-=2)*a*((b+1)*a+b)+2)}},Bounce:{In:function(a){return 1-c.Easing.Bounce.Out(1-a)},Out:function(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},InOut:function(a){return a<.5?.5*c.Easing.Bounce.In(2*a):.5*c.Easing.Bounce.Out(2*a-1)+.5}}},c.Easing.Default=c.Easing.Linear.None,c.Easing.Power0=c.Easing.Linear.None,c.Easing.Power1=c.Easing.Quadratic.Out,c.Easing.Power2=c.Easing.Cubic.Out,c.Easing.Power3=c.Easing.Quartic.Out,c.Easing.Power4=c.Easing.Quintic.Out,c.Time=function(a){this.game=a,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new c.Timer(this.game,(!1)),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},c.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(a){return this._timers.push(a),a},create:function(a){void 0===a&&(a=!0);var b=new c.Timer(this.game,a);return this._timers.push(b),b},removeAll:function(){for(var a=0;a=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var a=this._timers.length;a--;)this._timers[a]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var a=this._timers.length;a--;)this._timers[a]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(a){return this.time-a},elapsedSecondsSince:function(a){return.001*(this.time-a)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(c.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(a){this._desiredFps=a,this.physicsElapsed=1/a,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/a}}),c.Time.prototype.constructor=c.Time,c.Timer=function(a,b){void 0===b&&(b=!0),this.game=a,this.running=!1,this.autoDestroy=b,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new c.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},c.Timer.MINUTE=6e4,c.Timer.SECOND=1e3,c.Timer.HALF=500,c.Timer.QUARTER=250,c.Timer.prototype={create:function(a,b,d,e,f,g){a=Math.round(a);var h=a;h+=0===this._now?this.game.time.time:this._now;var i=new c.TimerEvent(this,a,h,d,b,e,f,g);return this.events.push(i),this.order(),this.expired=!1,i},add:function(a,b,c){return this.create(a,!1,0,b,c,Array.prototype.slice.call(arguments,3))},repeat:function(a,b,c,d){return this.create(a,!1,b,c,d,Array.prototype.slice.call(arguments,4))},loop:function(a,b,c){return this.create(a,!0,0,b,c,Array.prototype.slice.call(arguments,3))},start:function(a){if(!this.running){this._started=this.game.time.time+(a||0),this.running=!0;for(var b=0;b0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(a,b){return a.tickb.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(a){if(this.paused)return!0;if(this.elapsed=a-this._now,this._now=a,this.elapsed>this.timeCap&&this.adjustEvents(a-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=this.events[this._i].tick&&!this.events[this._i].pendingDelete;)this._newTick=this._now+this.events[this._i].delay-(this._now-this.events[this._i].tick),this._newTick<0&&(this._newTick=this._now+this.events[this._i].delay),this.events[this._i].loop===!0?(this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):this.events[this._i].repeatCount>0?(this.events[this._i].repeatCount--,this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):(this._marked++,this.events[this._i].pendingDelete=!0,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)),this._i++;this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(a){for(var b=0;bthis._now?this.nextTick-this._now:0}}),Object.defineProperty(c.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(c.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(c.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),c.Timer.prototype.constructor=c.Timer,c.TimerEvent=function(a,b,c,d,e,f,g,h){this.timer=a,this.delay=b,this.tick=c,this.repeatCount=d-1,this.loop=e,this.callback=f,this.callbackContext=g,this.args=h,this.pendingDelete=!1},c.TimerEvent.prototype.constructor=c.TimerEvent,c.AnimationManager=function(a){this.sprite=a,this.game=a.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},c.AnimationManager.prototype={loadFrameData:function(a,b){if(void 0===a)return!1;if(this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(a);return this._frameData=a,void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},copyFrameData:function(a,b){if(this._frameData=a.clone(),this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(this._frameData);return void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},add:function(a,b,d,e,f){return b=b||[],d=d||60,void 0===e&&(e=!1),void 0===f&&(f=!(!b||"number"!=typeof b[0])),this._outputFrames=[],this._frameData.getFrameIndexes(b,f,this._outputFrames),this._anims[a]=new c.Animation(this.game,this.sprite,a,this._frameData,this._outputFrames,d,e),this.currentAnim=this._anims[a],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[a]},validateFrames:function(a,b){void 0===b&&(b=!0);for(var c=0;cthis._frameData.total)return!1}else if(this._frameData.checkFrameName(a[c])===!1)return!1;return!0},play:function(a,b,c,d){if(this._anims[a])return this.currentAnim===this._anims[a]?this.currentAnim.isPlaying===!1?(this.currentAnim.paused=!1,this.currentAnim.play(b,c,d)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[a],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(b,c,d))},stop:function(a,b){void 0===b&&(b=!1),!this.currentAnim||"string"==typeof a&&a!==this.currentAnim.name||this.currentAnim.stop(b)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(a){this.currentAnim&&(this.currentAnim.next(a),this.currentFrame=this.currentAnim.currentFrame)},previous:function(a){this.currentAnim&&(this.currentAnim.previous(a),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(a){return"string"==typeof a&&this._anims[a]?this._anims[a]:null},refreshFrame:function(){},destroy:function(){var a=null;for(var a in this._anims)this._anims.hasOwnProperty(a)&&this._anims[a].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},c.AnimationManager.prototype.constructor=c.AnimationManager,Object.defineProperty(c.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(c.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(c.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(a){this.currentAnim.paused=a}}),Object.defineProperty(c.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(c.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(a){"number"==typeof a&&this._frameData&&null!==this._frameData.getFrame(a)&&(this.currentFrame=this._frameData.getFrame(a),this.currentFrame&&this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(c.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(a){"string"==typeof a&&this._frameData&&null!==this._frameData.getFrameByName(a)?(this.currentFrame=this._frameData.getFrameByName(a),this.currentFrame&&(this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame))):console.warn("Cannot set frameName: "+a)}}),c.Animation=function(a,b,d,e,f,g,h){void 0===h&&(h=!1),this.game=a,this._parent=b,this._frameData=e,this.name=d,this._frames=[],this._frames=this._frames.concat(f),this.delay=1e3/g,this.loop=h,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new c.Signal,this.onUpdate=null,this.onComplete=new c.Signal,this.onLoop=new c.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},c.Animation.prototype={play:function(a,b,c){return"number"==typeof a&&(this.delay=1e3/a),"boolean"==typeof b&&(this.loop=b),"undefined"!=typeof c&&(this.killOnComplete=c),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(a,b){var c;if(void 0===b&&(b=!1),"string"==typeof a)for(var d=0;d=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(a,b){if(void 0===b&&(b=!1),!this._frameData)return!1;var c=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(b||!b&&c!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!a||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(a){void 0===a&&(a=1);var b=this._frameIndex+a;b>=this._frames.length&&(this.loop?b%=this._frames.length:b=this._frames.length-1),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},previous:function(a){void 0===a&&(a=1);var b=this._frameIndex-a;b<0&&(this.loop?b=this._frames.length+b:b++),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},updateFrameData:function(a){this._frameData=a,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},c.Animation.prototype.constructor=c.Animation,Object.defineProperty(c.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(a){this.isPaused=a,a?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(c.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(a){this.isReversed=a}}),Object.defineProperty(c.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(c.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(a){this.currentFrame=this._frameData.getFrame(this._frames[a]),null!==this.currentFrame&&(this._frameIndex=a,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(c.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(a){a>0&&(this.delay=1e3/a)}}),Object.defineProperty(c.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(a){a&&null===this.onUpdate?this.onUpdate=new c.Signal:a||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),c.Animation.generateFrameNames=function(a,b,d,e,f){void 0===e&&(e="");var g=[],h="";if(b=d;i--)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);return g},c.Frame=function(a,b,d,e,f,g){this.index=a,this.x=b,this.y=d,this.width=e,this.height=f,this.name=g,this.centerX=Math.floor(e/2),this.centerY=Math.floor(f/2),this.distance=c.Math.distance(0,0,e,f),this.rotated=!1,this.rotationDirection="cw",this.trimmed=!1,this.sourceSizeW=e,this.sourceSizeH=f,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},c.Frame.prototype={resize:function(a,b){this.width=a,this.height=b,this.centerX=Math.floor(a/2),this.centerY=Math.floor(b/2),this.distance=c.Math.distance(0,0,a,b),this.sourceSizeW=a,this.sourceSizeH=b,this.right=this.x+a,this.bottom=this.y+b},setTrim:function(a,b,c,d,e,f,g){this.trimmed=a,a&&(this.sourceSizeW=b,this.sourceSizeH=c,this.centerX=Math.floor(b/2),this.centerY=Math.floor(c/2),this.spriteSourceSizeX=d,this.spriteSourceSizeY=e,this.spriteSourceSizeW=f,this.spriteSourceSizeH=g)},clone:function(){var a=new c.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var b in this)this.hasOwnProperty(b)&&(a[b]=this[b]);return a},getRect:function(a){return void 0===a?a=new c.Rectangle(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a}},c.Frame.prototype.constructor=c.Frame,c.FrameData=function(){this._frames=[],this._frameNames=[]},c.FrameData.prototype={addFrame:function(a){return a.index=this._frames.length,this._frames.push(a),""!==a.name&&(this._frameNames[a.name]=a.index),a},getFrame:function(a){return a>=this._frames.length&&(a=0),this._frames[a]},getFrameByName:function(a){return"number"==typeof this._frameNames[a]?this._frames[this._frameNames[a]]:null},checkFrameName:function(a){return null!=this._frameNames[a]},clone:function(){for(var a=new c.FrameData,b=0;bj&&(p=g,q+=e+h);return o},JSONData:function(a,b){if(!b.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(b);for(var d,e=new c.FrameData,f=b.frames,g=0;g 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-1},getAssetIndex:function(a,b){for(var c=-1,d=0;d-1&&{index:c,file:this._fileList[c]}},reset:function(a,b){void 0===b&&(b=!1),this.resetLocked||(a&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,b&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(a,b,c,d,e,f){if(void 0===e&&(e=!1),void 0===b||""===b)return console.warn("Phaser.Loader: Invalid or no key given of type "+a),this;if(void 0===c||null===c){if(!f)return console.warn("Phaser.Loader: No URL given for file type: "+a+" key: "+b),this;c=b+f}var g={type:a,key:b,path:this.path,url:c,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(d)for(var h in d)g[h]=d[h];var i=this.getAssetIndex(a,b);if(e&&i>-1){var j=this._fileList[i];j.loading||j.loaded?(this._fileList.push(g),this._totalFileCount++):this._fileList[i]=g}else i===-1&&(this._fileList.push(g),this._totalFileCount++);return this},replaceInFileList:function(a,b,c,d){return this.addToFileList(a,b,c,d,!0)},pack:function(a,b,c,d){if(void 0===b&&(b=null),void 0===c&&(c=null),void 0===d&&(d=null),!b&&!c)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var e={type:"packfile",key:a,url:b,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:d};c&&("string"==typeof c&&(c=JSON.parse(c)),e.data=c||{},e.loaded=!0);for(var f=0;f=e||d&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var f=this;setTimeout(function(){f.finishedLoading(!0)},2e3)}},finishedLoading:function(a){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,a||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.onLoadComplete.dispatch(),this.game.state.loadComplete(),this.reset())},asyncComplete:function(a,b){void 0===b&&(b=""),a.loaded=!0,a.error=!!b,b&&(a.errorMessage=b,console.warn("Phaser.Loader - "+a.type+"["+a.key+"]: "+b)),this.processLoadQueue()},processPack:function(a){var b=a.data[a.key];if(!b)return void console.warn("Phaser.Loader - "+a.key+": pack has data, but not for pack key");for(var d=0;d=400&&f.status<=599?e.call(g,a,f):d.call(g,a,f)}catch(b){g.hasLoaded?window.console&&console.error(b):g.asyncComplete(a,b.message||"Exception")}},f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.hasLoaded?window.console&&console.error(b):g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,f.send()},xhrLoadWithXDR:function(a,b,c,d,e){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var f=new window.XDomainRequest;f.open("GET",b,!0),f.responseType=c,f.timeout=3e3,e=e||this.fileError;var g=this;f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.ontimeout=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.onprogress=function(){},f.onload=function(){try{return 4===f.readyState&&f.status>=400&&f.status<=599?e.call(g,a,f):d.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,setTimeout(function(){f.send()},0)},getVideoURL:function(a){for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);if(c=e.toLowerCase(),this.game.device.canPlayVideo(c))return a[b]}}return null},getAudioURL:function(a){if(this.game.sound.noAudio)return null;for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);if(c=e.toLowerCase(),this.game.device.canPlayAudio(c))return a[b]}}return null},fileError:function(a,b,c){var d=a.requestUrl||this.transformUrl(a.url,a),e="error loading asset from URL "+d;!c&&b&&(c=b.status),c&&(e=e+" ("+c+")"),this.asyncComplete(a,e)},fileComplete:function(a,b){var d=!0;switch(a.type){case"packfile":var e=JSON.parse(b.responseText);a.data=e||{};break;case"image":this.cache.addImage(a.key,a.url,a.data);break;case"spritesheet":this.cache.addSpriteSheet(a.key,a.url,a.data,a.frameWidth,a.frameHeight,a.frameMax,a.margin,a.spacing);break;case"textureatlas":if(null==a.atlasURL)this.cache.addTextureAtlas(a.key,a.url,a.data,a.atlasData,a.format);else if(d=!1,a.format===c.Loader.TEXTURE_ATLAS_JSON_ARRAY||a.format===c.Loader.TEXTURE_ATLAS_JSON_HASH||a.format===c.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.jsonLoadComplete);else{if(a.format!==c.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+a.format);this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.xmlLoadComplete)}break;case"bitmapfont":a.atlasURL?(d=!1,this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",function(a,b){var c;try{c=JSON.parse(b.responseText)}catch(a){}c?(a.atlasType="json",this.jsonLoadComplete(a,b)):(a.atlasType="xml",this.xmlLoadComplete(a,b))})):this.cache.addBitmapFont(a.key,a.url,a.data,a.atlasData,a.atlasType,a.xSpacing,a.ySpacing);break;case"video":if(a.asBlob)try{a.data=b.response}catch(b){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+a.key)}this.cache.addVideo(a.key,a.url,a.data,a.asBlob);break;case"audio":this.game.sound.usingWebAudio?(a.data=b.response,this.cache.addSound(a.key,a.url,a.data,!0,!1),a.autoDecode&&this.game.sound.decode(a.key)):this.cache.addSound(a.key,a.url,a.data,!1,!0);break;case"text":a.data=b.responseText,this.cache.addText(a.key,a.url,a.data);break;case"shader":a.data=b.responseText,this.cache.addShader(a.key,a.url,a.data);break;case"physics":var e=JSON.parse(b.responseText);this.cache.addPhysicsData(a.key,a.url,e,a.format);break;case"script":a.data=document.createElement("script"),a.data.language="javascript",a.data.type="text/javascript",a.data.defer=!1,a.data.text=b.responseText,document.head.appendChild(a.data),a.callback&&(a.data=a.callback.call(a.callbackContext,a.key,b.responseText));break;case"binary":a.callback?a.data=a.callback.call(a.callbackContext,a.key,b.response):a.data=b.response,this.cache.addBinary(a.key,a.data)}d&&this.asyncComplete(a)},jsonLoadComplete:function(a,b){var c=JSON.parse(b.responseText);"tilemap"===a.type?this.cache.addTilemap(a.key,a.url,c,a.format):"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,c,a.atlasType,a.xSpacing,a.ySpacing):"json"===a.type?this.cache.addJSON(a.key,a.url,c):this.cache.addTextureAtlas(a.key,a.url,a.data,c,a.format),this.asyncComplete(a)},csvLoadComplete:function(a,b){var c=b.responseText;this.cache.addTilemap(a.key,a.url,c,a.format),this.asyncComplete(a)},xmlLoadComplete:function(a,b){var c=b.responseText,d=this.parseXml(c);if(!d){var e=b.responseType||b.contentType;return console.warn("Phaser.Loader - "+a.key+": invalid XML ("+e+")"),void this.asyncComplete(a,"invalid XML")}"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,d,a.atlasType,a.xSpacing,a.ySpacing):"textureatlas"===a.type?this.cache.addTextureAtlas(a.key,a.url,a.data,d,a.format):"xml"===a.type&&this.cache.addXML(a.key,a.url,d),this.asyncComplete(a)},parseXml:function(a){var b;try{if(window.DOMParser){var c=new DOMParser;b=c.parseFromString(a,"text/xml")}else b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)}catch(a){b=null}return b&&b.documentElement&&!b.getElementsByTagName("parsererror").length?b:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(c.Loader.prototype,"progressFloat",{get:function(){var a=this._loadedFileCount/this._totalFileCount*100;return c.Math.clamp(a||0,0,100)}}),Object.defineProperty(c.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),c.Loader.prototype.constructor=c.Loader,c.LoaderParser={bitmapFont:function(a,b,c,d){return this.xmlBitmapFont(a,b,c,d)},xmlBitmapFont:function(a,b,c,d){var e={},f=a.getElementsByTagName("info")[0],g=a.getElementsByTagName("common")[0];e.font=f.getAttribute("face"),e.size=parseInt(f.getAttribute("size"),10),e.lineHeight=parseInt(g.getAttribute("lineHeight"),10)+d,e.chars={};for(var h=a.getElementsByTagName("char"),i=0;i=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop())))):void this.destroy()},loopFull:function(a){return this.play(null,0,a,!0)},play:function(a,b,c,d,e){if(void 0!==a&&a!==!1&&null!==a||(a=""),void 0===e&&(e=!0),this.isPlaying&&!this.allowMultiple&&!e&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||e)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(a){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===a&&Object.keys(this.markers).length>0)return this;if(""!==a){if(!this.markers[a])return console.warn("Phaser.Sound.play: audio marker "+a+" doesn't exist"),this;this.currentMarker=a,this.position=this.markers[a].start,this.volume=this.markers[a].volume,this.loop=this.markers[a].loop,this.duration=this.markers[a].duration,this.durationMS=this.markers[a].durationMS,"undefined"!=typeof c&&(this.volume=c),"undefined"!=typeof d&&(this.loop=d),this._tempMarker=a,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else b=b||0,void 0===c&&(c=this._volume),void 0===d&&(d=this.loop),this.position=Math.max(0,b),this.volume=c,this.loop=d,this.duration=0,this.durationMS=0,this._tempMarker=a,this._tempPosition=b,this._tempVolume=c,this._tempLoop=d;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===a&&(this._sound.loop=!0),this.loop||""!==a||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===a?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).isDecoding===!1&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(a,b,c,d){a=a||"",b=b||0,c=c||1,void 0===d&&(d=!1),this.play(a,b,c,d,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var a=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var b=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,a,b):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,a):this._sound.start(0,a,b)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(a){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var a=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,a)}},fadeIn:function(a,b,c){void 0===b&&(b=!1),void 0===c&&(c=this.currentMarker),this.paused||(this.play(c,0,0,b),this.fadeTo(a,1))},fadeOut:function(a){this.fadeTo(a,0)},fadeTo:function(a,b){if(this.isPlaying&&!this.paused&&b!==this.volume){if(void 0===a&&(a=1e3),void 0===b)return void console.warn("Phaser.Sound.fadeTo: No Volume Specified.");this.fadeTween=this.game.add.tween(this).to({volume:b},a,c.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)}},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(a){this.usingAudioTag&&this._sound&&(this._sound.volume=a*this._volume)},destroy:function(a){void 0===a&&(a=!0),this.stop(),a?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},c.Sound.prototype.constructor=c.Sound,Object.defineProperty(c.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(c.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(c.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(a){a=a||!1,a!==this._muted&&(a?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(c.Sound.prototype,"volume",{get:function(){return this._volume},set:function(a){return this.game.device.firefox&&this.usingAudioTag&&(a=this.game.math.clamp(a,0,1)),this._muted?void(this._muteVolume=a):(this._tempVolume=a,this._volume=a,void(this.usingWebAudio?this.gainNode.gain.value=a:this.usingAudioTag&&this._sound&&(this._sound.volume=a)))}}),c.SoundManager=function(a){this.game=a,this.onSoundDecode=new c.Signal,this.onVolumeChange=new c.Signal,this.onMute=new c.Signal,this.onUnMute=new c.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new c.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},c.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&this.game.device.webAudio===!1&&(this.channels=1),window.PhaserGlobal){if(window.PhaserGlobal.disableAudio===!0)return this.noAudio=!0,void(this.touchLocked=!1);if(window.PhaserGlobal.disableWebAudio===!0)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||(!this.game.device.cocoonJS&&this.game.device.iOS||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&window.PhaserGlobal.disableAudio===!0||(this.game.device.iOSVersion>8?this.game.input.touch.addTouchLockCallback(this.unlock,this,!0):this.game.input.touch.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var a=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=a,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0)}return!0},stopAll:function(){if(!this.noAudio)for(var a=0;a1&&(a=1),this._volume!==a){if(this._volume=a,this.usingWebAudio)this.masterGain.gain.value=a;else for(var b=0;b=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._updateThrottleb;return i=i?d:!d,i?(a.width=Math.floor(e),a.height=Math.floor(f)):(a.width=Math.floor(g),a.height=Math.floor(h)),a},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},c.ScaleManager.prototype.constructor=c.ScaleManager,Object.defineProperty(c.ScaleManager.prototype,"boundingParent",{get:function(){if(this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget)return null;var a=this.game.canvas&&this.game.canvas.parentNode;return a||null}}),Object.defineProperty(c.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(a){return a!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=a),this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(a){return a!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=a,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=a),this._fullScreenScaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(a){a!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(a){a!==this._pageAlignVertically&&(this._pageAlignVertically=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(c.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(c.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),c.Utils.Debug=function(a){this.game=a,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1},c.Utils.Debug.prototype={boot:function(){this.game.renderType===c.CANVAS?this.context=this.game.context:(this.bmd=new c.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,(!0)),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=PIXI.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d"))},resize:function(a,b,c){this.bmd.resize(b,c),this.canvas.width=b,this.canvas.height=c},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(a,b,c,d){"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),c=c||"rgb(255,255,255)",void 0===d&&(d=0),this.currentX=a,this.currentY=b,this.currentColor=c,this.columnWidth=d,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=c,this.context.fillStyle=c,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var a=this.currentX,b=0;b0)for(var b=0;b=0&&c.right>=0&&c.top<=this.layoutBounds.width&&c.left<=this.layoutBounds.height},getScreenOrientation:function(a){var b=window.screen,c=b.orientation||b.mozOrientation||b.msOrientation;if(c&&"string"==typeof c.type)return c.type;if("string"==typeof c)return c;var d="portrait-primary",e="landscape-primary";if("screen"===a)return b.height>b.width?d:e;if("viewport"===a)return this.visualBounds.height>this.visualBounds.width?d:e;if("window.orientation"===a&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?d:e;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return d;if(window.matchMedia("(orientation: landscape)").matches)return e}return this.visualBounds.height>this.visualBounds.width?d:e},visualBounds:new c.Rectangle,layoutBounds:new c.Rectangle,documentBounds:new c.Rectangle},c.Device.whenReady(function(a){var b=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},d=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};Object.defineProperty(c.DOM,"scrollX",{get:b}),Object.defineProperty(c.DOM,"scrollY",{get:d}),Object.defineProperty(c.DOM.visualBounds,"x",{get:b}),Object.defineProperty(c.DOM.visualBounds,"y",{get:d}),Object.defineProperty(c.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(c.DOM.layoutBounds,"y",{value:0});var e=a.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight;if(e){var f=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},g=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(c.DOM.visualBounds,"width",{get:f}),Object.defineProperty(c.DOM.visualBounds,"height",{get:g}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:f}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:g})}else Object.defineProperty(c.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(c.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:function(){var a=document.documentElement.clientWidth,b=window.innerWidth;return a-1},reset:function(){this.list.length=0},remove:function(a){var b=this.list.indexOf(a);if(b>-1)return this.list.splice(b,1),a},setAll:function(a,b){for(var c=this.list.length;c--;)this.list[c]&&(this.list[c][a]=b)},callAll:function(a){for(var b=Array.prototype.slice.call(arguments,1),c=this.list.length;c--;)this.list[c]&&this.list[c][a]&&this.list[c][a].apply(this.list[c],b)},removeAll:function(a){void 0===a&&(a=!1);for(var b=this.list.length;b--;)if(this.list[b]){var c=this.remove(this.list[b]);a&&c.destroy()}this.position=0,this.list=[]}},Object.defineProperty(c.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(c.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(c.ArraySet.prototype,"next",{get:function(){return this.position0;b--){var c=Math.floor(Math.random()*(b+1)),d=a[b];a[b]=a[c],a[c]=d}return a},transposeMatrix:function(a){for(var b=a.length,c=a[0].length,d=new Array(c),e=0;e-1;f--)d[e][f]=a[f][e]}return d},rotateMatrix:function(a,b){if("string"!=typeof b&&(b=(b%360+360)%360),90===b||b===-270||"rotateLeft"===b)a=c.ArrayUtils.transposeMatrix(a),a=a.reverse();else if(b===-90||270===b||"rotateRight"===b)a=a.reverse(),a=c.ArrayUtils.transposeMatrix(a);else if(180===Math.abs(b)||"rotate180"===b){for(var d=0;d>>0:(a<<24|b<<16|d<<8|e)>>>0},unpackPixel:function(a,b,d,e){return void 0!==b&&null!==b||(b=c.Color.createColor()),void 0!==d&&null!==d||(d=!1),void 0!==e&&null!==e||(e=!1),c.Device.LITTLE_ENDIAN?(b.a=(4278190080&a)>>>24,b.b=(16711680&a)>>>16,b.g=(65280&a)>>>8,b.r=255&a):(b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a),b.color=a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a/255+")",d&&c.Color.RGBtoHSL(b.r,b.g,b.b,b),e&&c.Color.RGBtoHSV(b.r,b.g,b.b,b),b},fromRGBA:function(a,b){return b||(b=c.Color.createColor()),b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a+")",b},toRGBA:function(a,b,c,d){return a<<24|b<<16|c<<8|d},toABGR:function(a,b,c,d){return(d<<24|c<<16|b<<8|a)>>>0},RGBtoHSL:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,1)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d);if(e.h=0,e.s=0,e.l=(g+f)/2,g!==f){var h=g-f;e.s=e.l>.5?h/(2-g-f):h/(g+f),g===a?e.h=(b-d)/h+(b1&&(c-=1),c<1/6?a+6*(b-a)*c:c<.5?b:c<2/3?a+(b-a)*(2/3-c)*6:a},createColor:function(a,b,d,e,f,g,h,i){var j={r:a||0,g:b||0,b:d||0,a:e||1,h:f||0,s:g||0,l:h||0,v:i||0,color:0,color32:0,rgba:""};return c.Color.updateColor(j)},updateColor:function(a){return a.rgba="rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+a.a.toString()+")",a.color=c.Color.getColor(a.r,a.g,a.b),a.color32=c.Color.getColor32(255*a.a,a.r,a.g,a.b),a},getColor32:function(a,b,c,d){return a<<24|b<<16|c<<8|d},getColor:function(a,b,c){return a<<16|b<<8|c},RGBtoString:function(a,b,d,e,f){return void 0===e&&(e=255),void 0===f&&(f="#"),"#"===f?"#"+((1<<24)+(a<<16)+(b<<8)+d).toString(16).slice(1):"0x"+c.Color.componentToHex(e)+c.Color.componentToHex(a)+c.Color.componentToHex(b)+c.Color.componentToHex(d)},hexToRGB:function(a){var b=c.Color.hexToColor(a);if(b)return c.Color.getColor32(b.a,b.r,b.g,b.b); -},hexToColor:function(a,b){a=a.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,b,c,d){return b+b+c+c+d+d});var d=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);if(d){var e=parseInt(d[1],16),f=parseInt(d[2],16),g=parseInt(d[3],16);b?(b.r=e,b.g=f,b.b=g):b=c.Color.createColor(e,f,g)}return b},webToColor:function(a,b){b||(b=c.Color.createColor());var d=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(a);return d&&(b.r=parseInt(d[1],10),b.g=parseInt(d[2],10),b.b=parseInt(d[3],10),b.a=void 0!==d[4]?parseFloat(d[4]):1,c.Color.updateColor(b)),b},valueToColor:function(a,b){if(b||(b=c.Color.createColor()),"string"==typeof a)return 0===a.indexOf("rgb")?c.Color.webToColor(a,b):(b.a=1,c.Color.hexToColor(a,b));if("number"==typeof a){var d=c.Color.getRGB(a);return b.r=d.r,b.g=d.g,b.b=d.b,b.a=d.a/255,b}return b},componentToHex:function(a){var b=a.toString(16);return 1===b.length?"0"+b:b},HSVColorWheel:function(a,b){void 0===a&&(a=1),void 0===b&&(b=1);for(var d=[],e=0;e<=359;e++)d.push(c.Color.HSVtoRGB(e/359,a,b));return d},HSLColorWheel:function(a,b){void 0===a&&(a=.5),void 0===b&&(b=.5);for(var d=[],e=0;e<=359;e++)d.push(c.Color.HSLtoRGB(e/359,a,b));return d},interpolateColor:function(a,b,d,e,f){void 0===f&&(f=255);var g=c.Color.getRGB(a),h=c.Color.getRGB(b),i=(h.red-g.red)*e/d+g.red,j=(h.green-g.green)*e/d+g.green,k=(h.blue-g.blue)*e/d+g.blue;return c.Color.getColor32(f,i,j,k)},interpolateColorWithRGB:function(a,b,d,e,f,g){var h=c.Color.getRGB(a),i=(b-h.red)*g/f+h.red,j=(d-h.green)*g/f+h.green,k=(e-h.blue)*g/f+h.blue;return c.Color.getColor(i,j,k)},interpolateRGB:function(a,b,d,e,f,g,h,i){var j=(e-a)*i/h+a,k=(f-b)*i/h+b,l=(g-d)*i/h+d;return c.Color.getColor(j,k,l)},getRandomColor:function(a,b,d){if(void 0===a&&(a=0),void 0===b&&(b=255),void 0===d&&(d=255),b>255||a>b)return c.Color.getColor(255,255,255);var e=a+Math.round(Math.random()*(b-a)),f=a+Math.round(Math.random()*(b-a)),g=a+Math.round(Math.random()*(b-a));return c.Color.getColor32(d,e,f,g)},getRGB:function(a){return a>16777215?{alpha:a>>>24,red:a>>16&255,green:a>>8&255,blue:255&a,a:a>>>24,r:a>>16&255,g:a>>8&255,b:255&a}:{alpha:255,red:a>>16&255,green:a>>8&255,blue:255&a,a:255,r:a>>16&255,g:a>>8&255,b:255&a}},getWebRGB:function(a){if("object"==typeof a)return"rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+(a.a/255).toString()+")";var b=c.Color.getRGB(a);return"rgba("+b.r.toString()+","+b.g.toString()+","+b.b.toString()+","+(b.a/255).toString()+")"},getAlpha:function(a){return a>>>24},getAlphaFloat:function(a){return(a>>>24)/255},getRed:function(a){return a>>16&255},getGreen:function(a){return a>>8&255},getBlue:function(a){return 255&a},blendNormal:function(a){return a},blendLighten:function(a,b){return b>a?b:a},blendDarken:function(a,b){return b>a?a:b},blendMultiply:function(a,b){return a*b/255},blendAverage:function(a,b){return(a+b)/2},blendAdd:function(a,b){return Math.min(255,a+b)},blendSubtract:function(a,b){return Math.max(0,a+b-255)},blendDifference:function(a,b){return Math.abs(a-b)},blendNegation:function(a,b){return 255-Math.abs(255-a-b)},blendScreen:function(a,b){return 255-((255-a)*(255-b)>>8)},blendExclusion:function(a,b){return a+b-2*a*b/255},blendOverlay:function(a,b){return b<128?2*a*b/255:255-2*(255-a)*(255-b)/255},blendSoftLight:function(a,b){return b<128?2*((a>>1)+64)*(b/255):255-2*(255-((a>>1)+64))*(255-b)/255},blendHardLight:function(a,b){return c.Color.blendOverlay(b,a)},blendColorDodge:function(a,b){return 255===b?b:Math.min(255,(a<<8)/(255-b))},blendColorBurn:function(a,b){return 0===b?b:Math.max(0,255-(255-a<<8)/b)},blendLinearDodge:function(a,b){return c.Color.blendAdd(a,b)},blendLinearBurn:function(a,b){return c.Color.blendSubtract(a,b)},blendLinearLight:function(a,b){return b<128?c.Color.blendLinearBurn(a,2*b):c.Color.blendLinearDodge(a,2*(b-128))},blendVividLight:function(a,b){return b<128?c.Color.blendColorBurn(a,2*b):c.Color.blendColorDodge(a,2*(b-128))},blendPinLight:function(a,b){return b<128?c.Color.blendDarken(a,2*b):c.Color.blendLighten(a,2*(b-128))},blendHardMix:function(a,b){return c.Color.blendVividLight(a,b)<128?0:255},blendReflect:function(a,b){return 255===b?b:Math.min(255,a*a/(255-b))},blendGlow:function(a,b){return c.Color.blendReflect(b,a)},blendPhoenix:function(a,b){return Math.min(a,b)-Math.max(a,b)+255}},c.Physics=function(a,b){b=b||{},this.game=a,this.config=b,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},c.Physics.ARCADE=0,c.Physics.P2JS=1,c.Physics.NINJA=2,c.Physics.BOX2D=3,c.Physics.CHIPMUNK=4,c.Physics.MATTERJS=5,c.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&this.config.arcade!==!0||!c.Physics.hasOwnProperty("Arcade")||(this.arcade=new c.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&this.config.ninja===!0&&c.Physics.hasOwnProperty("Ninja")&&(this.ninja=new c.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&this.config.p2===!0&&c.Physics.hasOwnProperty("P2")&&(this.p2=new c.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&this.config.box2d===!0&&c.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new c.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&this.config.matter===!0&&c.Physics.hasOwnProperty("Matter")&&(this.matter=new c.Physics.Matter(this.game,this.config))},startSystem:function(a){a===c.Physics.ARCADE?this.arcade=new c.Physics.Arcade(this.game):a===c.Physics.P2JS?null===this.p2?this.p2=new c.Physics.P2(this.game,this.config):this.p2.reset():a===c.Physics.NINJA?this.ninja=new c.Physics.Ninja(this.game):a===c.Physics.BOX2D?null===this.box2d?this.box2d=new c.Physics.Box2D(this.game,this.config):this.box2d.reset():a===c.Physics.MATTERJS&&(null===this.matter?this.matter=new c.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(a,b,d){void 0===b&&(b=c.Physics.ARCADE),void 0===d&&(d=!1),b===c.Physics.ARCADE?this.arcade.enable(a):b===c.Physics.P2JS&&this.p2?this.p2.enable(a,d):b===c.Physics.NINJA&&this.ninja?this.ninja.enableAABB(a):b===c.Physics.BOX2D&&this.box2d?this.box2d.enable(a):b===c.Physics.MATTERJS&&this.matter?this.matter.enable(a):console.warn(a.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},c.Physics.prototype.constructor=c.Physics,c.Physics.Arcade=function(a){this.game=a,this.gravity=new c.Point,this.bounds=new c.Rectangle(0,0,a.world.width,a.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=c.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new c.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},c.Physics.Arcade.prototype.constructor=c.Physics.Arcade,c.Physics.Arcade.SORT_NONE=0,c.Physics.Arcade.LEFT_RIGHT=1,c.Physics.Arcade.RIGHT_LEFT=2,c.Physics.Arcade.TOP_BOTTOM=3,c.Physics.Arcade.BOTTOM_TOP=4,c.Physics.Arcade.prototype={setBounds:function(a,b,c,d){this.bounds.setTo(a,b,c,d)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(a,b){void 0===b&&(b=!0);var d=1;if(Array.isArray(a))for(d=a.length;d--;)a[d]instanceof c.Group?this.enable(a[d].children,b):(this.enableBody(a[d]),b&&a[d].hasOwnProperty("children")&&a[d].children.length>0&&this.enable(a[d],!0));else a instanceof c.Group?this.enable(a.children,b):(this.enableBody(a),b&&a.hasOwnProperty("children")&&a.children.length>0&&this.enable(a.children,!0))},enableBody:function(a){a.hasOwnProperty("body")&&null===a.body&&(a.body=new c.Physics.Arcade.Body(a),a.parent&&a.parent instanceof c.Group&&a.parent.addToHash(a))},updateMotion:function(a){var b=this.computeVelocity(0,a,a.angularVelocity,a.angularAcceleration,a.angularDrag,a.maxAngular)-a.angularVelocity;a.angularVelocity+=b,a.rotation+=a.angularVelocity*this.game.time.physicsElapsed,a.velocity.x=this.computeVelocity(1,a,a.velocity.x,a.acceleration.x,a.drag.x,a.maxVelocity.x),a.velocity.y=this.computeVelocity(2,a,a.velocity.y,a.acceleration.y,a.drag.y,a.maxVelocity.y)},computeVelocity:function(a,b,c,d,e,f){return void 0===f&&(f=1e4),1===a&&b.allowGravity?c+=(this.gravity.x+b.gravity.x)*this.game.time.physicsElapsed:2===a&&b.allowGravity&&(c+=(this.gravity.y+b.gravity.y)*this.game.time.physicsElapsed),d?c+=d*this.game.time.physicsElapsed:e&&(e*=this.game.time.physicsElapsed,c-e>0?c-=e:c+e<0?c+=e:c=0),c>f?c=f:c<-f&&(c=-f),c},overlap:function(a,b,c,d,e){if(c=c||null,d=d||null,e=e||c,this._total=0,!Array.isArray(a)&&Array.isArray(b))for(var f=0;f0},collide:function(a,b,c,d,e){if(c=c||null,d=d||null,e=e||c,this._total=0,!Array.isArray(a)&&Array.isArray(b))for(var f=0;f0},sortLeftRight:function(a,b){return a.body&&b.body?a.body.x-b.body.x:0},sortRightLeft:function(a,b){return a.body&&b.body?b.body.x-a.body.x:0},sortTopBottom:function(a,b){return a.body&&b.body?a.body.y-b.body.y:0},sortBottomTop:function(a,b){return a.body&&b.body?b.body.y-a.body.y:0},sort:function(a,b){null!==a.physicsSortDirection?b=a.physicsSortDirection:void 0===b&&(b=this.sortDirection),b===c.Physics.Arcade.LEFT_RIGHT?a.hash.sort(this.sortLeftRight):b===c.Physics.Arcade.RIGHT_LEFT?a.hash.sort(this.sortRightLeft):b===c.Physics.Arcade.TOP_BOTTOM?a.hash.sort(this.sortTopBottom):b===c.Physics.Arcade.BOTTOM_TOP&&a.hash.sort(this.sortBottomTop)},collideHandler:function(a,b,d,e,f,g){return void 0===b&&a.physicsType===c.GROUP?(this.sort(a),void this.collideGroupVsSelf(a,d,e,f,g)):void(a&&b&&a.exists&&b.exists&&(this.sortDirection!==c.Physics.Arcade.SORT_NONE&&(a.physicsType===c.GROUP&&this.sort(a),b.physicsType===c.GROUP&&this.sort(b)),a.physicsType===c.SPRITE?b.physicsType===c.SPRITE?this.collideSpriteVsSprite(a,b,d,e,f,g):b.physicsType===c.GROUP?this.collideSpriteVsGroup(a,b,d,e,f,g):b.physicsType===c.TILEMAPLAYER&&this.collideSpriteVsTilemapLayer(a,b,d,e,f,g):a.physicsType===c.GROUP?b.physicsType===c.SPRITE?this.collideSpriteVsGroup(b,a,d,e,f,g):b.physicsType===c.GROUP?this.collideGroupVsGroup(a,b,d,e,f,g):b.physicsType===c.TILEMAPLAYER&&this.collideGroupVsTilemapLayer(a,b,d,e,f,g):a.physicsType===c.TILEMAPLAYER&&(b.physicsType===c.SPRITE?this.collideSpriteVsTilemapLayer(b,a,d,e,f,g):b.physicsType===c.GROUP&&this.collideGroupVsTilemapLayer(b,a,d,e,f,g))))},collideSpriteVsSprite:function(a,b,c,d,e,f){return!(!a.body||!b.body)&&(this.separate(a.body,b.body,d,e,f)&&(c&&c.call(e,a,b),this._total++),!0)},collideSpriteVsGroup:function(a,b,d,e,f,g){if(0!==b.length&&a.body)if(this.skipQuadTree||a.body.skipQuadTree)for(var h={},i=0;ih.right)break;if(h.x>a.body.right)continue}else if(this.sortDirection===c.Physics.Arcade.TOP_BOTTOM){if(a.body.bottomh.bottom)break;if(h.y>a.body.bottom)continue}this.collideSpriteVsSprite(a,j,d,e,f,g)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(b);for(var k=this.quadTree.retrieve(a),i=0;ik.right)continue;if(k.x>h.right)break}else if(this.sortDirection===c.Physics.Arcade.TOP_BOTTOM){if(h.bottomk.bottom)continue;if(k.y>i.body.bottom)break}this.collideSpriteVsSprite(i,l,b,d,e,f)}}}}},collideGroupVsGroup:function(a,b,d,e,f,g){if(0!==a.length&&0!==b.length)for(var h=0;hh.bottom)&&(i.xh.right))return this.separateCircle(a,b,e)}var j=!1,k=!1;this.forceX||Math.abs(this.gravity.y+a.gravity.y)=b.right)&&!(a.position.y>=b.bottom))))},circleBodyIntersects:function(a,b){var d=c.Math.clamp(a.center.x,b.left,b.right),e=c.Math.clamp(a.center.y,b.top,b.bottom),f=(a.center.x-d)*(a.center.x-d),g=(a.center.y-e)*(a.center.y-e);return f+g<=a.radius*a.radius},separateCircle:function(a,b,d){this.getOverlapX(a,b),this.getOverlapY(a,b);var e=b.center.x-a.center.x,f=b.center.y-a.center.y,g=Math.atan2(f,e),h=0;if(a.isCircle!==b.isCircle){var i={x:b.isCircle?a.position.x:b.position.x,y:b.isCircle?a.position.y:b.position.y,right:b.isCircle?a.right:b.right,bottom:b.isCircle?a.bottom:b.bottom},j={x:a.isCircle?a.position.x+a.radius:b.position.x+b.radius,y:a.isCircle?a.position.y+a.radius:b.position.y+b.radius,radius:a.isCircle?a.radius:b.radius};j.yi.right&&(h=c.Math.distance(j.x,j.y,i.right,i.y)-j.radius):j.y>i.bottom&&(j.xi.right&&(h=c.Math.distance(j.x,j.y,i.right,i.bottom)-j.radius)),h*=-1}else h=a.radius+b.radius-c.Math.distance(a.center.x,a.center.y,b.center.x,b.center.y);if(d||0===h||a.immovable&&b.immovable||a.customSeparateX||b.customSeparateX)return 0!==h&&(a.onOverlap&&a.onOverlap.dispatch(a.sprite,b.sprite),b.onOverlap&&b.onOverlap.dispatch(b.sprite,a.sprite)),0!==h;var k={x:a.velocity.x*Math.cos(g)+a.velocity.y*Math.sin(g),y:a.velocity.x*Math.sin(g)-a.velocity.y*Math.cos(g)},l={x:b.velocity.x*Math.cos(g)+b.velocity.y*Math.sin(g),y:b.velocity.x*Math.sin(g)-b.velocity.y*Math.cos(g)},m=((a.mass-b.mass)*k.x+2*b.mass*l.x)/(a.mass+b.mass),n=(2*a.mass*k.x+(b.mass-a.mass)*l.x)/(a.mass+b.mass);return a.immovable||(a.velocity.x=(m*Math.cos(g)-k.y*Math.sin(g))*a.bounce.x,a.velocity.y=(k.y*Math.cos(g)+m*Math.sin(g))*a.bounce.y),b.immovable||(b.velocity.x=(n*Math.cos(g)-l.y*Math.sin(g))*b.bounce.x,b.velocity.y=(l.y*Math.cos(g)+n*Math.sin(g))*b.bounce.y),Math.abs(g)0&&!a.immovable&&b.velocity.x>a.velocity.x?a.velocity.x*=-1:b.velocity.x<0&&!b.immovable&&a.velocity.x0&&!a.immovable&&b.velocity.y>a.velocity.y?a.velocity.y*=-1:b.velocity.y<0&&!b.immovable&&a.velocity.yMath.PI/2&&(a.velocity.x<0&&!a.immovable&&b.velocity.x0&&!b.immovable&&a.velocity.x>b.velocity.x?b.velocity.x*=-1:a.velocity.y<0&&!a.immovable&&b.velocity.y0&&!b.immovable&&a.velocity.x>b.velocity.y&&(b.velocity.y*=-1)),a.immovable||(a.x+=a.velocity.x*this.game.time.physicsElapsed-h*Math.cos(g),a.y+=a.velocity.y*this.game.time.physicsElapsed-h*Math.sin(g)),b.immovable||(b.x+=b.velocity.x*this.game.time.physicsElapsed+h*Math.cos(g),b.y+=b.velocity.y*this.game.time.physicsElapsed+h*Math.sin(g)),a.onCollide&&a.onCollide.dispatch(a.sprite,b.sprite),b.onCollide&&b.onCollide.dispatch(b.sprite,a.sprite),!0},getOverlapX:function(a,b,c){var d=0,e=a.deltaAbsX()+b.deltaAbsX()+this.OVERLAP_BIAS;return 0===a.deltaX()&&0===b.deltaX()?(a.embedded=!0,b.embedded=!0):a.deltaX()>b.deltaX()?(d=a.right-b.x,d>e&&!c||a.checkCollision.right===!1||b.checkCollision.left===!1?d=0:(a.touching.none=!1,a.touching.right=!0,b.touching.none=!1,b.touching.left=!0)):a.deltaX()e&&!c||a.checkCollision.left===!1||b.checkCollision.right===!1?d=0:(a.touching.none=!1,a.touching.left=!0,b.touching.none=!1,b.touching.right=!0)),a.overlapX=d,b.overlapX=d,d},getOverlapY:function(a,b,c){var d=0,e=a.deltaAbsY()+b.deltaAbsY()+this.OVERLAP_BIAS;return 0===a.deltaY()&&0===b.deltaY()?(a.embedded=!0,b.embedded=!0):a.deltaY()>b.deltaY()?(d=a.bottom-b.y,d>e&&!c||a.checkCollision.down===!1||b.checkCollision.up===!1?d=0:(a.touching.none=!1,a.touching.down=!0,b.touching.none=!1,b.touching.up=!0)):a.deltaY()e&&!c||a.checkCollision.up===!1||b.checkCollision.down===!1?d=0:(a.touching.none=!1,a.touching.up=!0,b.touching.none=!1,b.touching.down=!0)),a.overlapY=d,b.overlapY=d,d},separateX:function(a,b,c){var d=this.getOverlapX(a,b,c);if(c||0===d||a.immovable&&b.immovable||a.customSeparateX||b.customSeparateX)return 0!==d||a.embedded&&b.embedded;var e=a.velocity.x,f=b.velocity.x;if(a.immovable||b.immovable)a.immovable?(b.x+=d,b.velocity.x=e-f*b.bounce.x,a.moves&&(b.y+=(a.y-a.prev.y)*a.friction.y)):(a.x-=d,a.velocity.x=f-e*a.bounce.x,b.moves&&(a.y+=(b.y-b.prev.y)*b.friction.y));else{d*=.5,a.x-=d,b.x+=d;var g=Math.sqrt(f*f*b.mass/a.mass)*(f>0?1:-1),h=Math.sqrt(e*e*a.mass/b.mass)*(e>0?1:-1),i=.5*(g+h);g-=i,h-=i,a.velocity.x=i+g*a.bounce.x,b.velocity.x=i+h*b.bounce.x}return!0},separateY:function(a,b,c){var d=this.getOverlapY(a,b,c);if(c||0===d||a.immovable&&b.immovable||a.customSeparateY||b.customSeparateY)return 0!==d||a.embedded&&b.embedded;var e=a.velocity.y,f=b.velocity.y;if(a.immovable||b.immovable)a.immovable?(b.y+=d,b.velocity.y=e-f*b.bounce.y,a.moves&&(b.x+=(a.x-a.prev.x)*a.friction.x)):(a.y-=d,a.velocity.y=f-e*a.bounce.y,b.moves&&(a.x+=(b.x-b.prev.x)*b.friction.x));else{d*=.5,a.y-=d,b.y+=d;var g=Math.sqrt(f*f*b.mass/a.mass)*(f>0?1:-1),h=Math.sqrt(e*e*a.mass/b.mass)*(e>0?1:-1),i=.5*(g+h);g-=i,h-=i,a.velocity.y=i+g*a.bounce.y,b.velocity.y=i+h*b.bounce.y}return!0},getObjectsUnderPointer:function(a,b,c,d){if(0!==b.length&&a.exists)return this.getObjectsAtLocation(a.x,a.y,b,c,d,a)},getObjectsAtLocation:function(a,b,d,e,f,g){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(d);for(var h=new c.Rectangle(a,b,1,1),i=[],j=this.quadTree.retrieve(h),k=0;k0&&(c=this.distanceBetween(a,b)/(d/1e3)),a.body.velocity.x=Math.cos(e)*c,a.body.velocity.y=Math.sin(e)*c,e},moveToPointer:function(a,b,c,d){void 0===b&&(b=60),c=c||this.game.input.activePointer,void 0===d&&(d=0);var e=this.angleToPointer(a,c);return d>0&&(b=this.distanceToPointer(a,c)/(d/1e3)),a.body.velocity.x=Math.cos(e)*b,a.body.velocity.y=Math.sin(e)*b,e},moveToXY:function(a,b,c,d,e){void 0===d&&(d=60),void 0===e&&(e=0);var f=Math.atan2(c-a.y,b-a.x);return e>0&&(d=this.distanceToXY(a,b,c)/(e/1e3)),a.body.velocity.x=Math.cos(f)*d,a.body.velocity.y=Math.sin(f)*d,f},velocityFromAngle:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(this.game.math.degToRad(a))*b,Math.sin(this.game.math.degToRad(a))*b)},velocityFromRotation:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(a)*b,Math.sin(a)*b)},accelerationFromRotation:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(a)*b,Math.sin(a)*b)},accelerateToObject:function(a,b,c,d,e){void 0===c&&(c=60),void 0===d&&(d=1e3),void 0===e&&(e=1e3);var f=this.angleBetween(a,b);return a.body.acceleration.setTo(Math.cos(f)*c,Math.sin(f)*c),a.body.maxVelocity.setTo(d,e),f},accelerateToPointer:function(a,b,c,d,e){void 0===c&&(c=60),void 0===b&&(b=this.game.input.activePointer),void 0===d&&(d=1e3),void 0===e&&(e=1e3);var f=this.angleToPointer(a,b);return a.body.acceleration.setTo(Math.cos(f)*c,Math.sin(f)*c),a.body.maxVelocity.setTo(d,e),f},accelerateToXY:function(a,b,c,d,e,f){void 0===d&&(d=60),void 0===e&&(e=1e3),void 0===f&&(f=1e3);var g=this.angleToXY(a,b,c);return a.body.acceleration.setTo(Math.cos(g)*d,Math.sin(g)*d),a.body.maxVelocity.setTo(e,f),g},distanceBetween:function(a,b,c){void 0===c&&(c=!1);var d=c?a.world.x-b.world.x:a.x-b.x,e=c?a.world.y-b.world.y:a.y-b.y;return Math.sqrt(d*d+e*e)},distanceToXY:function(a,b,c,d){void 0===d&&(d=!1);var e=d?a.world.x-b:a.x-b,f=d?a.world.y-c:a.y-c;return Math.sqrt(e*e+f*f)},distanceToPointer:function(a,b,c){void 0===b&&(b=this.game.input.activePointer),void 0===c&&(c=!1);var d=c?a.world.x-b.worldX:a.x-b.worldX,e=c?a.world.y-b.worldY:a.y-b.worldY;return Math.sqrt(d*d+e*e)},angleBetween:function(a,b,c){return void 0===c&&(c=!1),c?Math.atan2(b.world.y-a.world.y,b.world.x-a.world.x):Math.atan2(b.y-a.y,b.x-a.x)},angleBetweenCenters:function(a,b){var c=b.centerX-a.centerX,d=b.centerY-a.centerY;return Math.atan2(d,c)},angleToXY:function(a,b,c,d){return void 0===d&&(d=!1),d?Math.atan2(c-a.world.y,b-a.world.x):Math.atan2(c-a.y,b-a.x)},angleToPointer:function(a,b,c){return void 0===b&&(b=this.game.input.activePointer),void 0===c&&(c=!1),c?Math.atan2(b.worldY-a.world.y,b.worldX-a.world.x):Math.atan2(b.worldY-a.y,b.worldX-a.x)},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.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var a=0,b=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,a=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),a=this.moveTarget.length/this.moveDistance),this.movementCallback)var c=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,a);return!(b||a>=1||void 0!==c&&c!==!0)||(this.stopMovement(a>=1||this.stopVelocityOnCollide&&b),!1)},stopMovement:function(a){this.isMoving&&(this.isMoving=!1,a&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=c.LEFT:this.deltaX()>0&&(this.facing=c.RIGHT),this.deltaY()<0?this.facing=c.UP:this.deltaY()>0&&(this.facing=c.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var a=this.position,b=this.game.physics.arcade.bounds,c=this.game.physics.arcade.checkCollision,d=this.worldBounce?-this.worldBounce.x:-this.bounce.x,e=this.worldBounce?-this.worldBounce.y:-this.bounce.y;if(this.isCircle){var f={x:this.center.x-this.radius,y:this.center.y-this.radius,right:this.center.x+this.radius,bottom:this.center.y+this.radius};f.xb.right&&c.right&&(a.x=b.right-this.halfWidth-this.radius,this.velocity.x*=d,this.blocked.right=!0),f.yb.bottom&&c.down&&(a.y=b.bottom-this.halfHeight-this.radius,this.velocity.y*=e,this.blocked.down=!0)}else a.xb.right&&c.right&&(a.x=b.right-this.width,this.velocity.x*=d,this.blocked.right=!0),a.yb.bottom&&c.down&&(a.y=b.bottom-this.height,this.velocity.y*=e,this.blocked.down=!0);return this.blocked.up||this.blocked.down||this.blocked.left||this.blocked.right},moveFrom:function(a,b,c){if(void 0===b&&(b=this.speed),0===b)return!1;var d;return void 0===c?(d=this.angle,c=this.game.math.radToDeg(d)):d=this.game.math.degToRad(c),this.moveTimer=0,this.moveDuration=a,0===c||180===c?this.velocity.set(Math.cos(d)*b,0):90===c||270===c?this.velocity.set(0,Math.sin(d)*b):this.velocity.set(Math.cos(d)*b,Math.sin(d)*b),this.isMoving=!0,!0},moveTo:function(a,b,d){var e=b/(a/1e3);if(0===e)return!1;var f;return void 0===d?(f=this.angle,d=this.game.math.radToDeg(f)):f=this.game.math.degToRad(d),b=Math.abs(b),this.moveDuration=0,this.moveDistance=b,null===this.moveTarget&&(this.moveTarget=new c.Line,this.moveEnd=new c.Point),this.moveTarget.fromAngle(this.x,this.y,f,b),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===d||180===d?this.velocity.set(Math.cos(f)*e,0):90===d||270===d?this.velocity.set(0,Math.sin(f)*e):this.velocity.set(Math.cos(f)*e,Math.sin(f)*e), -this.isMoving=!0,!0},setSize:function(a,b,c,d){void 0===c&&(c=this.offset.x),void 0===d&&(d=this.offset.y),this.sourceWidth=a,this.sourceHeight=b,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(c,d),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.isCircle=!1,this.radius=0},setCircle:function(a,b,c){void 0===b&&(b=this.offset.x),void 0===c&&(c=this.offset.y),a>0?(this.isCircle=!0,this.radius=a,this.sourceWidth=2*a,this.sourceHeight=2*a,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(b,c),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)):this.isCircle=!1},reset:function(a,b){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0,this.position.x=a-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=b-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.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this._sx=this.sprite.scale.x,this._sy=this.sprite.scale.y,this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},getBounds:function(a){return this.isCircle?(a.x=this.center.x-this.radius,a.y=this.center.y-this.radius,a.right=this.center.x+this.radius,a.bottom=this.center.y+this.radius):(a.x=this.x,a.y=this.y,a.right=this.right,a.bottom=this.bottom),a},hitTest:function(a,b){return this.isCircle?c.Circle.contains(this,a,b):c.Rectangle.contains(this,a,b)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof c.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(c.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(a){this.position.x=a}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(a){this.position.y=a}}),c.Physics.Arcade.Body.render=function(a,b,c,d){void 0===d&&(d=!0),c=c||"rgba(0,255,0,0.4)",a.fillStyle=c,a.strokeStyle=c,b.isCircle?(a.beginPath(),a.arc(b.center.x-b.game.camera.x,b.center.y-b.game.camera.y,b.radius,0,2*Math.PI),d?a.fill():a.stroke()):d?a.fillRect(b.position.x-b.game.camera.x,b.position.y-b.game.camera.y,b.width,b.height):a.strokeRect(b.position.x-b.game.camera.x,b.position.y-b.game.camera.y,b.width,b.height)},c.Physics.Arcade.Body.renderBodyInfo=function(a,b){a.line("x: "+b.x.toFixed(2),"y: "+b.y.toFixed(2),"width: "+b.width,"height: "+b.height),a.line("velocity x: "+b.velocity.x.toFixed(2),"y: "+b.velocity.y.toFixed(2),"deltaX: "+b._dx.toFixed(2),"deltaY: "+b._dy.toFixed(2)),a.line("acceleration x: "+b.acceleration.x.toFixed(2),"y: "+b.acceleration.y.toFixed(2),"speed: "+b.speed.toFixed(2),"angle: "+b.angle.toFixed(2)),a.line("gravity x: "+b.gravity.x,"y: "+b.gravity.y,"bounce x: "+b.bounce.x.toFixed(2),"y: "+b.bounce.y.toFixed(2)),a.line("touching left: "+b.touching.left,"right: "+b.touching.right,"up: "+b.touching.up,"down: "+b.touching.down),a.line("blocked left: "+b.blocked.left,"right: "+b.blocked.right,"up: "+b.blocked.up,"down: "+b.blocked.down)},c.Physics.Arcade.Body.prototype.constructor=c.Physics.Arcade.Body,c.Physics.Arcade.TilemapCollision=function(){},c.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(a,b,c,d,e,f){if(a.body){var g=b.getTiles(a.body.position.x-a.body.tilePadding.x,a.body.position.y-a.body.tilePadding.y,a.body.width+a.body.tilePadding.x,a.body.height+a.body.tilePadding.y,!1,!1);if(0!==g.length)for(var h=0;hb.deltaAbsY()?j=-1:b.deltaAbsX()0&&!a.blocked.right&&b.collideLeft&&a.checkCollision.right&&b.faceLeft&&a.right-e>b.left&&(d=a.right-e-b.left,d>this.TILE_BIAS&&(d=0)),0!==d&&(a.customSeparateX?a.overlapX=d:this.processTileSeparationX(a,d)),d},tileCheckY:function(a,b,c){var d=0,e=c.fixedToCamera?0:c.position.y;return a.deltaY()<0&&!a.blocked.up&&b.collideDown&&a.checkCollision.up?b.faceBottom&&a.y-e0&&!a.blocked.down&&b.collideUp&&a.checkCollision.down&&b.faceTop&&a.bottom-e>b.top&&(d=a.bottom-e-b.top,d>this.TILE_BIAS&&(d=0)),0!==d&&(a.customSeparateY?a.overlapY=d:this.processTileSeparationY(a,d)),d},processTileSeparationX:function(a,b){b<0?a.blocked.left=!0:b>0&&(a.blocked.right=!0),a.position.x-=b,0===a.bounce.x?a.velocity.x=0:a.velocity.x=-a.velocity.x*a.bounce.x},processTileSeparationY:function(a,b){b<0?a.blocked.up=!0:b>0&&(a.blocked.down=!0),a.position.y-=b,0===a.bounce.y?a.velocity.y=0:a.velocity.y=-a.velocity.y*a.bounce.y}},c.Utils.mixinPrototype(c.Physics.Arcade.prototype,c.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,c.Physics.P2=function(a,b){this.game=a,void 0===b?b={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(b.hasOwnProperty("gravity")||(b.gravity=[0,0]),b.hasOwnProperty("broadphase")||(b.broadphase=new p2.SAPBroadphase)),this.config=b,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new c.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new c.Signal,this.onBodyRemoved=new c.Signal,this.onSpringAdded=new c.Signal,this.onSpringRemoved=new c.Signal,this.onConstraintAdded=new c.Signal,this.onConstraintRemoved=new c.Signal,this.onContactMaterialAdded=new c.Signal,this.onContactMaterialRemoved=new c.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new c.Signal,this.onEndContact=new c.Signal,b.hasOwnProperty("mpx")&&b.hasOwnProperty("pxm")&&b.hasOwnProperty("mpxi")&&b.hasOwnProperty("pxmi")&&(this.mpx=b.mpx,this.mpxi=b.mpxi,this.pxm=b.pxm,this.pxmi=b.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new c.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new c.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new c.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},c.Physics.P2.prototype={removeBodyNextStep:function(a){this._toRemove.push(a)},preUpdate:function(){for(var a=this._toRemove.length;a--;)this.removeBody(this._toRemove[a]);this._toRemove.length=0},enable:function(a,b,d){void 0===b&&(b=!1),void 0===d&&(d=!0);var e=1;if(Array.isArray(a))for(e=a.length;e--;)a[e]instanceof c.Group?this.enable(a[e].children,b,d):(this.enableBody(a[e],b),d&&a[e].hasOwnProperty("children")&&a[e].children.length>0&&this.enable(a[e],b,!0));else a instanceof c.Group?this.enable(a.children,b,d):(this.enableBody(a,b),d&&a.hasOwnProperty("children")&&a.children.length>0&&this.enable(a.children,b,!0))},enableBody:function(a,b){a.hasOwnProperty("body")&&null===a.body&&(a.body=new c.Physics.P2.Body(this.game,a,a.x,a.y,1),a.body.debug=b,"undefined"!=typeof a.anchor&&a.anchor.set(.5))},setImpactEvents:function(a){a?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(a,b){this.postBroadphaseCallback=a,this.callbackContext=b,null!==a?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(a){if(this.postBroadphaseCallback&&0!==a.pairs.length)for(var b=a.pairs.length-2;b>=0;b-=2)a.pairs[b].parent&&a.pairs[b+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,a.pairs[b].parent,a.pairs[b+1].parent)&&a.pairs.splice(b,2)},impactHandler:function(a){if(a.bodyA.parent&&a.bodyB.parent){var b=a.bodyA.parent,c=a.bodyB.parent;b._bodyCallbacks[a.bodyB.id]&&b._bodyCallbacks[a.bodyB.id].call(b._bodyCallbackContext[a.bodyB.id],b,c,a.shapeA,a.shapeB),c._bodyCallbacks[a.bodyA.id]&&c._bodyCallbacks[a.bodyA.id].call(c._bodyCallbackContext[a.bodyA.id],c,b,a.shapeB,a.shapeA),b._groupCallbacks[a.shapeB.collisionGroup]&&b._groupCallbacks[a.shapeB.collisionGroup].call(b._groupCallbackContext[a.shapeB.collisionGroup],b,c,a.shapeA,a.shapeB),c._groupCallbacks[a.shapeA.collisionGroup]&&c._groupCallbacks[a.shapeA.collisionGroup].call(c._groupCallbackContext[a.shapeA.collisionGroup],c,b,a.shapeB,a.shapeA)}},beginContactHandler:function(a){a.bodyA&&a.bodyB&&(this.onBeginContact.dispatch(a.bodyA,a.bodyB,a.shapeA,a.shapeB,a.contactEquations),a.bodyA.parent&&a.bodyA.parent.onBeginContact.dispatch(a.bodyB.parent,a.bodyB,a.shapeA,a.shapeB,a.contactEquations),a.bodyB.parent&&a.bodyB.parent.onBeginContact.dispatch(a.bodyA.parent,a.bodyA,a.shapeB,a.shapeA,a.contactEquations))},endContactHandler:function(a){a.bodyA&&a.bodyB&&(this.onEndContact.dispatch(a.bodyA,a.bodyB,a.shapeA,a.shapeB),a.bodyA.parent&&a.bodyA.parent.onEndContact.dispatch(a.bodyB.parent,a.bodyB,a.shapeA,a.shapeB),a.bodyB.parent&&a.bodyB.parent.onEndContact.dispatch(a.bodyA.parent,a.bodyA,a.shapeB,a.shapeA))},setBoundsToWorld:function(a,b,c,d,e){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,a,b,c,d,e)},setWorldMaterial:function(a,b,c,d,e){void 0===b&&(b=!0),void 0===c&&(c=!0),void 0===d&&(d=!0),void 0===e&&(e=!0),b&&this.walls.left&&(this.walls.left.shapes[0].material=a),c&&this.walls.right&&(this.walls.right.shapes[0].material=a),d&&this.walls.top&&(this.walls.top.shapes[0].material=a),e&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=a)},updateBoundsCollisionGroup:function(a){void 0===a&&(a=!0);var b=a?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=b),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=b),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=b),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=b),this._boundsOwnGroup=a},setBounds:function(a,b,c,d,e,f,g,h,i){void 0===e&&(e=this._boundsLeft),void 0===f&&(f=this._boundsRight),void 0===g&&(g=this._boundsTop),void 0===h&&(h=this._boundsBottom),void 0===i&&(i=this._boundsOwnGroup),this.setupWall(e,"left",a,b,1.5707963267948966,i),this.setupWall(f,"right",a+c,b,-1.5707963267948966,i),this.setupWall(g,"top",a,b,-3.141592653589793,i),this.setupWall(h,"bottom",a,b+d,0,i),this._boundsLeft=e,this._boundsRight=f,this._boundsTop=g,this._boundsBottom=h,this._boundsOwnGroup=i},setupWall:function(a,b,c,d,e,f){a?(this.walls[b]?this.walls[b].position=[this.pxmi(c),this.pxmi(d)]:(this.walls[b]=new p2.Body({mass:0,position:[this.pxmi(c),this.pxmi(d)],angle:e}),this.walls[b].addShape(new p2.Plane),this.world.addBody(this.walls[b])),f&&(this.walls[b].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[b]&&(this.world.removeBody(this.walls[b]),this.walls[b]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new c.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new c.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new c.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var a=this.world.constraints,b=a.length-1;b>=0;b--)this.world.removeConstraint(a[b]);for(var c=this.world.bodies,b=c.length-1;b>=0;b--)this.world.removeBody(c[b]);for(var d=this.world.springs,b=d.length-1;b>=0;b--)this.world.removeSpring(d[b]);for(var e=this.world.contactMaterials,b=e.length-1;b>=0;b--)this.world.removeContactMaterial(e[b]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(a){return!a.data.world&&(this.world.addBody(a.data),this.onBodyAdded.dispatch(a),!0)},removeBody:function(a){return a.data.world===this.world&&(this.world.removeBody(a.data),this.onBodyRemoved.dispatch(a)),a},addSpring:function(a){return a instanceof c.Physics.P2.Spring||a instanceof c.Physics.P2.RotationalSpring?this.world.addSpring(a.data):this.world.addSpring(a),this.onSpringAdded.dispatch(a),a},removeSpring:function(a){return a instanceof c.Physics.P2.Spring||a instanceof c.Physics.P2.RotationalSpring?this.world.removeSpring(a.data):this.world.removeSpring(a),this.onSpringRemoved.dispatch(a),a},createDistanceConstraint:function(a,b,d,e,f,g){return a=this.getBody(a),b=this.getBody(b),a&&b?this.addConstraint(new c.Physics.P2.DistanceConstraint(this,a,b,d,e,f,g)):void console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(a,b,d,e){return a=this.getBody(a),b=this.getBody(b),a&&b?this.addConstraint(new c.Physics.P2.GearConstraint(this,a,b,d,e)):void console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(a,b,d,e,f,g){return a=this.getBody(a),d=this.getBody(d),a&&d?this.addConstraint(new c.Physics.P2.RevoluteConstraint(this,a,b,d,e,f,g)):void console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(a,b,d,e,f){return a=this.getBody(a),b=this.getBody(b),a&&b?this.addConstraint(new c.Physics.P2.LockConstraint(this,a,b,d,e,f)):void console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(a,b,d,e,f,g,h){return a=this.getBody(a),b=this.getBody(b),a&&b?this.addConstraint(new c.Physics.P2.PrismaticConstraint(this,a,b,d,e,f,g,h)):void console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(a){return this.world.addConstraint(a),this.onConstraintAdded.dispatch(a),a},removeConstraint:function(a){return this.world.removeConstraint(a),this.onConstraintRemoved.dispatch(a),a},addContactMaterial:function(a){return this.world.addContactMaterial(a),this.onContactMaterialAdded.dispatch(a),a},removeContactMaterial:function(a){return this.world.removeContactMaterial(a),this.onContactMaterialRemoved.dispatch(a),a},getContactMaterial:function(a,b){return this.world.getContactMaterial(a,b)},setMaterial:function(a,b){for(var c=b.length;c--;)b[c].setMaterial(a)},createMaterial:function(a,b){a=a||"";var d=new c.Physics.P2.Material(a);return this.materials.push(d),"undefined"!=typeof b&&b.setMaterial(d),d},createContactMaterial:function(a,b,d){void 0===a&&(a=this.createMaterial()),void 0===b&&(b=this.createMaterial());var e=new c.Physics.P2.ContactMaterial(a,b,d);return this.addContactMaterial(e)},getBodies:function(){for(var a=[],b=this.world.bodies.length;b--;)a.push(this.world.bodies[b].parent);return a},getBody:function(a){return a instanceof p2.Body?a:a instanceof c.Physics.P2.Body?a.data:a.body&&a.body.type===c.Physics.P2JS?a.body.data:null},getSprings:function(){for(var a=[],b=this.world.springs.length;b--;)a.push(this.world.springs[b].parent);return a},getConstraints:function(){for(var a=[],b=this.world.constraints.length;b--;)a.push(this.world.constraints[b]);return a},hitTest:function(a,b,d,e){void 0===b&&(b=this.world.bodies),void 0===d&&(d=5),void 0===e&&(e=!1);for(var f=[this.pxmi(a.x),this.pxmi(a.y)],g=[],h=b.length;h--;)b[h]instanceof c.Physics.P2.Body&&(!e||b[h].data.type!==p2.Body.STATIC)?g.push(b[h].data):b[h]instanceof p2.Body&&b[h].parent&&(!e||b[h].type!==p2.Body.STATIC)?g.push(b[h]):b[h]instanceof c.Sprite&&b[h].hasOwnProperty("body")&&(!e||b[h].body.data.type!==p2.Body.STATIC)&&g.push(b[h].body.data);return this.world.hitTest(f,g,d)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(a){var b=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|b),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|b),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|b),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|b),this._collisionGroupID++;var d=new c.Physics.P2.CollisionGroup(b);return this.collisionGroups.push(d),a&&this.setCollisionGroup(a,d),d},setCollisionGroup:function(a,b){if(a instanceof c.Group)for(var d=0;d-1&&l.collides)if(d){var m=a.getTileRight(b,j,h);if(0===e&&(f=l.x*l.width,g=l.y*l.height,e=l.width),m&&m.collides)e+=l.width;else{var n=this.createBody(f,g,0,!1);n.addRectangle(e,l.height,e/2,l.height/2,0),c&&this.addBody(n),a.layers[b].bodies.push(n),e=0}}else{var n=this.createBody(l.x*l.width,l.y*l.height,0,!1);n.addRectangle(l.width,l.height,l.width/2,l.height/2,0),c&&this.addBody(n),a.layers[b].bodies.push(n)}}}return a.layers[b].bodies},mpx:function(a){return a*=20},pxm:function(a){return.05*a},mpxi:function(a){return a*=-20},pxmi:function(a){return a*-.05}},Object.defineProperty(c.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(a){this.world.defaultContactMaterial.friction=a}}),Object.defineProperty(c.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(a){this.world.defaultContactMaterial.restitution=a}}),Object.defineProperty(c.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(a){this.world.defaultContactMaterial=a}}),Object.defineProperty(c.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(a){this.world.applySpringForces=a}}),Object.defineProperty(c.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(a){this.world.applyDamping=a}}),Object.defineProperty(c.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(a){this.world.applyGravity=a}}),Object.defineProperty(c.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(a){this.world.solveConstraints=a}}),Object.defineProperty(c.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(c.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(a){this.world.emitImpactEvent=a}}),Object.defineProperty(c.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(a){this.world.sleepMode=a}}),Object.defineProperty(c.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),c.Physics.P2.FixtureList=function(a){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[a.mask],delete this._groupCallbackContext[a.mask]):(this._groupCallbacks[a.mask]=b,this._groupCallbackContext[a.mask]=c)},getCollisionMask:function(){var a=0;this._collideWorldBounds&&(a=this.game.physics.p2.boundsCollisionGroup.mask);for(var b=0;b=0;c--)this.data.shapes[c].collisionMask=b;else a.collisionMask=b},setCollisionGroup:function(a,b){var c=this.getCollisionMask();if(void 0===b)for(var d=this.data.shapes.length-1;d>=0;d--)this.data.shapes[d].collisionGroup=a.mask,this.data.shapes[d].collisionMask=c;else b.collisionGroup=a.mask,b.collisionMask=c},clearCollision:function(a,b,c){if(void 0===a&&(a=!0),void 0===b&&(b=!0),void 0===c)for(var d=this.data.shapes.length-1;d>=0;d--)a&&(this.data.shapes[d].collisionGroup=null),b&&(this.data.shapes[d].collisionMask=null);else a&&(c.collisionGroup=null),b&&(c.collisionMask=null);a&&(this.collidesWith.length=0)},removeCollisionGroup:function(a,b,c){void 0===b&&(b=!0);var d;if(Array.isArray(a))for(var e=0;e-1&&(this.collidesWith.splice(d,1),b&&(delete this._groupCallbacks[a.mask],delete this._groupCallbackContext[a.mask]));else d=this.collidesWith.indexOf(a),d>-1&&(this.collidesWith.splice(d,1),b&&(delete this._groupCallbacks[a.mask],delete this._groupCallbackContext[a.mask]));var f=this.getCollisionMask();if(void 0===c)for(var e=this.data.shapes.length-1;e>=0;e--)this.data.shapes[e].collisionMask=f;else c.collisionMask=f},collides:function(a,b,c,d){if(Array.isArray(a))for(var e=0;e=0;e--)this.data.shapes[e].collisionMask=f;else d.collisionMask=f},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(a,b){return this.data.getVelocityAtPoint(a,b)},applyDamping:function(a){this.data.applyDamping(a)},applyImpulse:function(a,b,c){this.data.applyImpulse(a,[this.world.pxmi(b),this.world.pxmi(c)])},applyImpulseLocal:function(a,b,c){this.data.applyImpulseLocal(a,[this.world.pxmi(b),this.world.pxmi(c)])},applyForce:function(a,b,c){this.data.applyForce(a,[this.world.pxmi(b),this.world.pxmi(c)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(a,b){return this.data.toLocalFrame(a,b)},toWorldFrame:function(a,b){return this.data.toWorldFrame(a,b)},rotateLeft:function(a){this.data.angularVelocity=this.world.pxm(-a)},rotateRight:function(a){this.data.angularVelocity=this.world.pxm(a)},moveForward:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.velocity[0]=b*Math.cos(c),this.data.velocity[1]=b*Math.sin(c)},moveBackward:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.velocity[0]=-(b*Math.cos(c)),this.data.velocity[1]=-(b*Math.sin(c))},thrust:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.force[0]+=b*Math.cos(c),this.data.force[1]+=b*Math.sin(c)},thrustLeft:function(a){var b=this.world.pxmi(-a),c=this.data.angle;this.data.force[0]+=b*Math.cos(c),this.data.force[1]+=b*Math.sin(c)},thrustRight:function(a){var b=this.world.pxmi(-a),c=this.data.angle;this.data.force[0]-=b*Math.cos(c),this.data.force[1]-=b*Math.sin(c)},reverse:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.force[0]-=b*Math.cos(c),this.data.force[1]-=b*Math.sin(c); -},moveLeft:function(a){this.data.velocity[0]=this.world.pxmi(-a)},moveRight:function(a){this.data.velocity[0]=this.world.pxmi(a)},moveUp:function(a){this.data.velocity[1]=this.world.pxmi(-a)},moveDown:function(a){this.data.velocity[1]=this.world.pxmi(a)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(a,b,c,d){void 0===c&&(c=!1),void 0===d&&(d=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),c&&this.setZeroDamping(),d&&(this.mass=1),this.x=a,this.y=b},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var a=0;a=0;c--)this.data.shapes[c].material=a;else b.material=a},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(a,b){for(var c=this.game.cache.getPhysicsData(a,b),d=[],e=0;eo;e=0<=o?++n:--n)k=b.vertices[e],p2.vec2.rotate(m,k,a),l.push([(m[0]+i[0])*this.ppu,-(m[1]+i[1])*this.ppu]);this.drawConvex(j,l,b.triangles,f,c,g,this.settings.debugPolygons,[i[0]*this.ppu,-i[1]*this.ppu])}d++}}},drawRectangle:function(a,b,c,d,e,f,g,h,i){void 0===i&&(i=1),void 0===g&&(g=0),a.lineStyle(i,g,1),a.beginFill(h),a.drawRect(b-e/2,c-f/2,e,f)},drawCircle:function(a,b,c,d,e,f,g){void 0===g&&(g=1),void 0===f&&(f=16777215),a.lineStyle(g,0,1),a.beginFill(f,1),a.drawCircle(b,c,2*-e),a.endFill(),a.moveTo(b,c),a.lineTo(b+e*Math.cos(-d),c+e*Math.sin(-d))},drawLine:function(a,b,c,d){void 0===d&&(d=1),void 0===c&&(c=0),a.lineStyle(5*d,c,1),a.moveTo(-b/2,0),a.lineTo(b/2,0)},drawConvex:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r,s;if(void 0===f&&(f=1),void 0===d&&(d=0),g){for(i=[16711680,65280,255],j=0;j!==b.length+1;)l=b[j%b.length],m=b[(j+1)%b.length],o=l[0],r=l[1],p=m[0],s=m[1],a.lineStyle(f,i[j%i.length],1),a.moveTo(o,-r),a.lineTo(p,-s),a.drawCircle(o,-r,2*f),j++;return a.lineStyle(f,0,1),a.drawCircle(h[0],h[1],2*f)}for(a.lineStyle(f,d,1),a.beginFill(e),j=0;j!==b.length;)k=b[j],n=k[0],q=k[1],0===j?a.moveTo(n,-q):a.lineTo(n,-q),j++;if(a.endFill(),b.length>2)return a.moveTo(b[b.length-1][0],-b[b.length-1][1]),a.lineTo(b[0][0],-b[0][1])},drawPath:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r;for(void 0===e&&(e=1),void 0===c&&(c=0),a.lineStyle(e,c,1),"number"==typeof d&&a.beginFill(d),h=null,i=null,g=0;g2&&"number"==typeof d&&(a.moveTo(b[b.length-1][0],b[b.length-1][1]),a.lineTo(b[0][0],b[0][1]))},drawPlane:function(a,b,c,d,e,f,g,h,i,j){var k,l,m;void 0===f&&(f=1),void 0===d&&(d=16777215),a.lineStyle(f,e,11),a.beginFill(d),k=i,a.moveTo(b,-c),l=b+Math.cos(j)*this.game.width,m=c+Math.sin(j)*this.game.height,a.lineTo(l,-m),a.moveTo(b,-c),l=b+Math.cos(j)*-this.game.width,m=c+Math.sin(j)*-this.game.height,a.lineTo(l,-m)},drawCapsule:function(a,b,c,d,e,f,g,h,i){void 0===i&&(i=1),void 0===g&&(g=0),a.lineStyle(i,g,1);var j=Math.cos(d),k=Math.sin(d);a.beginFill(h,1),a.drawCircle(-e/2*j+b,-e/2*k+c,2*-f),a.drawCircle(e/2*j+b,e/2*k+c,2*-f),a.endFill(),a.lineStyle(i,g,0),a.beginFill(h,1),a.moveTo(-e/2*j+f*k+b,-e/2*k+f*j+c),a.lineTo(e/2*j+f*k+b,e/2*k+f*j+c),a.lineTo(e/2*j-f*k+b,e/2*k-f*j+c),a.lineTo(-e/2*j-f*k+b,-e/2*k-f*j+c),a.endFill(),a.lineStyle(i,g,1),a.moveTo(-e/2*j+f*k+b,-e/2*k+f*j+c),a.lineTo(e/2*j+f*k+b,e/2*k+f*j+c),a.moveTo(-e/2*j-f*k+b,-e/2*k-f*j+c),a.lineTo(e/2*j-f*k+b,e/2*k-f*j+c)},randomPastelHex:function(){var a,b,c,d;return c=[255,255,255],d=Math.floor(256*Math.random()),b=Math.floor(256*Math.random()),a=Math.floor(256*Math.random()),d=Math.floor((d+3*c[0])/4),b=Math.floor((b+3*c[1])/4),a=Math.floor((a+3*c[2])/4),this.rgbToHex(d,b,a)},rgbToHex:function(a,b,c){return this.componentToHex(a)+this.componentToHex(b)+this.componentToHex(c)},componentToHex:function(a){var b;return b=a.toString(16),2===b.length?b:b+"0"}}),c.Physics.P2.Spring=function(a,b,c,d,e,f,g,h,i,j){this.game=a.game,this.world=a,void 0===d&&(d=1),void 0===e&&(e=100),void 0===f&&(f=1),d=a.pxm(d);var k={restLength:d,stiffness:e,damping:f};"undefined"!=typeof g&&null!==g&&(k.worldAnchorA=[a.pxm(g[0]),a.pxm(g[1])]),"undefined"!=typeof h&&null!==h&&(k.worldAnchorB=[a.pxm(h[0]),a.pxm(h[1])]),"undefined"!=typeof i&&null!==i&&(k.localAnchorA=[a.pxm(i[0]),a.pxm(i[1])]),"undefined"!=typeof j&&null!==j&&(k.localAnchorB=[a.pxm(j[0]),a.pxm(j[1])]),this.data=new p2.LinearSpring(b,c,k),this.data.parent=this},c.Physics.P2.Spring.prototype.constructor=c.Physics.P2.Spring,c.Physics.P2.RotationalSpring=function(a,b,c,d,e,f){this.game=a.game,this.world=a,void 0===d&&(d=null),void 0===e&&(e=100),void 0===f&&(f=1),d&&(d=a.pxm(d));var g={restAngle:d,stiffness:e,damping:f};this.data=new p2.RotationalSpring(b,c,g),this.data.parent=this},c.Physics.P2.Spring.prototype.constructor=c.Physics.P2.Spring,c.Physics.P2.Material=function(a){this.name=a,p2.Material.call(this)},c.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),c.Physics.P2.Material.prototype.constructor=c.Physics.P2.Material,c.Physics.P2.ContactMaterial=function(a,b,c){p2.ContactMaterial.call(this,a,b,c)},c.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),c.Physics.P2.ContactMaterial.prototype.constructor=c.Physics.P2.ContactMaterial,c.Physics.P2.CollisionGroup=function(a){this.mask=a},c.Physics.P2.DistanceConstraint=function(a,b,c,d,e,f,g){void 0===d&&(d=100),void 0===e&&(e=[0,0]),void 0===f&&(f=[0,0]),void 0===g&&(g=Number.MAX_VALUE),this.game=a.game,this.world=a,d=a.pxm(d),e=[a.pxmi(e[0]),a.pxmi(e[1])],f=[a.pxmi(f[0]),a.pxmi(f[1])];var h={distance:d,localAnchorA:e,localAnchorB:f,maxForce:g};p2.DistanceConstraint.call(this,b,c,h)},c.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),c.Physics.P2.DistanceConstraint.prototype.constructor=c.Physics.P2.DistanceConstraint,c.Physics.P2.GearConstraint=function(a,b,c,d,e){void 0===d&&(d=0),void 0===e&&(e=1),this.game=a.game,this.world=a;var f={angle:d,ratio:e};p2.GearConstraint.call(this,b,c,f)},c.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),c.Physics.P2.GearConstraint.prototype.constructor=c.Physics.P2.GearConstraint,c.Physics.P2.LockConstraint=function(a,b,c,d,e,f){void 0===d&&(d=[0,0]),void 0===e&&(e=0),void 0===f&&(f=Number.MAX_VALUE),this.game=a.game,this.world=a,d=[a.pxm(d[0]),a.pxm(d[1])];var g={localOffsetB:d,localAngleB:e,maxForce:f};p2.LockConstraint.call(this,b,c,g)},c.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),c.Physics.P2.LockConstraint.prototype.constructor=c.Physics.P2.LockConstraint,c.Physics.P2.PrismaticConstraint=function(a,b,c,d,e,f,g,h){void 0===d&&(d=!0),void 0===e&&(e=[0,0]),void 0===f&&(f=[0,0]),void 0===g&&(g=[0,0]),void 0===h&&(h=Number.MAX_VALUE),this.game=a.game,this.world=a,e=[a.pxmi(e[0]),a.pxmi(e[1])],f=[a.pxmi(f[0]),a.pxmi(f[1])];var i={localAnchorA:e,localAnchorB:f,localAxisA:g,maxForce:h,disableRotationalLock:!d};p2.PrismaticConstraint.call(this,b,c,i)},c.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),c.Physics.P2.PrismaticConstraint.prototype.constructor=c.Physics.P2.PrismaticConstraint,c.Physics.P2.RevoluteConstraint=function(a,b,c,d,e,f,g){void 0===f&&(f=Number.MAX_VALUE),void 0===g&&(g=null),this.game=a.game,this.world=a,c=[a.pxmi(c[0]),a.pxmi(c[1])],e=[a.pxmi(e[0]),a.pxmi(e[1])],g&&(g=[a.pxmi(g[0]),a.pxmi(g[1])]);var h={worldPivot:g,localPivotA:c,localPivotB:e,maxForce:f};p2.RevoluteConstraint.call(this,b,d,h)},c.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),c.Physics.P2.RevoluteConstraint.prototype.constructor=c.Physics.P2.RevoluteConstraint,c.ImageCollection=function(a,b,c,d,e,f,g){(void 0===c||c<=0)&&(c=32),(void 0===d||d<=0)&&(d=32),void 0===e&&(e=0),void 0===f&&(f=0),this.name=a,this.firstgid=0|b,this.imageWidth=0|c,this.imageHeight=0|d,this.imageMargin=0|e,this.imageSpacing=0|f,this.properties=g||{},this.images=[],this.total=0},c.ImageCollection.prototype={containsImageIndex:function(a){return a>=this.firstgid&&athis.right||b>this.bottom)},intersects:function(a,b,c,d){return!(c<=this.worldX)&&(!(d<=this.worldY)&&(!(a>=this.worldX+this.width)&&!(b>=this.worldY+this.height)))},setCollisionCallback:function(a,b){this.collisionCallback=a,this.collisionCallbackContext=b},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(a,b,c,d){this.collideLeft=a,this.collideRight=b,this.collideUp=c,this.collideDown=d,this.faceLeft=a,this.faceRight=b,this.faceTop=c,this.faceBottom=d},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(a,b){return a&&b?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:a?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!b&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(a){this.index=a.index,this.alpha=a.alpha,this.properties=a.properties,this.collideUp=a.collideUp,this.collideDown=a.collideDown,this.collideLeft=a.collideLeft,this.collideRight=a.collideRight,this.collisionCallback=a.collisionCallback,this.collisionCallbackContext=a.collisionCallbackContext}},c.Tile.prototype.constructor=c.Tile,Object.defineProperty(c.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(c.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(c.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(c.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(c.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(c.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),c.Tilemap=function(a,b,d,e,f,g){this.game=a,this.key=b;var h=c.TilemapParser.parse(this.game,b,d,e,f,g);null!==h&&(this.width=h.width,this.height=h.height,this.tileWidth=h.tileWidth,this.tileHeight=h.tileHeight,this.orientation=h.orientation,this.format=h.format,this.version=h.version,this.properties=h.properties,this.widthInPixels=h.widthInPixels,this.heightInPixels=h.heightInPixels,this.layers=h.layers,this.tilesets=h.tilesets,this.imagecollections=h.imagecollections,this.tiles=h.tiles,this.objects=h.objects,this.collideIndexes=[],this.collision=h.collision,this.images=h.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},c.Tilemap.CSV=0,c.Tilemap.TILED_JSON=1,c.Tilemap.NORTH=0,c.Tilemap.EAST=1,c.Tilemap.SOUTH=2,c.Tilemap.WEST=3,c.Tilemap.prototype={create:function(a,b,c,d,e,f){return void 0===f&&(f=this.game.world),this.width=b,this.height=c,this.setTileSize(d,e),this.layers.length=0,this.createBlankLayer(a,b,c,d,e,f)},setTileSize:function(a,b){this.tileWidth=a,this.tileHeight=b,this.widthInPixels=this.width*a,this.heightInPixels=this.height*b},addTilesetImage:function(a,b,d,e,f,g,h){if(void 0===a)return null;void 0===d&&(d=this.tileWidth),void 0===e&&(e=this.tileHeight),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=0),0===d&&(d=32),0===e&&(e=32);var i=null;if(void 0!==b&&null!==b||(b=a),b instanceof c.BitmapData)i=b.canvas;else{if(!this.game.cache.checkImageKey(b))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+b+'"'),null;i=this.game.cache.getImage(b)}var j=this.getTilesetIndex(a);if(null===j&&this.format===c.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+a+'"'),null;if(this.tilesets[j])return this.tilesets[j].setImage(i),this.tilesets[j];var k=new c.Tileset(a,h,d,e,f,g,{});k.setImage(i),this.tilesets.push(k);for(var l=this.tilesets.length-1,m=f,n=f,o=0,p=0,q=0,r=h;r1)for(l=0;lthis.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;kthis.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;cb)){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-1&&this.collideIndexes.splice(e,1)}for(var f=0;f0?this.layers[a].data[c-1][b]:null},getTileBelow:function(a,b,c){return c0?this.layers[a].data[c][b-1]:null},getTileRight:function(a,b,c){return b-1},removeTile:function(a,b,d){if(d=this.getLayer(d),a>=0&&a=0&&b=0&&b=0&&d-1?this.layers[e].data[d][b].setCollision(!0,!0,!0,!0):this.layers[e].data[d][b].resetCollision(),this.layers[e].dirty=!0,this.calculateFaces(e),this.layers[e].data[d][b]}return null},putTileWorldXY:function(a,b,c,d,e,f){return f=this.getLayer(f),b=this.game.math.snapToFloor(b,d)/d,c=this.game.math.snapToFloor(c,e)/e,this.putTile(a,b,c,f)},searchTileIndex:function(a,b,c,d){void 0===b&&(b=0),void 0===c&&(c=!1),d=this.getLayer(d);var e=0;if(c){for(var f=this.layers[d].height-1;f>=0;f--)for(var g=this.layers[d].width-1;g>=0;g--)if(this.layers[d].data[f][g].index===a){if(e===b)return this.layers[d].data[f][g];e++}}else for(var f=0;f=0&&a=0&&bthis.layers[e].width&&(c=this.layers[e].width),d>this.layers[e].height&&(d=this.layers[e].height),this._results.length=0,this._results.push({x:a,y:b,width:c,height:d,layer:e});for(var f=b;f1?this.debugMap[this.layers[this.currentLayer].data[c][d]]?b.push("background: "+this.debugMap[this.layers[this.currentLayer].data[c][d]]):b.push("background: #ffffff"):b.push("background: rgb(0, 0, 0)");a+="\n"}b[0]=a,console.log.apply(console,b)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},c.Tilemap.prototype.constructor=c.Tilemap,Object.defineProperty(c.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(a){a!==this.currentLayer&&this.setLayer(a)}}),c.TilemapLayer=function(a,b,d,e,f){e|=0,f|=0,c.Sprite.call(this,a,0,0),this.map=b,this.index=d,this.layer=b.layers[d],this.canvas=PIXI.CanvasPool.create(this,e,f),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas))),this.type=c.TILEMAPLAYER,this.physicsType=c.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!1,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:b.tileWidth,tileHeight:b.tileHeight,cw:b.tileWidth,ch:b.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this._results=[],a.device.canvasBitBltShift||(this.renderSettings.copyCanvas=c.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},c.TilemapLayer.prototype=Object.create(c.Sprite.prototype),c.TilemapLayer.prototype.constructor=c.TilemapLayer,c.TilemapLayer.prototype.preUpdateCore=c.Component.Core.preUpdate,c.TilemapLayer.sharedCopyCanvas=null,c.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=PIXI.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},c.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},c.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=this.game.camera.view.x*this.scrollFactorX/this.scale.x,this._scrollY=this.game.camera.view.y*this.scrollFactorY/this.scale.y},c.TilemapLayer.prototype._renderCanvas=function(a){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=this.game.camera.view.x*this.scrollFactorX/this.scale.x,this._scrollY=this.game.camera.view.y*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,a)},c.TilemapLayer.prototype._renderWebGL=function(a){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=this.game.camera.view.x*this.scrollFactorX/this.scale.x,this._scrollY=this.game.camera.view.y*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,a)},c.TilemapLayer.prototype.destroy=function(){PIXI.CanvasPool.remove(this),c.Component.Destroy.prototype.destroy.call(this)},c.TilemapLayer.prototype.resize=function(a,b){this.canvas.width=a,this.canvas.height=b,this.texture.frame.resize(a,b),this.texture.width=a,this.texture.height=b,this.texture.crop.width=a,this.texture.crop.height=b,this.texture.baseTexture.width=a,this.texture.baseTexture.height=b,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},c.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},c.TilemapLayer.prototype._fixX=function(a){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?a:0===this.scrollFactorX&&0!==this.position.x?a-this.position.x:this._scrollX+(a-this._scrollX/this.scrollFactorX)},c.TilemapLayer.prototype._unfixX=function(a){return 1===this.scrollFactorX?a:this._scrollX/this.scrollFactorX+(a-this._scrollX)},c.TilemapLayer.prototype._fixY=function(a){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?a:0===this.scrollFactorY&&0!==this.position.y?a-this.position.y:this._scrollY+(a-this._scrollY/this.scrollFactorY)},c.TilemapLayer.prototype._unfixY=function(a){return 1===this.scrollFactorY?a:this._scrollY/this.scrollFactorY+(a-this._scrollY)},c.TilemapLayer.prototype.getTileX=function(a){return Math.floor(this._fixX(a)/this._mc.tileWidth)},c.TilemapLayer.prototype.getTileY=function(a){return Math.floor(this._fixY(a)/this._mc.tileHeight)},c.TilemapLayer.prototype.getTileXY=function(a,b,c){return c.x=this.getTileX(a),c.y=this.getTileY(b),c},c.TilemapLayer.prototype.getRayCastTiles=function(a,b,c,d){b||(b=this.rayStepRate),void 0===c&&(c=!1),void 0===d&&(d=!1);var e=this.getTiles(a.x,a.y,a.width,a.height,c,d);if(0===e.length)return[];for(var f=a.coordinatesOnLine(b),g=[],h=0;h=0;q++,s--,o+=k){q>=i&&(q-=i);var x=this.layer.data[q];for(p=v,r=e-c,n=t;r>=0;p++,r--,n+=j){p>=h&&(p-=h);var y=x[p];if(y&&!(y.index<0)){var z=y.index,A=l[z];void 0===A&&(A=this.resolveTileset(z)),y.alpha===m||this.debug||(g.globalAlpha=y.alpha,m=y.alpha),A?y.rotation||y.flipped?(g.save(),g.translate(n+y.centerX,o+y.centerY),g.rotate(y.rotation),y.flipped&&g.scale(-1,1),A.draw(g,-y.centerX,-y.centerY,z),g.restore()):A.draw(g,n,o,z):this.debugSettings.missingImageFill&&(g.fillStyle=this.debugSettings.missingImageFill,g.fillRect(n,o,j,k)),y.debug&&this.debugSettings.debuggedTileOverfill&&(g.fillStyle=this.debugSettings.debuggedTileOverfill,g.fillRect(n,o,j,k))}}}},c.TilemapLayer.prototype.renderDeltaScroll=function(a,b){var c=this._mc.scrollX,d=this._mc.scrollY,e=this.canvas.width,f=this.canvas.height,g=this._mc.tileWidth,h=this._mc.tileHeight,i=0,j=-g,k=0,l=-h;if(a<0?(i=e+a,j=e-1):a>0&&(j=a),b<0?(k=f+b,l=f-1):b>0&&(l=b),this.shiftCanvas(this.context,a,b),i=Math.floor((i+c)/g),j=Math.floor((j+c)/g),k=Math.floor((k+d)/h),l=Math.floor((l+d)/h),i<=j){this.context.clearRect(i*g-c,0,(j-i+1)*g,f);var m=Math.floor((0+d)/h),n=Math.floor((f-1+d)/h);this.renderRegion(c,d,i,m,j,n)}if(k<=l){this.context.clearRect(0,k*h-d,e,(l-k+1)*h);var o=Math.floor((0+c)/g),p=Math.floor((e-1+c)/g);this.renderRegion(c,d,o,k,p,l)}},c.TilemapLayer.prototype.renderFull=function(){var a=this._mc.scrollX,b=this._mc.scrollY,c=this.canvas.width,d=this.canvas.height,e=this._mc.tileWidth,f=this._mc.tileHeight,g=Math.floor(a/e),h=Math.floor((c-1+a)/e),i=Math.floor(b/f),j=Math.floor((d-1+b)/f);this.context.clearRect(0,0,c,d),this.renderRegion(a,b,g,i,h,j)},c.TilemapLayer.prototype.render=function(){var a=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,a=!0);var b=this.canvas.width,c=this.canvas.height,d=0|this._scrollX,e=0|this._scrollY,f=this._mc,g=f.scrollX-d,h=f.scrollY-e;if(a||0!==g||0!==h||f.renderWidth!==b||f.renderHeight!==c)return this.context.save(),f.scrollX=d,f.scrollY=e,f.renderWidth===b&&f.renderHeight===c||(f.renderWidth=b,f.renderHeight=c),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(a=!0)),!a&&this.renderSettings.enableScrollDelta&&Math.abs(g)+Math.abs(h)=0;d++,f--,b+=o){d>=m&&(d-=m);var x=this.layer.data[d];for(c=v,e=q-p,a=t;e>=0;c++,e--,a+=n){c>=l&&(c-=l);var y=x[c];!y||y.index<0||!y.collides||(this.debugSettings.collidingTileOverfill&&(i.fillStyle=this.debugSettings.collidingTileOverfill,i.fillRect(a,b,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(i.beginPath(),y.faceTop&&(i.moveTo(a,b),i.lineTo(a+this._mc.cw,b)),y.faceBottom&&(i.moveTo(a,b+this._mc.ch),i.lineTo(a+this._mc.cw,b+this._mc.ch)),y.faceLeft&&(i.moveTo(a,b),i.lineTo(a,b+this._mc.ch)),y.faceRight&&(i.moveTo(a+this._mc.cw,b),i.lineTo(a+this._mc.cw,b+this._mc.ch)),i.closePath(),i.stroke()))}}},Object.defineProperty(c.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(a){this._wrap=a,this.dirty=!0}}),Object.defineProperty(c.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(a){this._scrollX=a}}),Object.defineProperty(c.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(a){this._scrollY=a}}),Object.defineProperty(c.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(a){this._mc.cw=0|a,this.dirty=!0}}),Object.defineProperty(c.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(a){this._mc.ch=0|a,this.dirty=!0}}),c.TilemapParser={INSERT_NULL:!1,parse:function(a,b,d,e,f,g){if(void 0===d&&(d=32),void 0===e&&(e=32),void 0===f&&(f=10),void 0===g&&(g=10),void 0===b)return this.getEmptyData();if(null===b)return this.getEmptyData(d,e,f,g);var h=a.cache.getTilemapData(b);if(h){if(h.format===c.Tilemap.CSV)return this.parseCSV(b,h.data,d,e);if(!h.format||h.format===c.Tilemap.TILED_JSON)return this.parseTiledJSON(h.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+b)},parseCSV:function(a,b,d,e){var f=this.getEmptyData();b=b.trim();for(var g=[],h=b.split("\n"),i=h.length,j=0,k=0;k>>0;g.data=j,delete g.encoding}else if(g.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+g.name+"'");continue}var l={name:g.name,x:g.x,y:g.y,width:g.width,height:g.height,widthInPixels:g.width*a.tilewidth,heightInPixels:g.height*a.tileheight,alpha:g.opacity,visible:g.visible,properties:{},indexes:[],callbacks:[],bodies:[]};g.properties&&(l.properties=g.properties);for(var m,n,o,p,q=0,r=[],s=[],t=0,i=g.data.length;t536870912)switch(p>2147483648&&(p-=2147483648,o+=4),p>1073741824&&(p-=1073741824,o+=2),p>536870912&&(p-=536870912,o+=1),o){case 5:m=Math.PI/2;break;case 6:m=Math.PI;break;case 3:m=3*Math.PI/2;break;case 4:m=0,n=!0;break;case 7:m=Math.PI/2,n=!0;break;case 2:m=Math.PI,n=!0;break;case 1:m=3*Math.PI/2,n=!0}if(p>0){var u=new c.Tile(l,p,q,s.length,a.tilewidth,a.tileheight);u.rotation=m,u.flipped=n,0!==o&&(u.flippedVal=o),r.push(u)}else c.TilemapParser.INSERT_NULL?r.push(null):r.push(new c.Tile(l,(-1),q,s.length,a.tilewidth,a.tileheight));q++,q===g.width&&(s.push(r),q=0,r=[])}l.data=s,e.push(l)}d.layers=e;for(var v=[],f=0;f=0&&e+1=this.firstgid&&a=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._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);gthis.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;f1&&(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=0,e.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(e):this.particleSendToBack&&this.sendToBack(e),this.autoScale?e.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?e.scale.set(f.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x===this._maxParticleScale.x&&this._minParticleScale.y===this._maxParticleScale.y||e.scale.set(f.realInRange(this._minParticleScale.x,this._maxParticleScale.x),f.realInRange(this._minParticleScale.y,this._maxParticleScale.y)),void 0===d&&(Array.isArray(this._frames)?e.frame=this.game.rnd.pick(this._frames):e.frame=this._frames),this.autoAlpha?e.setAlphaData(this.alphaData):e.alpha=f.realInRange(this.minParticleAlpha,this.maxParticleAlpha),e.blendMode=this.blendMode;var i=e.body;return i.updateBounds(),i.bounce.copyFrom(this.bounce),i.drag.copyFrom(this.particleDrag),i.velocity.x=f.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),i.velocity.y=f.between(this.minParticleSpeed.y,this.maxParticleSpeed.y),i.angularVelocity=f.between(this.minRotation,this.maxRotation),i.gravity.y=this.gravity,i.angularDrag=this.angularDrag,e.onEmit(),!0},c.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),c.Group.prototype.destroy.call(this,!0,!1)},c.Particles.Arcade.Emitter.prototype.setSize=function(a,b){return this.area.width=a,this.area.height=b,this},c.Particles.Arcade.Emitter.prototype.setXSpeed=function(a,b){return a=a||0,b=b||0,this.minParticleSpeed.x=a,this.maxParticleSpeed.x=b,this},c.Particles.Arcade.Emitter.prototype.setYSpeed=function(a,b){return a=a||0,b=b||0,this.minParticleSpeed.y=a,this.maxParticleSpeed.y=b,this},c.Particles.Arcade.Emitter.prototype.setRotation=function(a,b){return a=a||0,b=b||0,this.minRotation=a,this.maxRotation=b,this},c.Particles.Arcade.Emitter.prototype.setAlpha=function(a,b,d,e,f){if(void 0===a&&(a=1),void 0===b&&(b=1),void 0===d&&(d=0),void 0===e&&(e=c.Easing.Linear.None),void 0===f&&(f=!1),this.minParticleAlpha=a,this.maxParticleAlpha=b,this.autoAlpha=!1,d>0&&a!==b){var g={v:a},h=this.game.make.tween(g).to({v:b},d,e);h.yoyo(f),this.alphaData=h.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},c.Particles.Arcade.Emitter.prototype.setScale=function(a,b,d,e,f,g,h){if(void 0===a&&(a=1),void 0===b&&(b=1),void 0===d&&(d=1),void 0===e&&(e=1),void 0===f&&(f=0),void 0===g&&(g=c.Easing.Linear.None),void 0===h&&(h=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(a,d),this._maxParticleScale.set(b,e),this.autoScale=!1,f>0&&(a!==b||d!==e)){var i={x:a,y:d},j=this.game.make.tween(i).to({x:b,y:e},f,g);j.yoyo(h),this.scaleData=j.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},c.Particles.Arcade.Emitter.prototype.at=function(a){return a.center?(this.emitX=a.center.x,this.emitY=a.center.y):(this.emitX=a.world.x+a.anchor.x*a.width,this.emitY=a.world.y+a.anchor.y*a.height),this},Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(a){this.area.width=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(a){this.area.height=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(a){this.emitX=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(a){this.emitY=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2); -}}),c.Weapon=function(a,b){c.Plugin.call(this,a,b),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new c.Rectangle(0,0,1,1),this.fireAngle=c.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new c.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=c.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=c.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new c.Rectangle,this.bulletBounds=a.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new c.Signal,this.onKill=new c.Signal,this.onFireLimit=new c.Signal,this.trackedSprite=null,this.trackedPointer=null,this.trackRotation=!1,this.trackOffset=new c.Point,this._nextFire=0,this._rotatedPoint=new c.Point},c.Weapon.prototype=Object.create(c.Plugin.prototype),c.Weapon.prototype.constructor=c.Weapon,c.Weapon.KILL_NEVER=0,c.Weapon.KILL_LIFESPAN=1,c.Weapon.KILL_DISTANCE=2,c.Weapon.KILL_WEAPON_BOUNDS=3,c.Weapon.KILL_CAMERA_BOUNDS=4,c.Weapon.KILL_WORLD_BOUNDS=5,c.Weapon.KILL_STATIC_BOUNDS=6,c.Weapon.prototype.createBullets=function(a,b,d,e){return void 0===a&&(a=1),void 0===e&&(e=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(c.Physics.ARCADE,e),this.bullets.classType=this._bulletClass),0!==a&&(a===-1&&(this.autoExpandBulletsGroup=!0,a=1),this.bullets.createMultiple(a,b,d),this.bullets.setAll("data.bulletManager",this),this.bulletKey=b,this.bulletFrame=d),this},c.Weapon.prototype.forEach=function(a,b){return this.bullets.forEachExists(a,b,arguments),this},c.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},c.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},c.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},c.Weapon.prototype.resetShots=function(a){return this.shots=0,void 0!==a&&(this.fireLimit=a),this},c.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},c.Weapon.prototype.update=function(){this._bulletKillType===c.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},c.Weapon.prototype.trackSprite=function(a,b,c,d){return void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=!1),this.trackedPointer=null,this.trackedSprite=a,this.trackRotation=d,this.trackOffset.set(b,c),this},c.Weapon.prototype.trackPointer=function(a,b,c){return void 0===a&&(a=this.game.input.activePointer),void 0===b&&(b=0),void 0===c&&(c=0),this.trackedPointer=a,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(b,c),this},c.Weapon.prototype.fire=function(a,b,d){if(this.game.time.now0&&this.shots===this.fireLimit)return!1;var e=this.bulletSpeed;0!==this.bulletSpeedVariance&&(e+=c.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),a?this.fireFrom.width>1?this.fireFrom.centerOn(a.x,a.y):(this.fireFrom.x=a.x,this.fireFrom.y=a.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.rotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(e+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y));var f=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,g=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,h=this.trackRotation?this.trackedSprite.angle:this.fireAngle;void 0!==b&&void 0!==d&&(h=this.game.math.radToDeg(Math.atan2(d-g,b-f))),0!==this.bulletAngleVariance&&(h+=c.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var i=0,j=0;0===h||180===h?i=Math.cos(this.game.math.degToRad(h))*e:90===h||270===h?j=Math.sin(this.game.math.degToRad(h))*e:(i=Math.cos(this.game.math.degToRad(h))*e,j=Math.sin(this.game.math.degToRad(h))*e);var k=null;if(this.autoExpandBulletsGroup?(k=this.bullets.getFirstExists(!1,!0,f,g,this.bulletKey,this.bulletFrame),k.data.bulletManager=this):k=this.bullets.getFirstExists(!1),k){if(k.reset(f,g),k.data.fromX=f,k.data.fromY=g,k.data.killType=this.bulletKillType,k.data.killDistance=this.bulletKillDistance,k.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===c.Weapon.KILL_LIFESPAN&&(k.lifespan=this.bulletLifespan),k.angle=h+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===k.animations.getAnimation(this.bulletAnimation)){var l=this.anims[this.bulletAnimation];k.animations.add(l.name,l.frames,l.frameRate,l.loop,l.useNumericIndex)}k.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(k.frame=this.bulletFrames[this.bulletFrameIndex],this.bulletFrameIndex++,this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(k.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);if(k.data.bodyDirty&&(this._data.customBody&&k.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),k.body.collideWorldBounds=this.bulletCollideWorldBounds,k.data.bodyDirty=!1),k.body.velocity.set(i,j),k.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y),0!==this.bulletSpeedVariance){var m=this.fireRate;m+=c.Math.between(-this.fireRateVariance,this.fireRateVariance),m<0&&(m=0),this._nextFire=this.game.time.now+m}else this._nextFire=this.game.time.now+this.fireRate;this.shots++,this.onFire.dispatch(k,this,e),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return k},c.Weapon.prototype.fireAtPointer=function(a){return void 0===a&&(a=this.game.input.activePointer),this.fire(null,a.worldX,a.worldY)},c.Weapon.prototype.fireAtSprite=function(a){return this.fire(null,a.world.x,a.world.y)},c.Weapon.prototype.fireAtXY=function(a,b){return this.fire(null,a,b)},c.Weapon.prototype.setBulletBodyOffset=function(a,b,c,d){return void 0===c&&(c=0),void 0===d&&(d=0),this._data.customBody=!0,this._data.width=a,this._data.height=b,this._data.offsetX=c,this._data.offsetY=d,this.bullets.callAll("body.setSize","body",a,b,c,d),this.bullets.setAll("data.bodyDirty",!1),this},c.Weapon.prototype.setBulletFrames=function(a,b,d,e){return void 0===d&&(d=!0),void 0===e&&(e=!1),this.bulletFrames=c.ArrayUtils.numberArray(a,b),this.bulletFrameIndex=0,this.bulletFrameCycle=d,this.bulletFrameRandom=e,this},c.Weapon.prototype.addBulletAnimation=function(a,b,c,d,e){return this.anims[a]={name:a,frames:b,frameRate:c,loop:d,useNumericIndex:e},this.bullets.callAll("animations.add","animations",a,b,c,d,e),this.bulletAnimation=a,this},c.Weapon.prototype.debug=function(a,b,c){void 0===a&&(a=16),void 0===b&&(b=32),void 0===c&&(c=!1),this.game.debug.text("Weapon Plugin",a,b),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,a,b+24),c&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(c.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(a){this._bulletClass=a,this.bullets.classType=this._bulletClass}}),Object.defineProperty(c.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(a){switch(a){case c.Weapon.KILL_STATIC_BOUNDS:case c.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case c.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case c.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=a}}),Object.defineProperty(c.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(a){this._bulletCollideWorldBounds=a,this.bullets.setAll("body.collideWorldBounds",a),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(c.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(a){this.fireFrom.x=a}}),Object.defineProperty(c.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(a){this.fireFrom.y=a}}),c.Bullet=function(a,b,d,e,f){c.Sprite.call(this,a,b,d,e,f),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},c.Bullet.prototype=Object.create(c.Sprite.prototype),c.Bullet.prototype.constructor=c.Bullet,c.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},c.Bullet.prototype.update=function(){this.exists&&(this.data.killType>c.Weapon.KILL_LIFESPAN&&(this.data.killType===c.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},c.Video=function(a,b,d){if(void 0===b&&(b=null),void 0===d&&(d=null),this.game=a,this.key=b,this.width=0,this.height=0,this.type=c.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new c.Signal,this.onChangeSource=new c.Signal,this.onComplete=new c.Signal,this.onAccess=new c.Signal,this.onError=new c.Signal,this.onTimeout=new c.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,b&&this.game.cache.checkVideoKey(b)){var e=this.game.cache.getVideo(b);e.isBlob?this.createVideoFromBlob(e.data):this.video=e.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else d&&this.createVideoFromURL(d,!1);this.video&&!d?(this.baseTexture=new PIXI.BaseTexture(this.video),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(c.Cache.DEFAULT.baseTexture.source),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new c.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==b&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,c.BitmapData&&(this.snapshot=new c.BitmapData(this.game,"",this.width,this.height)),!this.game.device.cocoonJS&&(this.game.device.iOS||this.game.device.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock?this.setTouchLock():e&&(e.locked=!1)},c.Video.prototype={connectToMediaStream:function(a,b){return a&&b&&(this.video=a,this.videoStream=b,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(a,b,c){if(void 0===a&&(a=!1),void 0===b&&(b=null),void 0===c&&(c=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==b&&(this.video.width=b),null!==c&&(this.video.height=c),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:a,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(a){this.getUserMediaError(a)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(a){clearTimeout(this._timeOutID),this.onError.dispatch(this,a)},getUserMediaSuccess:function(a){clearTimeout(this._timeOutID),this.videoStream=a,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=a:this.video.src=window.URL&&window.URL.createObjectURL(a)||a;var b=this;this.video.onloadeddata=function(){function a(){if(c>0)if(b.video.videoWidth>0){var d=b.video.videoWidth,e=b.video.videoHeight;isNaN(b.video.videoHeight)&&(e=d/(4/3)),b.video.play(),b.isStreaming=!0,b.baseTexture.source=b.video,b.updateTexture(null,d,e),b.onAccess.dispatch(b)}else window.setTimeout(a,500);else console.warn("Unable to connect to video stream. Webcam error?");c--}var c=10;a()}},createVideoFromBlob:function(a){var b=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(a){b.updateTexture(a)},!0),this.video.src=window.URL.createObjectURL(a),this.video.canplay=!0,this},createVideoFromURL:function(a,b){return void 0===b&&(b=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,b&&this.video.setAttribute("autoplay","autoplay"),this.video.src=a,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=a,this},updateTexture:function(a,b,c){var d=!1;void 0!==b&&null!==b||(b=this.video.videoWidth,d=!0),void 0!==c&&null!==c||(c=this.video.videoHeight),this.width=b,this.height=c,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(b,c),this.texture.frame.resize(b,c),this.texture.width=b,this.texture.height=c,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(b,c),d&&null!==this.key&&(this.onChangeSource.dispatch(this,b,c),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(a,b){return void 0===a&&(a=!1),void 0===b&&(b=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),a?this.video.loop="loop":this.video.loop="",this.video.playbackRate=b,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,a,b)),this},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(a){a.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(a){if(Array.isArray(a))for(var b=0;b0?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.paused&&this.video.ended)}}),c.Video.prototype.constructor=c.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=c.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=c.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new PIXI.Matrix),void 0===PIXI.RenderTexture.tempMatrix&&(PIXI.RenderTexture.tempMatrix=new PIXI.Matrix),PIXI.Graphics&&void 0===PIXI.Graphics.POLY&&(PIXI.Graphics.POLY=c.POLYGON,PIXI.Graphics.RECT=c.RECTANGLE,PIXI.Graphics.CIRC=c.CIRCLE,PIXI.Graphics.ELIP=c.ELLIPSE,PIXI.Graphics.RREC=c.ROUNDEDRECTANGLE),PIXI.TextureSilentFail=!0,"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=c),exports.Phaser=c):"undefined"!=typeof define&&define.amd?define("Phaser",function(){return b.Phaser=c}()):b.Phaser=c,c}.call(this); +!function(a){if("object"==typeof exports)module.exports=a();else{var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.p2=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g=0&&i<=1&&j>=0&&j<=1}},{"./Scalar":4}],2:[function(a,b,c){function d(){}b.exports=d,d.area=function(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(c[0]-a[0])*(b[1]-a[1])},d.left=function(a,b,c){return d.area(a,b,c)>0},d.leftOn=function(a,b,c){return d.area(a,b,c)>=0},d.right=function(a,b,c){return d.area(a,b,c)<0},d.rightOn=function(a,b,c){return d.area(a,b,c)<=0};var e=[],f=[];d.collinear=function(a,b,c,g){if(g){var h=e,i=f;h[0]=b[0]-a[0],h[1]=b[1]-a[1],i[0]=c[0]-b[0],i[1]=c[1]-b[1];var j=h[0]*i[0]+h[1]*i[1],k=Math.sqrt(h[0]*h[0]+h[1]*h[1]),l=Math.sqrt(i[0]*i[0]+i[1]*i[1]);return Math.acos(j/(k*l))a.vertices.length)throw new Error("lol2");if(b<0)throw new Error("lol3");for(var d=b;db[a][0])&&(a=c);g.left(this.at(a-1),this.at(a),this.at(a+1))||this.reverse()},d.prototype.reverse=function(){for(var a=[],b=0,c=this.vertices.length;b!==c;b++)a.push(this.vertices.pop());this.vertices=a},d.prototype.isReflex=function(a){return g.right(this.at(a-1),this.at(a),this.at(a+1))};var i=[],j=[];d.prototype.canSee=function(a,b){var c,d,e=i,h=j;if(g.leftOn(this.at(a+1),this.at(a),this.at(b))&&g.rightOn(this.at(a-1),this.at(a),this.at(b)))return!1;d=g.sqdist(this.at(a),this.at(b));for(var k=0;k!==this.vertices.length;++k)if((k+1)%this.vertices.length!==a&&k!==a&&g.leftOn(this.at(a),this.at(b),this.at(k+1))&&g.rightOn(this.at(a),this.at(b),this.at(k))&&(e[0]=this.at(a),e[1]=this.at(b),h[0]=this.at(k),h[1]=this.at(k+1),c=f.lineInt(e,h),g.sqdist(this.at(a),c)0?this.slice(a):[this]},d.prototype.slice=function(a){if(0==a.length)return[this];if(a instanceof Array&&a.length&&a[0]instanceof Array&&2==a[0].length&&a[0][0]instanceof Array){for(var b=[this],c=0;ch)return console.warn("quickDecomp: max level ("+h+") reached."),a;for(var x=0;xq&&(q+=this.vertices.length),p=Number.MAX_VALUE,q3&&c>=0;--c)g.collinear(this.at(c-1),this.at(c),this.at(c+1),a)&&(this.vertices.splice(c%this.vertices.length,1),c--,b++);return b}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(a,b,c){function d(){}b.exports=d,d.eq=function(a,b,c){return c=c||0,Math.abs(a-b) (http://steffe.se)",keywords:["p2.js","p2","physics","engine","2d"],main:"./src/p2.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/schteppe/p2.js.git"},bugs:{url:"https://github.com/schteppe/p2.js/issues"},licenses:[{type:"MIT"}],devDependencies:{grunt:"^0.4.5","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-uglify":"~0.4.0","grunt-contrib-watch":"~0.5.0","grunt-browserify":"~2.0.1","grunt-contrib-concat":"^0.4.0"},dependencies:{"poly-decomp":"0.1.1"}}},{}],7:[function(a,b,c){function d(a){this.lowerBound=e.create(),a&&a.lowerBound&&e.copy(this.lowerBound,a.lowerBound),this.upperBound=e.create(),a&&a.upperBound&&e.copy(this.upperBound,a.upperBound)}var e=a("../math/vec2");a("../utils/Utils");b.exports=d;var f=e.create();d.prototype.setFromPoints=function(a,b,c,d){var g=this.lowerBound,h=this.upperBound;"number"!=typeof c&&(c=0),0!==c?e.rotate(g,a[0],c):e.copy(g,a[0]),e.copy(h,g);for(var i=Math.cos(c),j=Math.sin(c),k=1;kh[o]&&(h[o]=l[o]),l[o]c&&(this.lowerBound[b]=c);var d=a.upperBound[b];this.upperBound[b]i?-1:h}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(a,b,c){function d(a){this.type=a,this.result=[],this.world=null,this.boundingVolumeType=d.AABB}var e=a("../math/vec2"),f=a("../objects/Body");b.exports=d,d.AABB=1,d.BOUNDING_CIRCLE=2,d.prototype.setWorld=function(a){this.world=a},d.prototype.getCollisionPairs=function(a){};var g=e.create();d.boundingRadiusCheck=function(a,b){e.sub(g,a.position,b.position);var c=e.squaredLength(g),d=a.boundingRadius+b.boundingRadius;return c<=d*d},d.aabbCheck=function(a,b){return a.getAABB().overlaps(b.getAABB())},d.prototype.boundingVolumeCheck=function(a,b){var c;switch(this.boundingVolumeType){case d.BOUNDING_CIRCLE:c=d.boundingRadiusCheck(a,b);break;case d.AABB:c=d.aabbCheck(a,b);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return c},d.canCollide=function(a,b){var c=f.KINEMATIC,d=f.STATIC;return(a.type!==d||b.type!==d)&&(!(a.type===c&&b.type===d||a.type===d&&b.type===c)&&((a.type!==c||b.type!==c)&&((a.sleepState!==f.SLEEPING||b.sleepState!==f.SLEEPING)&&!(a.sleepState===f.SLEEPING&&b.type===d||b.sleepState===f.SLEEPING&&a.type===d))))},d.NAIVE=1,d.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(a,b,c){function d(){e.call(this,e.NAIVE)}var e=(a("../shapes/Circle"),a("../shapes/Plane"),a("../shapes/Shape"),a("../shapes/Particle"),a("../collision/Broadphase"));a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.getCollisionPairs=function(a){var b=a.bodies,c=this.result;c.length=0;for(var d=0,f=b.length;d!==f;d++)for(var g=b[d],h=0;hW&&V0)for(var N=0;NMath.pow(p,2))return 0;if(l)return!0;var q=this.createContactEquation(a,e,b,f);return h(q.normalA,j,c),g.normalize(q.normalA,q.normalA),g.scale(q.contactPointA,q.normalA,m),g.scale(q.contactPointB,q.normalA,-n),i(q.contactPointA,q.contactPointA,c),h(q.contactPointA,q.contactPointA,a.position),i(q.contactPointB,q.contactPointB,j),h(q.contactPointB,q.contactPointB,e.position),this.contactEquations.push(q),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(q)),1},d.prototype[q.PLANE|q.CONVEX]=d.prototype[q.PLANE|q.BOX]=d.prototype.planeConvex=function(a,b,c,d,e,f,k,l,m){var n=t,o=u,p=v,q=0;g.rotate(o,s,d);for(var r=0;r!==f.vertices.length;r++){var w=f.vertices[r];if(g.rotate(n,w,l),i(n,n,k),h(p,n,c),j(p,o)<=0){if(m)return!0;q++;var x=this.createContactEquation(a,e,b,f);h(p,n,c),g.copy(x.normalA,o);var y=j(p,x.normalA);g.scale(p,x.normalA,y),h(x.contactPointB,n,e.position),h(x.contactPointA,n,p),h(x.contactPointA,x.contactPointA,a.position),this.contactEquations.push(x),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(x))}}return this.enableFrictionReduction&&this.enableFriction&&q&&this.frictionEquations.push(this.createFrictionFromAverage(q)),q},d.prototype[q.PARTICLE|q.PLANE]=d.prototype.particlePlane=function(a,b,c,d,e,f,i,k,l){var m=t,n=u;k=k||0,h(m,c,i),g.rotate(n,s,k);var o=j(m,n);if(o>0)return 0;if(l)return!0;var p=this.createContactEquation(e,a,f,b);return g.copy(p.normalA,n),g.scale(m,p.normalA,o),h(p.contactPointA,c,m),h(p.contactPointA,p.contactPointA,e.position),h(p.contactPointB,c,a.position),this.contactEquations.push(p),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(p)),1},d.prototype[q.CIRCLE|q.PARTICLE]=d.prototype.circleParticle=function(a,b,c,d,e,f,j,k,l){var m=t;if(h(m,j,c),g.squaredLength(m)>Math.pow(b.radius,2))return 0;if(l)return!0;var n=this.createContactEquation(a,e,b,f);return g.copy(n.normalA,m),g.normalize(n.normalA,n.normalA),g.scale(n.contactPointA,n.normalA,b.radius),i(n.contactPointA,n.contactPointA,c),h(n.contactPointA,n.contactPointA,a.position),h(n.contactPointB,j,e.position),this.contactEquations.push(n),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(n)),1};var X=new o({radius:1}),Y=g.create(),Z=g.create();g.create();d.prototype[q.PLANE|q.CAPSULE]=d.prototype.planeCapsule=function(a,b,c,d,e,f,h,j,k){var l=Y,m=Z,n=X;g.set(l,-f.length/2,0),g.rotate(l,l,j),i(l,l,h),g.set(m,f.length/2,0),g.rotate(m,m,j),i(m,m,h),n.radius=f.radius;var o;this.enableFrictionReduction&&(o=this.enableFriction,this.enableFriction=!1);var p=this.circlePlane(e,n,l,0,a,b,c,d,k),q=this.circlePlane(e,n,m,0,a,b,c,d,k);if(this.enableFrictionReduction&&(this.enableFriction=o),k)return p||q;var r=p+q;return this.enableFrictionReduction&&r&&this.frictionEquations.push(this.createFrictionFromAverage(r)),r},d.prototype[q.CIRCLE|q.PLANE]=d.prototype.circlePlane=function(a,b,c,d,e,f,k,l,m){var n=a,o=b,p=c,q=e,r=k,w=l;w=w||0;var x=t,y=u,z=v;h(x,p,r),g.rotate(y,s,w);var A=j(y,x);if(A>o.radius)return 0;if(m)return!0;var B=this.createContactEquation(q,n,f,b);return g.copy(B.normalA,y),g.scale(B.contactPointB,B.normalA,-o.radius),i(B.contactPointB,B.contactPointB,p),h(B.contactPointB,B.contactPointB,n.position),g.scale(z,B.normalA,A),h(B.contactPointA,x,z),i(B.contactPointA,B.contactPointA,r),h(B.contactPointA,B.contactPointA,q.position),this.contactEquations.push(B),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(B)),1},d.prototype[q.CONVEX]=d.prototype[q.CONVEX|q.BOX]=d.prototype[q.BOX]=d.prototype.convexConvex=function(a,b,c,e,f,k,l,m,n,o){var p=t,q=u,r=v,s=w,y=x,C=z,D=A,E=B,F=0,o="number"==typeof o?o:0;if(!d.findSeparatingAxis(b,c,e,k,l,m,p))return 0;h(D,l,c),j(p,D)>0&&g.scale(p,p,-1);var G=d.getClosestEdge(b,e,p,!0),H=d.getClosestEdge(k,m,p);if(G===-1||H===-1)return 0;for(var I=0;I<2;I++){var J=G,K=H,L=b,M=k,N=c,O=l,P=e,Q=m,R=a,S=f;if(0===I){var T;T=J,J=K,K=T,T=L,L=M,M=T,T=N,N=O,O=T,T=P,P=Q,Q=T,T=R,R=S,S=T}for(var U=K;U=3){if(n)return!0;var _=this.createContactEquation(R,S,L,M);F++;var Y=L.vertices[J%L.vertices.length],Z=L.vertices[(J+1)%L.vertices.length];g.rotate(r,Y,P),g.rotate(s,Z,P),i(r,r,N),i(s,s,N),h(y,s,r),g.rotate90cw(_.normalA,y),g.normalize(_.normalA,_.normalA),h(D,q,r);var $=j(_.normalA,D);g.scale(C,_.normalA,$),h(_.contactPointA,q,N),h(_.contactPointA,_.contactPointA,C),i(_.contactPointA,_.contactPointA,N),h(_.contactPointA,_.contactPointA,R.position),h(_.contactPointB,q,O),i(_.contactPointB,_.contactPointB,O),h(_.contactPointB,_.contactPointB,S.position),this.contactEquations.push(_),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(_))}}}return this.enableFrictionReduction&&this.enableFriction&&F&&this.frictionEquations.push(this.createFrictionFromAverage(F)),F};var $=g.fromValues(0,0);d.projectConvexOntoAxis=function(a,b,c,d,e){var f,h,i=null,k=null,l=$;g.rotate(l,d,-c);for(var m=0;mi)&&(i=h),(null===k||hi){var n=k;k=i,i=n}var o=j(b,d);g.set(e,k+o,i+o)};var _=g.fromValues(0,0),aa=g.fromValues(0,0),ba=g.fromValues(0,0),ca=g.fromValues(0,0),da=g.fromValues(0,0),ea=g.fromValues(0,0);d.findSeparatingAxis=function(a,b,c,e,f,i,j){var k=null,l=!1,m=!1,n=_,o=aa,p=ba,q=ca,s=da,t=ea;if(a instanceof r&&e instanceof r)for(var u=0;2!==u;u++){var v=a,w=c;1===u&&(v=e,w=i);for(var x=0;2!==x;x++){0===x?g.set(q,0,1):1===x&&g.set(q,1,0),0!==w&&g.rotate(q,q,w),d.projectConvexOntoAxis(a,b,c,q,s),d.projectConvexOntoAxis(e,f,i,q,t);var y=s,z=t;s[0]>t[0]&&(z=s,y=t,!0);var A=z[0]-y[1];l=A<=0,(null===k||A>k)&&(g.copy(j,q),k=A,m=l)}}else for(var u=0;2!==u;u++){var v=a,w=c;1===u&&(v=e,w=i);for(var x=0;x!==v.vertices.length;x++){g.rotate(o,v.vertices[x],w),g.rotate(p,v.vertices[(x+1)%v.vertices.length],w),h(n,p,o),g.rotate90cw(q,n),g.normalize(q,q),d.projectConvexOntoAxis(a,b,c,q,s),d.projectConvexOntoAxis(e,f,i,q,t);var y=s,z=t;s[0]>t[0]&&(z=s,y=t,!0);var A=z[0]-y[1];l=A<=0,(null===k||A>k)&&(g.copy(j,q),k=A,m=l)}}return m};var fa=g.fromValues(0,0),ga=g.fromValues(0,0),ha=g.fromValues(0,0);d.getClosestEdge=function(a,b,c,d){var e=fa,f=ga,i=ha;g.rotate(e,c,-b),d&&g.scale(e,e,-1);for(var k=-1,l=a.vertices.length,m=-1,n=0;n!==l;n++){h(f,a.vertices[(n+1)%l],a.vertices[n%l]),g.rotate90cw(i,f),g.normalize(i,i);var o=j(i,e);(k===-1||o>m)&&(k=n%l,m=o)}return k};var ia=g.create(),ja=g.create(),ka=g.create(),la=g.create(),ma=g.create(),na=g.create(),oa=g.create();d.prototype[q.CIRCLE|q.HEIGHTFIELD]=d.prototype.circleHeightfield=function(a,b,c,d,e,f,j,k,l,m){var n=f.heights,m=m||b.radius,o=f.elementWidth,p=ja,q=ia,r=ma,s=oa,t=na,u=ka,v=la,w=Math.floor((c[0]-m-j[0])/o),x=Math.ceil((c[0]+m-j[0])/o);w<0&&(w=0),x>=n.length&&(x=n.length-1);for(var y=n[w],z=n[x],A=w;Ay&&(y=n[A]);if(c[1]-m>y)return!l&&0;for(var B=!1,A=w;A=u[0]&&q[0]0)for(var A=w;A<=x;A++)if(g.set(u,A*o,n[A]),g.add(u,u,j),g.sub(p,c,u),g.squaredLength(p)=k.length&&(r=k.length-1);for(var s=k[q],t=k[r],u=q;us&&(s=k[u]);if(a.aabb.lowerBound[1]>s)return!j&&0;for(var v=0,u=q;u=0||f.containsPoint(this.from))&&this.intersectBody(a,e)}};var g=f.create();d.prototype.intersectBody=function(a,b){var c=this.checkCollisionResponse;if(!c||b.collisionResponse)for(var d=g,e=0,h=b.shapes.length;eb.boundingRadius*b.boundingRadius||(this._currentBody=f,this._currentShape=b,b.raycast(a,this,d,c),this._currentBody=this._currentShape=null)},d.prototype.getAABB=function(a){var b=this.to,c=this.from;f.set(a.lowerBound,Math.min(b[0],c[0]),Math.min(b[1],c[1])),f.set(a.upperBound,Math.max(b[0],c[0]),Math.max(b[1],c[1]))};f.create();d.prototype.reportIntersection=function(a,b,c,e){var g=(this.from,this.to,this._currentShape),h=this._currentBody;if(!(this.skipBackfaces&&f.dot(c,this.direction)>0))switch(this.mode){case d.ALL:a.set(c,g,h,b,e),this.callback(a);break;case d.CLOSEST:(b=0&&!(a[f].aabb.lowerBound[b]<=e.aabb.lowerBound[b]);f--)a[f+1]=a[f];a[f+1]=e}return a},d.prototype.sortList=function(){var a=this.axisList,b=this.axisIndex;d.sortAxisList(a,b)},d.prototype.getCollisionPairs=function(a){var b=this.axisList,c=this.result,d=this.axisIndex;c.length=0;for(var e=b.length;e--;){var g=b[e];g.aabbNeedsUpdate&&g.updateAABB()}this.sortList();for(var h=0,i=0|b.length;h!==i;h++)for(var j=b[h],k=h+1;kthis.upperLimit&&(f.maxForce=0,f.minForce=-this.maxForce,this.distance=this.upperLimit,l=!0),this.lowerLimitEnabled&&this.positionc)h.scale(e.normalA,j,-1),h.sub(e.contactPointA,k,g.position),h.sub(e.contactPointB,l,i.position),h.scale(o,j,c),h.add(e.contactPointA,e.contactPointA,o),a.indexOf(e)===-1&&a.push(e);else{var u=a.indexOf(e);u!==-1&&a.splice(u,1)}if(this.lowerLimitEnabled&&sh)o.angle=h,e.indexOf(o)===-1&&e.push(o);else{var r=e.indexOf(o);r!==-1&&e.splice(r,1)}if(this.lowerLimitEnabled&&q>1;if(b<3)return[];for(var c=[],e=[],f=0;f3;){var h=e[(f+0)%g],i=e[(f+1)%g],j=e[(f+2)%g],k=a[2*h],l=a[2*h+1],m=a[2*i],n=a[2*i+1],o=a[2*j],p=a[2*j+1],q=!1;if(d._convex(k,l,m,n,o,p)){q=!0;for(var r=0;r3*g)break}return c.push(e[0],e[1],e[2]),c},d._PointInTriangle=function(a,b,c,d,e,f,g,h){var i=g-c,j=h-d,k=e-c,l=f-d,m=a-c,n=b-d,o=i*i+j*j,p=i*k+j*l,q=i*m+j*n,r=k*k+l*l,s=k*m+l*n,t=1/(o*r-p*p),u=(r*q-p*s)*t,v=(o*s-p*q)*t;return u>=0&&v>=0&&u+v<1},d._convex=function(a,b,c,d,e,f){return(b-d)*(e-c)+(c-a)*(f-d)>=0},b.exports=d},{}],30:[function(a,b,c){var d=b.exports={},e=a("../utils/Utils");d.crossLength=function(a,b){return a[0]*b[1]-a[1]*b[0]},d.crossVZ=function(a,b,c){return d.rotate(a,b,-Math.PI/2),d.scale(a,a,c),a},d.crossZV=function(a,b,c){return d.rotate(a,c,Math.PI/2),d.scale(a,a,b),a},d.rotate=function(a,b,c){if(0!==c){var d=Math.cos(c),e=Math.sin(c),f=b[0],g=b[1];a[0]=d*f-e*g,a[1]=e*f+d*g}else a[0]=b[0],a[1]=b[1]},d.rotate90cw=function(a,b){var c=b[0],d=b[1];a[0]=d,a[1]=-c},d.toLocalFrame=function(a,b,c,e){d.copy(a,b),d.sub(a,a,c),d.rotate(a,a,-e)},d.toGlobalFrame=function(a,b,c,e){d.copy(a,b),d.rotate(a,a,e),d.add(a,a,c)},d.vectorToLocalFrame=function(a,b,c){d.rotate(a,b,-c)},d.vectorToGlobalFrame=function(a,b,c){d.rotate(a,b,c)},d.centroid=function(a,b,c,e){return d.add(a,b,c),d.add(a,a,e),d.scale(a,a,1/3),a},d.create=function(){var a=new e.ARRAY_TYPE(2);return a[0]=0,a[1]=0,a},d.clone=function(a){var b=new e.ARRAY_TYPE(2);return b[0]=a[0],b[1]=a[1],b},d.fromValues=function(a,b){var c=new e.ARRAY_TYPE(2);return c[0]=a,c[1]=b,c},d.copy=function(a,b){return a[0]=b[0],a[1]=b[1],a},d.set=function(a,b,c){return a[0]=b,a[1]=c,a},d.add=function(a,b,c){return a[0]=b[0]+c[0],a[1]=b[1]+c[1],a},d.subtract=function(a,b,c){return a[0]=b[0]-c[0],a[1]=b[1]-c[1],a},d.sub=d.subtract,d.multiply=function(a,b,c){return a[0]=b[0]*c[0],a[1]=b[1]*c[1],a},d.mul=d.multiply,d.divide=function(a,b,c){return a[0]=b[0]/c[0],a[1]=b[1]/c[1],a},d.div=d.divide,d.scale=function(a,b,c){return a[0]=b[0]*c,a[1]=b[1]*c,a},d.distance=function(a,b){var c=b[0]-a[0],d=b[1]-a[1];return Math.sqrt(c*c+d*d)},d.dist=d.distance,d.squaredDistance=function(a,b){var c=b[0]-a[0],d=b[1]-a[1];return c*c+d*d},d.sqrDist=d.squaredDistance,d.length=function(a){var b=a[0],c=a[1];return Math.sqrt(b*b+c*c)},d.len=d.length,d.squaredLength=function(a){var b=a[0],c=a[1];return b*b+c*c},d.sqrLen=d.squaredLength,d.negate=function(a,b){return a[0]=-b[0],a[1]=-b[1],a},d.normalize=function(a,b){var c=b[0],d=b[1],e=c*c+d*d;return e>0&&(e=1/Math.sqrt(e),a[0]=b[0]*e,a[1]=b[1]*e),a},d.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]},d.str=function(a){return"vec2("+a[0]+", "+a[1]+")"},d.lerp=function(a,b,c,d){var e=b[0],f=b[1];return a[0]=e+d*(c[0]-e),a[1]=f+d*(c[1]-f),a},d.reflect=function(a,b,c){var d=b[0]*c[0]+b[1]*c[1];a[0]=b[0]-2*c[0]*d,a[1]=b[1]-2*c[1]*d},d.getLineSegmentsIntersection=function(a,b,c,e,f){var g=d.getLineSegmentsIntersectionFraction(b,c,e,f);return!(g<0)&&(a[0]=b[0]+g*(c[0]-b[0]),a[1]=b[1]+g*(c[1]-b[1]),!0)},d.getLineSegmentsIntersectionFraction=function(a,b,c,d){var e,f,g=b[0]-a[0],h=b[1]-a[1],i=d[0]-c[0],j=d[1]-c[1];return e=(-h*(a[0]-c[0])+g*(a[1]-c[1]))/(-i*h+g*j),f=(i*(a[1]-c[1])-j*(a[0]-c[0]))/(-i*h+g*j),e>=0&&e<=1&&f>=0&&f<=1?f:-1}},{"../utils/Utils":57}],31:[function(a,b,c){function d(a){a=a||{},k.call(this),this.id=a.id||++d._idCounter,this.world=null,this.shapes=[],this.mass=a.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!a.fixedRotation,this.fixedX=!!a.fixedX,this.fixedY=!!a.fixedY,this.massMultiplier=e.create(),this.position=e.fromValues(0,0),a.position&&e.copy(this.position,a.position),this.interpolatedPosition=e.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=e.fromValues(0,0),this.previousAngle=0,this.velocity=e.fromValues(0,0),a.velocity&&e.copy(this.velocity,a.velocity),this.vlambda=e.fromValues(0,0),this.wlambda=0,this.angle=a.angle||0,this.angularVelocity=a.angularVelocity||0,this.force=e.create(),a.force&&e.copy(this.force,a.force),this.angularForce=a.angularForce||0,this.damping="number"==typeof a.damping?a.damping:.1,this.angularDamping="number"==typeof a.angularDamping?a.angularDamping:.1,this.type=d.STATIC,void 0!==a.type?this.type=a.type:a.mass?this.type=d.DYNAMIC:this.type=d.STATIC,this.boundingRadius=0,this.aabb=new j,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===a.allowSleep||a.allowSleep,this.wantsToSleep=!1,this.sleepState=d.AWAKE,this.sleepSpeedLimit=void 0!==a.sleepSpeedLimit?a.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==a.sleepTimeLimit?a.sleepTimeLimit:1,this.gravityScale=void 0!==a.gravityScale?a.gravityScale:1,this.collisionResponse=void 0===a.collisionResponse||a.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==a.ccdSpeedThreshold?a.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==a.ccdIterations?a.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var e=a("../math/vec2"),f=a("poly-decomp"),g=a("../shapes/Convex"),h=a("../collision/RaycastResult"),i=a("../collision/Ray"),j=a("../collision/AABB"),k=a("../events/EventEmitter");b.exports=d,d.prototype=new k,d.prototype.constructor=d,d._idCounter=0,d.prototype.updateSolveMassProperties=function(){this.sleepState===d.SLEEPING||this.type===d.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},d.prototype.setDensity=function(a){var b=this.getArea();this.mass=b*a,this.updateMassProperties()},d.prototype.getArea=function(){for(var a=0,b=0;bc&&(c=g+h)}this.boundingRadius=c},d.prototype.addShape=function(a,b,c){if(a.body)throw new Error("A shape can only be added to one body.");a.body=this,b?e.copy(a.position,b):e.set(a.position,0,0),a.angle=c||0,this.shapes.push(a),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},d.prototype.removeShape=function(a){var b=this.shapes.indexOf(a);return b!==-1&&(this.shapes.splice(b,1),this.aabbNeedsUpdate=!0,a.body=null,!0)},d.prototype.updateMassProperties=function(){if(this.type===d.STATIC||this.type===d.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var a=this.shapes,b=a.length,c=this.mass/b,f=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var g=0;g0?1/f:0}this.invMass=1/this.mass,e.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};e.create();d.prototype.applyForce=function(a,b){if(e.add(this.force,this.force,a),b){var c=e.crossLength(b,a);this.angularForce+=c}};var n=e.create(),o=e.create(),p=e.create();d.prototype.applyForceLocal=function(a,b){b=b||p;var c=n,d=o;this.vectorToWorldFrame(c,a),this.vectorToWorldFrame(d,b),this.applyForce(c,d)};var q=e.create();d.prototype.applyImpulse=function(a,b){if(this.type===d.DYNAMIC){var c=q;if(e.scale(c,a,this.invMass),e.multiply(c,this.massMultiplier,c),e.add(this.velocity,c,this.velocity),b){var f=e.crossLength(b,a);f*=this.invInertia,this.angularVelocity+=f}}};var r=e.create(),s=e.create(),t=e.create();d.prototype.applyImpulseLocal=function(a,b){b=b||t;var c=r,d=s;this.vectorToWorldFrame(c,a),this.vectorToWorldFrame(d,b),this.applyImpulse(c,d)},d.prototype.toLocalFrame=function(a,b){e.toLocalFrame(a,b,this.position,this.angle)},d.prototype.toWorldFrame=function(a,b){e.toGlobalFrame(a,b,this.position,this.angle)},d.prototype.vectorToLocalFrame=function(a,b){e.vectorToLocalFrame(a,b,this.angle)},d.prototype.vectorToWorldFrame=function(a,b){e.vectorToGlobalFrame(a,b,this.angle)},d.prototype.fromPolygon=function(a,b){b=b||{};for(var c=this.shapes.length;c>=0;--c)this.removeShape(this.shapes[c]);var d=new f.Polygon;if(d.vertices=a,d.makeCCW(),"number"==typeof b.removeCollinearPoints&&d.removeCollinearPoints(b.removeCollinearPoints),void 0===b.skipSimpleCheck&&!d.isSimple())return!1;this.concavePath=d.vertices.slice(0);for(var c=0;c=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=d.AWAKE):(this.idleTime+=c,this.sleepState=d.SLEEPY),this.idleTime>this.sleepTimeLimit&&(b?this.wantsToSleep=!0:this.sleep())}},d.prototype.overlaps=function(a){return this.world.overlapKeeper.bodiesAreOverlapping(this,a)};var x=e.create(),y=e.create();d.prototype.integrate=function(a){var b=this.invMass,c=this.force,d=this.position,f=this.velocity;e.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*a),e.scale(x,c,a*b),e.multiply(x,this.massMultiplier,x),e.add(f,x,f),this.integrateToTimeOfImpact(a)||(e.scale(y,f,a),e.add(d,d,y),this.fixedRotation||(this.angle+=this.angularVelocity*a)),this.aabbNeedsUpdate=!0};var z=new h,A=new i({mode:i.ALL}),B=e.create(),C=e.create(),D=e.create(),E=e.create();d.prototype.integrateToTimeOfImpact=function(a){if(this.ccdSpeedThreshold<0||e.squaredLength(this.velocity)=j&&i=0&&(f.rotate(n,l,d),f.scale(n,n,2*r-1),b.reportIntersection(a,t,n,-1),a.shouldStop(b)))return}for(var u=Math.pow(this.radius,2)+Math.pow(q,2),r=0;r<2;r++){f.set(o,q*(2*r-1),0),f.toGlobalFrame(o,o,c,d);var v=Math.pow(g[0]-e[0],2)+Math.pow(g[1]-e[1],2),w=2*((g[0]-e[0])*(e[0]-o[0])+(g[1]-e[1])*(e[1]-o[1])),x=Math.pow(e[0]-o[0],2)+Math.pow(e[1]-o[1],2)-Math.pow(this.radius,2),t=Math.pow(w,2)-4*v*x;if(!(t<0))if(0===t){if(f.lerp(m,e,g,t),f.squaredDistance(m,c)>u&&(f.sub(n,m,o),f.normalize(n,n),b.reportIntersection(a,t,n,-1),a.shouldStop(b)))return}else{var y=Math.sqrt(t),z=1/(2*v),A=(-w-y)*z,B=(-w+y)*z;if(A>=0&&A<=1&&(f.lerp(m,e,g,A),f.squaredDistance(m,c)>u&&(f.sub(n,m,o),f.normalize(n,n),b.reportIntersection(a,A,n,-1),a.shouldStop(b))))return;if(B>=0&&B<=1&&(f.lerp(m,e,g,B),f.squaredDistance(m,c)>u&&(f.sub(n,m,o),f.normalize(n,n),b.reportIntersection(a,B,n,-1),a.shouldStop(b))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(a,b,c){function d(a){"number"==typeof arguments[0]&&(a={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),a=a||{},this.radius=a.radius||1,a.type=e.CIRCLE,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeMomentOfInertia=function(a){var b=this.radius;return a*b*b/2},d.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},d.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},d.prototype.computeAABB=function(a,b,c){var d=this.radius;f.set(a.upperBound,d,d),f.set(a.lowerBound,-d,-d),b&&(f.add(a.lowerBound,a.lowerBound,b),f.add(a.upperBound,a.upperBound,b))};var g=f.create(),h=f.create();d.prototype.raycast=function(a,b,c,d){var e=b.from,i=b.to,j=this.radius,k=Math.pow(i[0]-e[0],2)+Math.pow(i[1]-e[1],2),l=2*((i[0]-e[0])*(e[0]-c[0])+(i[1]-e[1])*(e[1]-c[1])),m=Math.pow(e[0]-c[0],2)+Math.pow(e[1]-c[1],2)-Math.pow(j,2),n=Math.pow(l,2)-4*k*m,o=g,p=h;if(!(n<0))if(0===n)f.lerp(o,e,i,n),f.sub(p,o,c),f.normalize(p,p),b.reportIntersection(a,n,p,-1);else{var q=Math.sqrt(n),r=1/(2*k),s=(-l-q)*r,t=(-l+q)*r;if(s>=0&&s<=1&&(f.lerp(o,e,i,s),f.sub(p,o,c),f.normalize(p,p),b.reportIntersection(a,s,p,-1),a.shouldStop(b)))return;t>=0&&t<=1&&(f.lerp(o,e,i,t),f.sub(p,o,c),f.normalize(p,p),b.reportIntersection(a,t,p,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(a,b,c){function d(a){Array.isArray(arguments[0])&&(a={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),a=a||{},this.vertices=[];for(var b=void 0!==a.vertices?a.vertices:[],c=0;ce)&&(e=d),(null===g||de){var j=g;g=e,e=j}f.set(b,g,e)},d.prototype.projectOntoWorldAxis=function(a,b,c,d){var e=i;this.projectOntoLocalAxis(a,d),0!==c?f.rotate(e,a,c):e=a;var g=f.dot(b,e);f.set(d,d[0]+g,d[1]+g)},d.prototype.updateTriangles=function(){this.triangles.length=0;for(var a=[],b=0;bb&&(b=d)}this.boundingRadius=Math.sqrt(b)},d.triangleArea=function(a,b,c){return.5*((b[0]-a[0])*(c[1]-a[1])-(c[0]-a[0])*(b[1]-a[1]))},d.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var a=this.triangles,b=this.vertices,c=0;c!==a.length;c++){var e=a[c],f=b[e[0]],g=b[e[1]],h=b[e[2]],i=d.triangleArea(f,g,h);this.area+=i}},d.prototype.computeAABB=function(a,b,c){a.setFromPoints(this.vertices,b,c,0)};var o=f.create(),p=f.create(),q=f.create();d.prototype.raycast=function(a,b,c,d){var e=o,g=p,h=q,i=this.vertices;f.toLocalFrame(e,b.from,c,d),f.toLocalFrame(g,b.to,c,d);for(var j=i.length,k=0;k=0&&(f.sub(h,m,l),f.rotate(h,h,-Math.PI/2+d),f.normalize(h,h),b.reportIntersection(a,n,h,k))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(a,b,c){function d(a){if(Array.isArray(arguments[0])){if(a={heights:arguments[0]},"object"==typeof arguments[1])for(var b in arguments[1])a[b]=arguments[1][b];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}a=a||{},this.heights=a.heights?a.heights.slice(0):[],this.maxValue=a.maxValue||null,this.minValue=a.minValue||null,this.elementWidth=a.elementWidth||.1,void 0!==a.maxValue&&void 0!==a.minValue||this.updateMaxMinValues(),a.type=e.HEIGHTFIELD,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");a("../utils/Utils");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.updateMaxMinValues=function(){for(var a=this.heights,b=a[0],c=a[0],d=0;d!==a.length;d++){var e=a[d];e>b&&(b=e),es){var t=r;r=s,s=t}for(var u=0;u=0&&(f.sub(m,o,n),f.rotate(m,m,d+Math.PI/2),f.normalize(m,m),b.reportIntersection(a,v,m,-1),a.shouldStop(b)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(a,b,c){function d(a){"number"==typeof arguments[0]&&(a={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),a=a||{},this.length=a.length||1,a.type=e.LINE,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeMomentOfInertia=function(a){return a*Math.pow(this.length,2)/12},d.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var g=[f.create(),f.create()];d.prototype.computeAABB=function(a,b,c){var d=this.length/2;f.set(g[0],-d,0),f.set(g[1],d,0),a.setFromPoints(g,b,c,0)};var h=(f.create(),f.create()),i=f.create(),j=f.create(),k=f.fromValues(0,1);d.prototype.raycast=function(a,b,c,d){var e=b.from,g=b.to,l=i,m=j,n=this.length/2;f.set(l,-n,0),f.set(m,n,0),f.toGlobalFrame(l,l,c,d),f.toGlobalFrame(m,m,c,d);var o=f.getLineSegmentsIntersectionFraction(l,m,e,g);if(o>=0){var p=h;f.rotate(p,k,d),b.reportIntersection(a,o,p,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(a,b,c){function d(a){a=a||{},a.type=e.PARTICLE,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeMomentOfInertia=function(a){return 0},d.prototype.updateBoundingRadius=function(){this.boundingRadius=0},d.prototype.computeAABB=function(a,b,c){f.copy(a.lowerBound,b),f.copy(a.upperBound,b)}},{"../math/vec2":30,"./Shape":45}],44:[function(a,b,c){function d(a){a=a||{},a.type=e.PLANE,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");a("../utils/Utils");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeMomentOfInertia=function(a){return 0},d.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},d.prototype.computeAABB=function(a,b,c){var d=c%(2*Math.PI),e=f.set,g=1e7,h=a.lowerBound,i=a.upperBound;e(h,-g,-g),e(i,g,g),0===d?i[1]=0:d===Math.PI/2?h[0]=0:d===Math.PI?h[1]=0:d===3*Math.PI/2&&(i[0]=0)},d.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var g=f.create(),h=(f.create(),f.create(),f.create()),i=f.create();d.prototype.raycast=function(a,b,c,d){var e=b.from,j=b.to,k=b.direction,l=g,m=h,n=i;f.set(m,0,1),f.rotate(m,m,d),f.sub(n,e,c);var o=f.dot(n,m);if(f.sub(n,j,c),!(o*f.dot(n,m)>0||f.squaredDistance(e,j)n*h&&(p=n*h-l),f[a]+=p,b.addToWlambda(p),p}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(a,b,c){function d(a,b){a=a||{},e.call(this),this.type=b,this.equations=[],this.equationSortFunction=a.equationSortFunction||!1}var e=(a("../utils/Utils"),a("../events/EventEmitter"));b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.solve=function(a,b){throw new Error("Solver.solve should be implemented by subclasses!")};var f={bodies:[]};d.prototype.solveIsland=function(a,b){this.removeAllEquations(),b.equations.length&&(this.addEquations(b.equations),f.bodies.length=0,b.getBodies(f.bodies),f.bodies.length&&this.solve(a,f))},d.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},d.prototype.addEquation=function(a){a.enabled&&this.equations.push(a)},d.prototype.addEquations=function(a){for(var b=0,c=a.length;b!==c;b++){var d=a[b];d.enabled&&this.equations.push(d)}},d.prototype.removeEquation=function(a){var b=this.equations.indexOf(a);b!==-1&&this.equations.splice(b,1)},d.prototype.removeAllEquations=function(){this.equations.length=0},d.GS=1,d.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("../equations/ContactEquation"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.bodyA=a.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("../equations/FrictionEquation"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.bodyA=a.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("../world/IslandNode"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("../world/Island"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(a,b,c){function d(){this.overlappingShapesLastState=new e,this.overlappingShapesCurrentState=new e,this.recordPool=new f({size:16}),this.tmpDict=new e,this.tmpArray1=[]}var e=a("./TupleDictionary"),f=(a("./OverlapKeeperRecord"),a("./OverlapKeeperRecordPool"));a("./Utils");b.exports=d,d.prototype.tick=function(){for(var a=this.overlappingShapesLastState,b=this.overlappingShapesCurrentState,c=a.keys.length;c--;){var d=a.keys[c],e=a.getByKey(d);b.getByKey(d);e&&this.recordPool.release(e)}a.reset(),a.copy(b),b.reset()},d.prototype.setOverlapping=function(a,b,c,d){var e=(this.overlappingShapesLastState,this.overlappingShapesCurrentState);if(!e.get(b.id,d.id)){var f=this.recordPool.get();f.set(a,b,c,d),e.set(b.id,d.id,f)}},d.prototype.getNewOverlaps=function(a){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,a)},d.prototype.getEndOverlaps=function(a){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,a)},d.prototype.bodiesAreOverlapping=function(a,b){for(var c=this.overlappingShapesCurrentState,d=c.keys.length;d--;){var e=c.keys[d],f=c.data[e];if(f.bodyA===a&&f.bodyB===b||f.bodyA===b&&f.bodyB===a)return!0}return!1},d.prototype.getDiff=function(a,b,c){var c=c||[],d=a,e=b;c.length=0;for(var f=e.keys.length;f--;){var g=e.keys[f],h=e.data[g];if(!h)throw new Error("Key "+g+" had no data!");d.data[g]||c.push(h)}return c},d.prototype.isNewOverlap=function(a,b){var c=0|a.id,d=0|b.id,e=this.overlappingShapesLastState,f=this.overlappingShapesCurrentState;return!e.get(c,d)&&!!f.get(c,d)},d.prototype.getNewBodyOverlaps=function(a){this.tmpArray1.length=0;var b=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(b,a)},d.prototype.getEndBodyOverlaps=function(a){this.tmpArray1.length=0;var b=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(b,a)},d.prototype.getBodyDiff=function(a,b){b=b||[];for(var c=this.tmpDict,d=a.length;d--;){var e=a[d];c.set(0|e.bodyA.id,0|e.bodyB.id,e)}for(d=c.keys.length;d--;){var e=c.getByKey(c.keys[d]);e&&b.push(e.bodyA,e.bodyB)}return c.reset(),b}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(a,b,c){function d(a,b,c,d){this.shapeA=b,this.shapeB=d,this.bodyA=a,this.bodyB=c}b.exports=d,d.prototype.set=function(a,b,c,e){d.call(this,a,b,c,e)}},{}],54:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("./OverlapKeeperRecord"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.bodyA=a.bodyB=a.shapeA=a.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(a,b,c){function d(a){a=a||{},this.objects=[],void 0!==a.size&&this.resize(a.size)}b.exports=d,d.prototype.resize=function(a){for(var b=this.objects;b.length>a;)b.pop();for(;b.length(0|b)?a<<16|65535&b:b<<16|65535&a)},d.prototype.getByKey=function(a){return a|=0,this.data[a]},d.prototype.get=function(a,b){return this.data[this.getKey(a,b)]},d.prototype.set=function(a,b,c){if(!c)throw new Error("No data!");var d=this.getKey(a,b);return this.data[d]||this.keys.push(d),this.data[d]=c,d},d.prototype.reset=function(){for(var a=this.data,b=this.keys,c=b.length;c--;)delete a[b[c]];b.length=0},d.prototype.copy=function(a){this.reset(),e.appendArray(this.keys,a.keys);for(var b=a.keys.length;b--;){var c=a.keys[b];this.data[c]=a.data[c]}}},{"./Utils":57}],57:[function(a,b,c){function d(){}b.exports=d,d.appendArray=function(a,b){if(b.length<15e4)a.push.apply(a,b);else for(var c=0,d=b.length;c!==d;++c)a.push(b[c])},d.splice=function(a,b,c){c=c||1;for(var d=b,e=a.length-c;d=a&&d=0;r-=2)for(var A=x.length-2;A>=0;A-=2)(z[r]===x[A]&&z[r+1]===x[A+1]||z[r+1]===x[A]&&z[r]===x[A+1])&&x.splice(A,2);var B=l.length;for(r=0;r!==B;r++){var C=l[r];if(!C.collideConnected)for(var A=x.length-2;A>=0;A-=2)(C.bodyA===x[A]&&C.bodyB===x[A+1]||C.bodyB===x[A]&&C.bodyA===x[A+1])&&x.splice(A,2)}this.postBroadphaseEvent.pairs=x,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,k.reset(this);for(var r=0,D=x.length;r!==D;r+=2)for(var E=x[r],F=x[r+1],G=0,H=E.shapes.length;G!==H;G++)for(var I=E.shapes[G],J=I.position,K=I.angle,L=0,M=F.shapes.length;L!==M;L++){var N=F.shapes[L],O=N.position,P=N.angle,Q=this.defaultContactMaterial;if(I.material&&N.material){var R=this.getContactMaterial(I.material,N.material);R&&(Q=R)}this.runNarrowphase(k,E,I,J,K,F,N,O,P,Q,this.frictionGravity)}for(var r=0;r!==i;r++){var S=e[r];S._wakeUpAfterNarrowphase&&(S.wakeUp(),S._wakeUpAfterNarrowphase=!1)}if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(y);for(var T=this.endContactEvent,L=y.length;L--;){var U=y[L];T.shapeA=U.shapeA,T.shapeB=U.shapeB,T.bodyA=U.bodyA,T.bodyB=U.bodyB,this.emit(T)}y.length=0}var V=this.preSolveEvent;V.contactEquations=k.contactEquations,V.frictionEquations=k.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var B=l.length;for(r=0;r!==B;r++)l[r].update();if(k.contactEquations.length||k.frictionEquations.length||B)if(this.islandSplit){for(p.equations.length=0,s.appendArray(p.equations,k.contactEquations),s.appendArray(p.equations,k.frictionEquations),r=0;r!==B;r++)s.appendArray(p.equations,l[r].equations);p.split(this);for(var r=0;r!==p.islands.length;r++){var W=p.islands[r];W.equations.length&&h.solveIsland(a,W)}}else{for(h.addEquations(k.contactEquations),h.addEquations(k.frictionEquations),r=0;r!==B;r++)h.addEquations(l[r].equations);this.solveConstraints&&h.solve(a,this),h.removeAllEquations()}for(var r=0;r!==i;r++){var S=e[r];S.integrate(a)}for(var r=0;r!==i;r++)e[r].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var X=this.impactEvent,r=0;r!==k.contactEquations.length;r++){var Y=k.contactEquations[r];Y.firstImpact&&(X.bodyA=Y.bodyA,X.bodyB=Y.bodyB,X.shapeA=Y.shapeA,X.shapeB=Y.shapeB,X.contactEquation=Y,this.emit(X))}if(this.sleepMode===d.BODY_SLEEPING)for(r=0;r!==i;r++)e[r].sleepTick(this.time,!1,a);else if(this.sleepMode===d.ISLAND_SLEEPING&&this.islandSplit){for(r=0;r!==i;r++)e[r].sleepTick(this.time,!0,a);for(var r=0;r0,a.frictionCoefficient=k.friction;var p;p=b.type===m.STATIC||b.type===m.KINEMATIC?g.mass:g.type===m.STATIC||g.type===m.KINEMATIC?b.mass:b.mass*g.mass/(b.mass+g.mass),a.slipForce=k.friction*l*p,a.restitution=k.restitution,a.surfaceVelocity=k.surfaceVelocity,a.frictionStiffness=k.frictionStiffness,a.frictionRelaxation=k.frictionRelaxation,a.stiffness=k.stiffness,a.relaxation=k.relaxation,a.contactSkinSize=k.contactSkinSize,a.enabledEquations=b.collisionResponse&&g.collisionResponse&&c.collisionResponse&&h.collisionResponse;var q=a[c.type|h.type],r=0;if(q){var s=c.sensor||h.sensor,t=a.frictionEquations.length;r=c.type=2*Math.pow(g.sleepSpeedLimit,2)&&(b._wakeUpAfterNarrowphase=!0)}if(g.allowSleep&&g.type===m.DYNAMIC&&g.sleepState===m.SLEEPING&&b.sleepState===m.AWAKE&&b.type!==m.STATIC){f.squaredLength(b.velocity)+Math.pow(b.angularVelocity,2)>=2*Math.pow(b.sleepSpeedLimit,2)&&(g._wakeUpAfterNarrowphase=!0)}if(this.overlapKeeper.setOverlapping(b,c,g,h),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(c,h)){var v=this.beginContactEvent;if(v.shapeA=c,v.shapeB=h,v.bodyA=b,v.bodyB=g,v.contactEquations.length=0,"number"==typeof r)for(var y=a.contactEquations.length-r;y1)for(var y=a.frictionEquations.length-u;y=0;b--)this.removeConstraint(a[b]);for(var c=this.bodies,b=c.length-1;b>=0;b--)this.removeBody(c[b]);for(var e=this.springs,b=e.length-1;b>=0;b--)this.removeSpring(e[b]);for(var f=this.contactMaterials,b=f.length-1;b>=0;b--)this.removeContactMaterial(f[b]);d.apply(this)};var z=f.create(),A=(f.fromValues(0,0),f.fromValues(0,0));d.prototype.hitTest=function(a,b,c){c=c||0;var d=new m({position:a}),e=new k,l=a,n=0,o=z,p=A;d.addShape(e);for(var q=this.narrowphase,r=[],s=0,t=b.length;s!==t;s++)for(var u=b[s],v=0,w=u.shapes.length;v!==w;v++){var x=u.shapes[v];f.rotate(o,x.position,u.angle),f.add(o,o,u.position);var y=x.angle+u.angle;(x instanceof g&&q.circleParticle(u,x,o,y,d,e,l,n,!0)||x instanceof h&&q.particleConvex(d,e,l,n,u,x,o,y,!0)||x instanceof i&&q.particlePlane(d,e,l,n,u,x,o,y,!0)||x instanceof j&&q.particleCapsule(d,e,l,n,u,x,o,y,!0)||x instanceof k&&f.squaredLength(f.sub(p,o,a))0?Math.acos(c/m):-Math.acos(c/m),this.worldScale.x=m,this.worldScale.y=k/m}else if(e||f){var n=Math.sqrt(e*e+f*f);this.worldRotation=l-(f>0?Math.acos(-e/n):-Math.acos(e/n)),this.worldScale.x=k/n,this.worldScale.y=n}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*b.worldAlpha,this.worldPosition.x=j.tx,this.worldPosition.y=j.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,j,i),this},preUpdate:function(){},generateTexture:function(a,b,c){var e=this.getLocalBounds(),f=new Phaser.RenderTexture(this.game,0|e.width,0|e.height,c,b,a);return d.DisplayObject._tempMatrix.tx=-e.x,d.DisplayObject._tempMatrix.ty=-e.y,f.render(this,d.DisplayObject._tempMatrix),f},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(a){return this.updateTransform(),this.worldTransform.apply(a)},toLocal:function(a,b){return b&&(a=b.toGlobal(a)),this.updateTransform(),this.worldTransform.applyInverse(a)},_renderCachedSprite:function(a){this._cachedSprite.worldAlpha=this.worldAlpha,a.gl?d.Sprite.prototype._renderWebGL.call(this._cachedSprite,a):d.Sprite.prototype._renderCanvas.call(this._cachedSprite,a)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var a=this.getLocalBounds();if(a.width=Math.max(1,Math.ceil(a.width)),a.height=Math.max(1,Math.ceil(a.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(a.width,a.height);else{var b=0;this.texture&&this.texture.baseTexture&&d._enableMultiTextureToggle&&(b=this.texture.baseTexture.textureIndex);var c=new Phaser.RenderTexture(this.game,a.width,a.height,void 0,void 0,void 0,void 0,b);this._cachedSprite=new d.Sprite(c),this._cachedSprite.worldTransform=this.worldTransform}var e=this._filters;this._filters=null,this._cachedSprite.filters=e,d.DisplayObject._tempMatrix.tx=-a.x,d.DisplayObject._tempMatrix.ty=-a.y,this._cachedSprite.texture.render(this,d.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-(a.x/a.width),this._cachedSprite.anchor.y=-(a.y/a.height),this._filters=e,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},d.DisplayObject.prototype.displayObjectUpdateTransform=d.DisplayObject.prototype.updateTransform,Object.defineProperties(d.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(a){this.position.x=a}},y:{get:function(){return this.position.y},set:function(a){this.position.y=a}},worldVisible:{get:function(){if(this.visible){var a=this.parent;if(!a)return this.visible;do{if(!a.visible)return!1;a=a.parent}while(a);return!0}return!1}},mask:{get:function(){return this._mask},set:function(a){this._mask&&(this._mask.isMask=!1),this._mask=a,a&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(a){if(Array.isArray(a)){for(var b=[],c=0;c=0&&b<=this.children.length)return a.parent&&a.parent.removeChild(a),a.parent=this,this.children.splice(b,0,a),a;throw new Error(a+"addChildAt: The index "+b+" supplied is out of bounds "+this.children.length)},d.DisplayObjectContainer.prototype.swapChildren=function(a,b){if(a!==b){var c=this.getChildIndex(a),d=this.getChildIndex(b);if(c<0||d<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[c]=b,this.children[d]=a}},d.DisplayObjectContainer.prototype.getChildIndex=function(a){var b=this.children.indexOf(a);if(b===-1)throw new Error("The supplied DisplayObject must be a child of the caller");return b},d.DisplayObjectContainer.prototype.setChildIndex=function(a,b){if(b<0||b>=this.children.length)throw new Error("The supplied index is out of bounds");var c=this.getChildIndex(a);this.children.splice(c,1),this.children.splice(b,0,a)},d.DisplayObjectContainer.prototype.getChildAt=function(a){if(a<0||a>=this.children.length)throw new Error("getChildAt: Supplied index "+a+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[a]},d.DisplayObjectContainer.prototype.removeChild=function(a){var b=this.children.indexOf(a);if(b!==-1)return this.removeChildAt(b)},d.DisplayObjectContainer.prototype.removeChildAt=function(a){var b=this.getChildAt(a);return b&&(b.parent=void 0,this.children.splice(a,1)),b},d.DisplayObjectContainer.prototype.removeChildren=function(a,b){void 0===a&&(a=0),void 0===b&&(b=this.children.length);var c=b-a;if(c>0&&c<=b){for(var d=this.children.splice(a,c),e=0;eh?l:h,m=m>i?m:i)}var o=this._bounds;if(!n){o=new d.Rectangle;var p=o.x,q=o.width+o.x,r=o.y,s=o.height+o.y,t=this.worldTransform,u=t.a,v=t.b,w=t.c,x=t.d,y=t.tx,z=t.ty,A=u*q+w*s+y,B=x*s+v*q+z,C=u*p+w*s+y,D=x*s+v*p+z,E=u*p+w*r+y,F=x*r+v*p+z,G=u*q+w*r+y,H=x*r+v*q+z;l=A,m=B,j=A,k=B,j=Cl?C:l,l=E>l?E:l,l=G>l?G:l,m=D>m?D:m,m=F>m?F:m,m=H>m?H:m}if(o.x=j,o.y=k,o.width=l-j,o.height=m-k,b)for(a.worldTransform=f,e=0;eo?t:o,o=v>o?v:o,o=x>o?x:o,o=z>o?z:o,p=u>p?u:p,p=w>p?w:p,p=y>p?y:p,p=A>p?A:p}var B=this._bounds;return B.x=q,B.width=o-q,B.y=r,B.height=p-r,this._currentBounds=B,B},d.Sprite.prototype.getLocalBounds=function(){var a=this.worldTransform;this.worldTransform=d.identityMatrix;for(var b=0;b= "+this.MAX_TEXTURES+".0) gl_FragColor = BLUE;"," else if(isnan(vTextureIndex)) gl_FragColor = RED;","}"];var e=d.compileProgram(a,this.vertexSrc||d.PixiShader.defaultVertexSrc,this.fragmentSrc);a.useProgram(e),this.uSamplerArray=a.getUniformLocation(e,"uSamplerArray[0]"),this.projectionVector=a.getUniformLocation(e,"projectionVector"),this.offsetVector=a.getUniformLocation(e,"offsetVector"),this.dimensions=a.getUniformLocation(e,"dimensions"),this.aVertexPosition=a.getAttribLocation(e,"aVertexPosition"),this.aTextureCoord=a.getAttribLocation(e,"aTextureCoord"),this.colorAttribute=a.getAttribLocation(e,"aColor"),this.aTextureIndex=a.getAttribLocation(e,"aTextureIndex");var f=[],g=a.createTexture();a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,g),a.texImage2D(a.TEXTURE_2D,0,a.RGB,1,1,0,a.RGB,a.UNSIGNED_BYTE,null);for(var h=0;h 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],d.PixiFastShader=function(a){if(this._UID=Phaser._UID++,this.gl=a,this.program=null,d._enableMultiTextureToggle){var a=this.gl;this.MAX_TEXTURES=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS);for(var b="\tif (vTextureIndex == 0.0) gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;\n",c=1;c= "+this.MAX_TEXTURES+".0) gl_FragColor = BLUE;"," else if(isnan(vTextureIndex)) gl_FragColor = RED;","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},d.PixiFastShader.prototype.constructor=d.PixiFastShader,d.PixiFastShader.prototype.init=function(){var a=this.gl,b=d.compileProgram(a,this.vertexSrc,this.fragmentSrc);if(a.useProgram(b),this.uSampler=d._enableMultiTextureToggle?a.getUniformLocation(b,"uSamplerArray[0]"):a.getUniformLocation(b,"uSampler"),d._enableMultiTextureToggle){var c=[],e=a.createTexture();a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,e),a.texImage2D(a.TEXTURE_2D,0,a.RGB,1,1,0,a.RGB,a.UNSIGNED_BYTE,null);for(var f=0;f= "+this.MAX_TEXTURES+".0) gl_FragColor = BLUE;"," else if(isnan(vTextureIndex)) gl_FragColor = RED;","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},d.StripShader.prototype.constructor=d.StripShader,d.StripShader.prototype.init=function(){var a=this.gl,b=d.compileProgram(a,this.vertexSrc,this.fragmentSrc);if(a.useProgram(b),this.uSampler=d._enableMultiTextureToggle?a.getUniformLocation(b,"uSamplerArray[0]"):a.getUniformLocation(b,"uSampler"),d._enableMultiTextureToggle){var c=[],e=a.createTexture();a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,e),a.texImage2D(a.TEXTURE_2D,0,a.RGB,1,1,0,a.RGB,a.UNSIGNED_BYTE,null);for(var f=0;f>1,a|=a>>2,a|=a>>4,a|=a>>8,a|=a>>16,++a},c=this.gl,e=c.getParameter(c.MAX_TEXTURE_IMAGE_UNITS),f=c.getParameter(c.MAX_TEXTURE_SIZE),g=this.game.cache._cache.image,h=null,i=0;i=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture);var h=c._uvs;if(h){var i,j,k,l,m=a.anchor.x,n=a.anchor.y;if(c.trim){var o=c.trim;j=o.x-m*o.width,i=j+c.crop.width,l=o.y-n*o.height,k=l+c.crop.height}else i=c.frame.width*(1-m),j=c.frame.width*-m,k=c.frame.height*(1-n),l=c.frame.height*-n;var p=this.currentBatchSize*this.vertexSize,q=(this.currentBatchSize,c.baseTexture.resolution),r=c.baseTexture.textureIndex,s=g.a/q,t=g.b/q,u=g.c/q,v=g.d/q,w=g.tx,x=g.ty,y=(c.crop.width,c.crop.height);if(c.rotated){var z=g.a,A=g.b,B=g.c,C=g.d,D=j,E=i;w=g.c*y+w,x=g.d*y+x,s=6.123233995736766e-17*z-B,t=6.123233995736766e-17*A-C,u=z+6.123233995736766e-17*B,v=A+6.123233995736766e-17*C,c._updateUvsInverted(),i=k,j=l,k=E,l=D}var F=this.colors,G=this.positions,H=a.tint,I=(H>>16)+(65280&H)+((255&H)<<16)+(255*a.worldAlpha<<24);this.renderSession.roundPixels?(G[p++]=s*j+u*l+w|0,G[p++]=v*l+t*j+x|0,G[p++]=h.x0,G[p++]=h.y0,F[p++]=I,G[p++]=r,G[p++]=s*i+u*l+w|0,G[p++]=v*l+t*i+x|0,G[p++]=h.x1,G[p++]=h.y1,F[p++]=I,G[p++]=r,G[p++]=s*i+u*k+w|0,G[p++]=v*k+t*i+x|0,G[p++]=h.x2,G[p++]=h.y2,F[p++]=I,G[p++]=r,G[p++]=s*j+u*k+w|0,G[p++]=v*k+t*j+x|0,G[p++]=h.x3,G[p++]=h.y3,F[p++]=I,G[p++]=r):(G[p++]=s*j+u*l+w,G[p++]=v*l+t*j+x,G[p++]=h.x0,G[p++]=h.y0,F[p++]=I,G[p++]=r,G[p++]=s*i+u*l+w,G[p++]=v*l+t*i+x,G[p++]=h.x1,G[p++]=h.y1,F[p++]=I,G[p++]=r,G[p++]=s*i+u*k+w,G[p++]=v*k+t*i+x,G[p++]=h.x2,G[p++]=h.y2,F[p++]=I,G[p++]=r,G[p++]=s*j+u*k+w,G[p++]=v*k+t*j+x,G[p++]=h.x3,G[p++]=h.y3,F[p++]=I,G[p++]=r),this.sprites[this.currentBatchSize++]=a}},d.WebGLSpriteBatch.prototype.renderTilingSprite=function(a){var b=a.tilingTexture,c=b.baseTexture,e=this.gl,f=a.texture.baseTexture.textureIndex;d.WebGLRenderer.textureArray[f]!=c&&(this.flush(),e.activeTexture(e.TEXTURE0+f),e.bindTexture(e.TEXTURE_2D,c._glTextures[e.id]),d.WebGLRenderer.textureArray[f]=c),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=b.baseTexture),a._uvs||(a._uvs=new d.TextureUvs);var g=a._uvs,h=b.baseTexture.width,i=b.baseTexture.height;a.tilePosition.x%=h*a.tileScaleOffset.x,a.tilePosition.y%=i*a.tileScaleOffset.y;var j=a.tilePosition.x/(h*a.tileScaleOffset.x),k=a.tilePosition.y/(i*a.tileScaleOffset.y),l=a.width/h/(a.tileScale.x*a.tileScaleOffset.x),m=a.height/i/(a.tileScale.y*a.tileScaleOffset.y);g.x0=0-j,g.y0=0-k,g.x1=1*l-j,g.y1=0-k,g.x2=1*l-j,g.y2=1*m-k,g.x3=0-j,g.y3=1*m-k;var n=a.tint,o=(n>>16)+(65280&n)+((255&n)<<16)+(255*a.worldAlpha<<24),p=this.positions,q=this.colors,r=a.width,s=a.height,t=a.anchor.x,u=a.anchor.y,v=r*(1-t),w=r*-t,x=s*(1-u),y=s*-u,z=this.currentBatchSize*this.vertexSize,A=b.baseTexture.resolution,B=a.worldTransform,C=B.a/A,D=B.b/A,E=B.c/A,F=B.d/A,G=B.tx,H=B.ty;p[z++]=C*w+E*y+G,p[z++]=F*y+D*w+H,p[z++]=g.x0,p[z++]=g.y0,q[z++]=o,p[z++]=f,p[z++]=C*v+E*y+G,p[z++]=F*y+D*v+H,p[z++]=g.x1,p[z++]=g.y1,q[z++]=o,p[z++]=f,p[z++]=C*v+E*x+G,p[z++]=F*x+D*v+H,p[z++]=g.x2,p[z++]=g.y2,q[z++]=o,p[z++]=f,p[z++]=C*w+E*x+G,p[z++]=F*x+D*w+H,p[z++]=g.x3,p[z++]=g.y3,q[z++]=o,p[z++]=f,this.sprites[this.currentBatchSize++]=a},d.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a,b=this.gl;if(this.dirty){this.dirty=!1,a=this.defaultShader.shaders[b.id],b.activeTexture(b.TEXTURE0),b.bindBuffer(b.ARRAY_BUFFER,this.vertexBuffer),b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var c=this.vertexSize;b.vertexAttribPointer(a.aVertexPosition,2,b.FLOAT,!1,c,0),b.vertexAttribPointer(a.aTextureCoord,2,b.FLOAT,!1,c,8),b.vertexAttribPointer(a.colorAttribute,4,b.UNSIGNED_BYTE,!0,c,16),b.vertexAttribPointer(a.aTextureIndex,1,b.FLOAT,!1,c,20)}if(this.currentBatchSize>.5*this.size)b.bufferSubData(b.ARRAY_BUFFER,0,this.vertices);else{b.bindBuffer(b.ARRAY_BUFFER,this.vertexBuffer);var e=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);b.bufferSubData(b.ARRAY_BUFFER,0,e)}for(var f,g,h,i,j=0,k=0,l=null,m=this.renderSession.blendModeManager.currentBlendMode,n=null,o=!1,p=!1,q=0,r=this.currentBatchSize;q0&&(s=!1),(o||p)&&(this.renderBatch(l,j,k),k=q,j=0,l=f,o&&(m=g,this.renderSession.blendModeManager.setBlendMode(m)),p)){n=h,a=n.shaders[b.id],a||(a=new d.PixiShader(b),a.fragmentSrc=n.fragmentSrc,a.uniforms=n.uniforms,a.init(),n.shaders[b.id]=a),this.renderSession.shaderManager.setShader(a),a.dirty&&a.syncUniforms();var t=this.renderSession.projection;b.uniform2f(a.projectionVector,t.x,t.y);var u=this.renderSession.offset;b.uniform2f(a.offsetVector,u.x,u.y)}j++}this.renderBatch(l,j,k),this.currentBatchSize=0}},d.WebGLSpriteBatch.prototype.renderBatch=function(a,b,c){if(0!==b){var d=this.gl;a._dirty[d.id]&&!this.renderSession.renderer.updateTexture(a)||(d.drawElements(d.TRIANGLES,6*b,d.UNSIGNED_SHORT,6*c*2),this.renderSession.drawCount++)}},d.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},d.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},d.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},d.WebGLFastSpriteBatch=function(a){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var b=4*this.size*this.vertSize,c=6*this.maxSize;this.vertices=new Float32Array(b),this.indices=new Uint16Array(c),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var d=0,e=0;d=this.size&&this.flush()}},d.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a=this.gl;if(!this.currentBaseTexture._glTextures[a.id])return void this.renderSession.renderer.updateTexture(this.currentBaseTexture,a);if(this.currentBatchSize>.5*this.size)a.bufferSubData(a.ARRAY_BUFFER,0,this.vertices);else{var b=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);a.bufferSubData(a.ARRAY_BUFFER,0,b)}a.drawElements(a.TRIANGLES,6*this.currentBatchSize,a.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}},d.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},d.WebGLFastSpriteBatch.prototype.start=function(){var a=this.gl;a.activeTexture(a.TEXTURE0),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var b=this.renderSession.projection;a.uniform2f(this.shader.projectionVector,b.x,b.y),a.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var c=4*this.vertSize;a.vertexAttribPointer(this.shader.aVertexPosition,2,a.FLOAT,!1,c,0),a.vertexAttribPointer(this.shader.aPositionCoord,2,a.FLOAT,!1,c,8),a.vertexAttribPointer(this.shader.aScale,2,a.FLOAT,!1,c,16),a.vertexAttribPointer(this.shader.aRotation,1,a.FLOAT,!1,c,24),a.vertexAttribPointer(this.shader.aTextureCoord,2,a.FLOAT,!1,c,28),a.vertexAttribPointer(this.shader.colorAttribute,1,a.FLOAT,!1,c,36),a.vertexAttribPointer(this.shader.aTextureIndex,1,a.FLOAT,!1,c,40)},d.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},d.WebGLFilterManager.prototype.constructor=d.WebGLFilterManager,d.WebGLFilterManager.prototype.setContext=function(a){this.gl=a,this.texturePool=[],this.initShaderBuffers()},d.WebGLFilterManager.prototype.begin=function(a,b){this.renderSession=a,this.defaultShader=a.shaderManager.defaultShader;var c=this.renderSession.projection;this.width=2*c.x,this.height=2*-c.y,this.buffer=b},d.WebGLFilterManager.prototype.pushFilter=function(a){var b=this.gl,c=this.renderSession.projection,e=this.renderSession.offset;a._filterArea=a.target.filterArea||a.target.getBounds(),a._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new d.WebGLStencilManager,this.renderSession.stencilManager.setContext(b),b.disable(b.STENCIL_TEST),this.filterStack.push(a);var f=a.filterPasses[0];this.offsetX+=a._filterArea.x,this.offsetY+=a._filterArea.y;var g=this.texturePool.pop();g?g.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):g=new d.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),b.bindTexture(b.TEXTURE_2D,g.texture);var h=a._filterArea,i=f.padding;h.x-=i,h.y-=i,h.width+=2*i,h.height+=2*i,h.x<0&&(h.x=0),h.width>this.width&&(h.width=this.width),h.y<0&&(h.y=0),h.height>this.height&&(h.height=this.height),b.bindFramebuffer(b.FRAMEBUFFER,g.frameBuffer),b.viewport(0,0,h.width*this.renderSession.resolution,h.height*this.renderSession.resolution),c.x=h.width/2,c.y=-h.height/2,e.x=-h.x,e.y=-h.y,b.colorMask(!0,!0,!0,!0),b.clearColor(0,0,0,0),b.clear(b.COLOR_BUFFER_BIT),a._glFilterTexture=g},d.WebGLFilterManager.prototype.popFilter=function(){var a=this.gl,b=this.filterStack.pop(),c=b._filterArea,e=b._glFilterTexture,f=this.renderSession.projection,g=this.renderSession.offset;if(b.filterPasses.length>1){a.viewport(0,0,c.width*this.renderSession.resolution,c.height*this.renderSession.resolution),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=c.height,this.vertexArray[2]=c.width,this.vertexArray[3]=c.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=c.width,this.vertexArray[7]=0,a.bufferSubData(a.ARRAY_BUFFER,0,this.vertexArray),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=c.width/this.width,this.uvArray[5]=c.height/this.height,this.uvArray[6]=c.width/this.width,this.uvArray[7]=c.height/this.height,a.bufferSubData(a.ARRAY_BUFFER,0,this.uvArray);var h=e,i=this.texturePool.pop();i||(i=new d.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),i.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),a.bindFramebuffer(a.FRAMEBUFFER,i.frameBuffer),a.clear(a.COLOR_BUFFER_BIT),a.disable(a.BLEND);for(var j=0;j0?a.enable(a.STENCIL_TEST):a.disable(a.STENCIL_TEST),this.applyFilterPass(m,c,n,o),this.texturePool.push(e),b._glFilterTexture=null},d.WebGLFilterManager.prototype.applyFilterPass=function(a,b,c,e){var f=this.gl,g=a.shaders[f.id];g||(g=new d.PixiShader(f),g.fragmentSrc=a.fragmentSrc,g.uniforms=a.uniforms,g.init(!0),a.shaders[f.id]=g),this.renderSession.shaderManager.setShader(g),f.uniform2f(g.projectionVector,c/2,-e/2),f.uniform2f(g.offsetVector,0,0),a.uniforms.dimensions&&(a.uniforms.dimensions.value[0]=this.width,a.uniforms.dimensions.value[1]=this.height,a.uniforms.dimensions.value[2]=this.vertexArray[0],a.uniforms.dimensions.value[3]=this.vertexArray[5]),g.syncUniforms(),f.bindBuffer(f.ARRAY_BUFFER,this.vertexBuffer),f.vertexAttribPointer(g.aVertexPosition,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ARRAY_BUFFER,this.uvBuffer),f.vertexAttribPointer(g.aTextureCoord,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ARRAY_BUFFER,this.colorBuffer),f.vertexAttribPointer(g.colorAttribute,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ELEMENT_ARRAY_BUFFER,this.indexBuffer),f.drawElements(f.TRIANGLES,6,f.UNSIGNED_SHORT,0),this.renderSession.drawCount++},d.WebGLFilterManager.prototype.initShaderBuffers=function(){var a=this.gl;this.vertexBuffer=a.createBuffer(),this.uvBuffer=a.createBuffer(),this.colorBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertexArray,a.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),a.bufferData(a.ARRAY_BUFFER,this.uvArray,a.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),a.bindBuffer(a.ARRAY_BUFFER,this.colorBuffer),a.bufferData(a.ARRAY_BUFFER,this.colorArray,a.STATIC_DRAW),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),a.STATIC_DRAW)},d.WebGLFilterManager.prototype.destroy=function(){var a=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var b=0;b=0;a--){var b=this._glTextures[a],c=d.glContexts[a];c&&b&&c.deleteTexture(b)}this._glTextures.length=0,this.dirty()},d.BaseTexture.fromCanvas=function(a,b,c){return 0===a.width&&(a.width=1),0===a.height&&(a.height=1),c=c||1,new d.BaseTexture(a,b,c)},d.TextureSilentFail=!1,d.Texture=function(a,b,c,e){this.noFrame=!1,b||(this.noFrame=!0,b=new d.Rectangle(0,0,1,1)),a instanceof d.Texture&&(a=a.baseTexture),this.baseTexture=a,this.frame=b,this.trim=e,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=c||new d.Rectangle(0,0,1,1),this.rotated=!1,a.hasLoaded&&(this.noFrame&&(b=new d.Rectangle(0,0,a.width,a.height)),this.setFrame(b))},d.Texture.prototype.constructor=d.Texture,d.Texture.prototype.onBaseTextureLoaded=function(){var a=this.baseTexture;this.noFrame&&(this.frame=new d.Rectangle(0,0,a.width,a.height)),this.setFrame(this.frame)},d.Texture.prototype.destroy=function(a){a&&this.baseTexture.destroy(),this.valid=!1},d.Texture.prototype.setFrame=function(a){if(this.noFrame=!1,this.frame=a,this.width=a.width,this.height=a.height,this.crop.x=a.x,this.crop.y=a.y,this.crop.width=a.width,this.crop.height=a.height,!this.trim&&(a.x+a.width>this.baseTexture.width||a.y+a.height>this.baseTexture.height)){if(!d.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);return void(this.valid=!1)}this.valid=a&&a.width&&a.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs()},d.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new d.TextureUvs);var a=this.crop,b=this.baseTexture.width,c=this.baseTexture.height;this._uvs.x0=a.x/b,this._uvs.y0=a.y/c,this._uvs.x1=(a.x+a.width)/b,this._uvs.y1=a.y/c,this._uvs.x2=(a.x+a.width)/b,this._uvs.y2=(a.y+a.height)/c,this._uvs.x3=a.x/b,this._uvs.y3=(a.y+a.height)/c},d.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new d.TextureUvs);var a=this.crop,b=this.baseTexture.width,c=this.baseTexture.height;this._uvs.x0=a.x/b,this._uvs.y0=a.y/c,this._uvs.x1=(a.x+a.height)/b,this._uvs.y1=a.y/c,this._uvs.x2=(a.x+a.height)/b,this._uvs.y2=(a.y+a.width)/c,this._uvs.x3=a.x/b,this._uvs.y3=(a.y+a.width)/c},d.Texture.fromCanvas=function(a,b){var c=d.BaseTexture.fromCanvas(a,b);return new d.Texture(c)},d.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=d),exports.PIXI=d):"undefined"!=typeof define&&define.amd?define("PIXI",function(){return c.PIXI=d}()):c.PIXI=d,d}.call(this),function(){function a(a,b){this._scaleFactor=a,this._deltaMode=b,this.originalEvent=null}var b=this,c=c||{VERSION:"2.7.7",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;e0&&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);i0&&(this._radius=.5*d),this.type=c.CIRCLE},c.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(a){void 0===a&&(a=new c.Point);var b=2*Math.PI*Math.random(),d=Math.random()+Math.random(),e=d>1?2-d:d,f=e*Math.cos(b),g=e*Math.sin(b);return a.x=this.x+f*this.radius,a.y=this.y+g*this.radius,a},getBounds:function(){return new c.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(a,b,c){return this.x=a,this.y=b,this._diameter=c,this._radius=.5*c,this},copyFrom:function(a){return this.setTo(a.x,a.y,a.diameter)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.diameter=this._diameter,a},distance:function(a,b){var d=c.Math.distance(this.x,this.y,a.x,a.y);return b?Math.round(d):d},clone:function(a){return void 0===a||null===a?a=new c.Circle(this.x,this.y,this.diameter):a.setTo(this.x,this.y,this.diameter),a},contains:function(a,b){return c.Circle.contains(this,a,b)},circumferencePoint:function(a,b,d){return c.Circle.circumferencePoint(this,a,b,d)},offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},c.Circle.prototype.constructor=c.Circle,Object.defineProperty(c.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(a){a>0&&(this._diameter=a,this._radius=.5*a)}}),Object.defineProperty(c.Circle.prototype,"radius",{get:function(){return this._radius},set:function(a){a>0&&(this._radius=a,this._diameter=2*a)}}),Object.defineProperty(c.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(a){a>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-a}}),Object.defineProperty(c.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(a){athis.y?(this._radius=0,this._diameter=0):this.radius=this.y-a}}),Object.defineProperty(c.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(a){a0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(c.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(a){a===!0&&this.setTo(0,0,0)}}),c.Circle.contains=function(a,b,c){if(a.radius>0&&b>=a.left&&b<=a.right&&c>=a.top&&c<=a.bottom){return(a.x-b)*(a.x-b)+(a.y-c)*(a.y-c)<=a.radius*a.radius}return!1},c.Circle.equals=function(a,b){return a.x===b.x&&a.y===b.y&&a.diameter===b.diameter},c.Circle.intersects=function(a,b){return c.Math.distance(a.x,a.y,b.x,b.y)<=a.radius+b.radius},c.Circle.circumferencePoint=function(a,b,d,e){return void 0===d&&(d=!1),void 0===e&&(e=new c.Point),d===!0&&(b=c.Math.degToRad(b)),e.x=a.x+a.radius*Math.cos(b),e.y=a.y+a.radius*Math.sin(b),e},c.Circle.intersectsRectangle=function(a,b){var c=Math.abs(a.x-b.x-b.halfWidth);if(c>b.halfWidth+a.radius)return!1;var d=Math.abs(a.y-b.y-b.halfHeight);if(d>b.halfHeight+a.radius)return!1;if(c<=b.halfWidth||d<=b.halfHeight)return!0;var e=c-b.halfWidth,f=d-b.halfHeight;return e*e+f*f<=a.radius*a.radius},PIXI.Circle=c.Circle,c.Ellipse=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.ELLIPSE},c.Ellipse.prototype={setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},getBounds:function(){return new c.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},clone:function(a){return void 0===a||null===a?a=new c.Ellipse(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a},contains:function(a,b){return c.Ellipse.contains(this,a,b)},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random()*Math.PI*2,d=Math.random();return a.x=Math.sqrt(d)*Math.cos(b),a.y=Math.sqrt(d)*Math.sin(b),a.x=this.x+a.x*this.width/2,a.y=this.y+a.y*this.height/2,a},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},c.Ellipse.prototype.constructor=c.Ellipse,Object.defineProperty(c.Ellipse.prototype,"left",{get:function(){return this.x},set:function(a){this.x=a}}),Object.defineProperty(c.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(a){a=c&&a<=d&&b>=e&&b<=f},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random();return a.x=this.start.x+b*(this.end.x-this.start.x),a.y=this.start.y+b*(this.end.y-this.start.y),a},coordinatesOnLine:function(a,b){void 0===a&&(a=1),void 0===b&&(b=[]);var c=Math.round(this.start.x),d=Math.round(this.start.y),e=Math.round(this.end.x),f=Math.round(this.end.y),g=Math.abs(e-c),h=Math.abs(f-d),i=c-h&&(k-=h,c+=i),m=0&&p<=1&&q>=0&&q<=1?g:null}return g},c.Line.intersects=function(a,b,d,e){return c.Line.intersectsPoints(a.start,a.end,b.start,b.end,d,e)},c.Line.intersectsRectangle=function(a,b){if(0===a.length||b.empty)return!1;var c=a.start.x,d=a.start.y,e=a.end.x,f=a.end.y,g=b.x,h=b.y,i=b.right,j=b.bottom,k=0;if(c>=g&&c<=i&&d>=h&&d<=j||e>=g&&e<=i&&f>=h&&f<=j)return!0;if(c=g){if((k=d+(f-d)*(g-c)/(e-c))>h&&k<=j)return!0}else if(c>i&&e<=i&&(k=d+(f-d)*(i-c)/(e-c))>=h&&k<=j)return!0;if(d=h){if((k=c+(e-c)*(h-d)/(f-d))>=g&&k<=i)return!0}else if(d>j&&f<=j&&(k=c+(e-c)*(j-d)/(f-d))>=g&&k<=i)return!0;return!1},c.Line.reflect=function(a,b){return 2*b.normalAngle-3.141592653589793-a.angle},c.Matrix=function(a,b,d,e,f,g){void 0!==a&&null!==a||(a=1),void 0!==b&&null!==b||(b=0),void 0!==d&&null!==d||(d=0),void 0!==e&&null!==e||(e=1),void 0!==f&&null!==f||(f=0),void 0!==g&&null!==g||(g=0),this.a=a,this.b=b,this.c=d,this.d=e,this.tx=f,this.ty=g,this.type=c.MATRIX},c.Matrix.prototype={fromArray:function(a){return this.setTo(a[0],a[1],a[3],a[4],a[2],a[5])},setTo:function(a,b,c,d,e,f){return this.a=a,this.b=b,this.c=c,this.d=d,this.tx=e,this.ty=f,this},clone:function(a){return void 0===a||null===a?a=new c.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(a.a=this.a,a.b=this.b,a.c=this.c,a.d=this.d,a.tx=this.tx,a.ty=this.ty),a},copyTo:function(a){return a.copyFrom(this),a},copyFrom:function(a){return this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.tx=a.tx,this.ty=a.ty,this},toArray:function(a,b){return void 0===b&&(b=new Float32Array(9)),a?(b[0]=this.a,b[1]=this.b,b[2]=0,b[3]=this.c,b[4]=this.d,b[5]=0,b[6]=this.tx,b[7]=this.ty,b[8]=1):(b[0]=this.a,b[1]=this.c,b[2]=this.tx,b[3]=this.b,b[4]=this.d,b[5]=this.ty,b[6]=0,b[7]=0,b[8]=1),b},apply:function(a,b){return void 0===b&&(b=new c.Point),b.x=this.a*a.x+this.c*a.y+this.tx,b.y=this.b*a.x+this.d*a.y+this.ty,b},applyInverse:function(a,b){void 0===b&&(b=new c.Point);var d=1/(this.a*this.d+this.c*-this.b),e=a.x,f=a.y;return b.x=this.d*d*e+-this.c*d*f+(this.ty*this.c-this.tx*this.d)*d,b.y=this.a*d*f+-this.b*d*e+(-this.ty*this.a+this.tx*this.b)*d,b},translate:function(a,b){return this.tx+=a,this.ty+=b,this},scale:function(a,b){return this.a*=a,this.d*=b,this.c*=a,this.b*=b,this.tx*=a,this.ty*=b,this},rotate:function(a){var b=Math.cos(a),c=Math.sin(a),d=this.a,e=this.c,f=this.tx;return this.a=d*b-this.b*c,this.b=d*c+this.b*b,this.c=e*b-this.d*c,this.d=e*c+this.d*b,this.tx=f*b-this.ty*c,this.ty=f*c+this.ty*b,this},append:function(a){var b=this.a,c=this.b,d=this.c,e=this.d;return this.a=a.a*b+a.b*d,this.b=a.a*c+a.b*e,this.c=a.c*b+a.d*d,this.d=a.c*c+a.d*e,this.tx=a.tx*b+a.ty*d+this.tx,this.ty=a.tx*c+a.ty*e+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},c.identityMatrix=new c.Matrix,PIXI.Matrix=c.Matrix,PIXI.identityMatrix=c.identityMatrix,c.Point=function(a,b){a=a||0,b=b||0,this.x=a,this.y=b,this.type=c.POINT},c.Point.prototype={copyFrom:function(a){return this.setTo(a.x,a.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},set:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},add:function(a,b){return this.x+=a,this.y+=b,this},subtract:function(a,b){return this.x-=a,this.y-=b,this},multiply:function(a,b){return this.x*=a,this.y*=b,this},divide:function(a,b){return this.x/=a,this.y/=b,this},clampX:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this},clampY:function(a,b){return this.y=c.Math.clamp(this.y,a,b),this},clamp:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this.y=c.Math.clamp(this.y,a,b),this},clone:function(a){return void 0===a||null===a?a=new c.Point(this.x,this.y):a.setTo(this.x,this.y),a},copyTo:function(a){return a.x=this.x,a.y=this.y,a},distance:function(a,b){return c.Point.distance(this,a,b)},equals:function(a){return a.x===this.x&&a.y===this.y},angle:function(a,b){return void 0===b&&(b=!1),b?c.Math.radToDeg(Math.atan2(a.y-this.y,a.x-this.x)):Math.atan2(a.y-this.y,a.x-this.x)},rotate:function(a,b,d,e,f){return c.Point.rotate(this,a,b,d,e,f)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(a){return this.normalize().multiply(a,a)},normalize:function(){if(!this.isZero()){var a=this.getMagnitude();this.x/=a,this.y/=a}return this},limit:function(a){return this.getMagnitudeSq()>a*a&&this.setMagnitude(a),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(a){return this.x*a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(this.y*-1,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},c.Point.prototype.constructor=c.Point,c.Point.add=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x+b.x,d.y=a.y+b.y,d},c.Point.subtract=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x-b.x,d.y=a.y-b.y,d},c.Point.multiply=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x*b.x,d.y=a.y*b.y,d},c.Point.divide=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x/b.x,d.y=a.y/b.y,d},c.Point.equals=function(a,b){return a.x===b.x&&a.y===b.y},c.Point.angle=function(a,b){return Math.atan2(a.y-b.y,a.x-b.x)},c.Point.negative=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.x,-a.y)},c.Point.multiplyAdd=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+b.x*d,a.y+b.y*d)},c.Point.interpolate=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+(b.x-a.x)*d,a.y+(b.y-a.y)*d)},c.Point.perp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.y,a.x)},c.Point.rperp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(a.y,-a.x)},c.Point.distance=function(a,b,d){var e=c.Math.distance(a.x,a.y,b.x,b.y);return d?Math.round(e):e},c.Point.project=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b)/b.getMagnitudeSq();return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.projectUnit=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b);return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.normalRightHand=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(a.y*-1,a.x)},c.Point.normalize=function(a,b){void 0===b&&(b=new c.Point);var d=a.getMagnitude();return 0!==d&&b.setTo(a.x/d,a.y/d),b},c.Point.rotate=function(a,b,d,e,f,g){if(f&&(e=c.Math.degToRad(e)),void 0===g){a.subtract(b,d);var h=Math.sin(e),i=Math.cos(e),j=i*a.x-h*a.y,k=h*a.x+i*a.y;a.x=j+b,a.y=k+d}else{var l=e+Math.atan2(a.y-d,a.x-b);a.x=b+g*Math.cos(l),a.y=d+g*Math.sin(l)}return a},c.Point.centroid=function(a,b){if(void 0===b&&(b=new c.Point),"[object Array]"!==Object.prototype.toString.call(a))throw new Error("Phaser.Point. Parameter 'points' must be an array");var d=a.length;if(d<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===d)return b.copyFrom(a[0]),b;for(var e=0;e0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=c.POLYGON},c.Polygon.prototype={toNumberArray:function(a){void 0===a&&(a=[]);for(var b=0;b0){Array.isArray(a)||(a=Array.prototype.slice.call(arguments));for(var b=Number.MAX_VALUE,c=0,d=a.length;c=this.right?this.width=0:this.width=this.right-a,this.x=a}}),Object.defineProperty(c.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(a){a<=this.x?this.width=0:this.width=a-this.x}}),Object.defineProperty(c.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(c.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(c.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(a){this.x=a-this.halfWidth}}),Object.defineProperty(c.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(a){this.y=a-this.halfHeight}}),Object.defineProperty(c.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(c.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(c.Rectangle.prototype,"top",{get:function(){return this.y},set:function(a){a>=this.bottom?(this.height=0,this.y=a):this.height=this.bottom-a}}),Object.defineProperty(c.Rectangle.prototype,"topLeft",{get:function(){return new c.Point(this.x,this.y)},set:function(a){this.x=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"topRight",{get:function(){return new c.Point(this.x+this.width,this.y)},set:function(a){this.right=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(a){a===!0&&this.setTo(0,0,0,0)}}),c.Rectangle.prototype.constructor=c.Rectangle,c.Rectangle.inflate=function(a,b,c){return a.x-=b,a.width+=2*b,a.y-=c,a.height+=2*c,a},c.Rectangle.inflatePoint=function(a,b){return c.Rectangle.inflate(a,b.x,b.y)},c.Rectangle.size=function(a,b){return void 0===b||null===b?b=new c.Point(a.width,a.height):b.setTo(a.width,a.height),b},c.Rectangle.clone=function(a,b){return void 0===b||null===b?b=new c.Rectangle(a.x,a.y,a.width,a.height):b.setTo(a.x,a.y,a.width,a.height),b},c.Rectangle.contains=function(a,b,c){return!(a.width<=0||a.height<=0)&&(b>=a.x&&b=a.y&&c=a&&e=b&&fb.volume)&&(a.x>=b.x&&a.y>=b.y&&a.rightb.right||a.y>b.bottom)},c.Rectangle.intersectsRaw=function(a,b,c,d,e,f){return void 0===f&&(f=0),!(b>a.right+f||ca.bottom+f||ed&&(d=a.x),a.xf&&(f=a.y),a.y=c&&a<=c+this.width){var d=this.y;if(b>=d&&b<=d+this.height)return!0}return!1}},c.RoundedRectangle.prototype.constructor=c.RoundedRectangle,PIXI.RoundedRectangle=c.RoundedRectangle,c.Camera=function(a,b,d,e,f,g){this.game=a,this.world=a.world,this.id=0,this.view=new c.Rectangle(d,e,f,g),this.bounds=new c.Rectangle(d,e,f,g),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new c.Point(1,1),this.onShakeComplete=new c.Signal,this.onFlashComplete=new c.Signal,this.onFadeComplete=new c.Signal,this.fx=null,this._targetPosition=new c.Point,this._edge=0,this._position=new c.Point,this._shake={intensity:0,duration:0,horizontal:!1,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._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var a=this.view.x+this._shake.x,b=this.view.right+this._shake.x,c=this.view.y+this._shake.y,d=this.view.bottom+this._shake.y;a<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):b>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),c<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):d>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(a,b){this.view.x=a,this.view.y=b,this.bounds&&this.checkBounds()},setSize:function(a,b){this.view.width=a,this.view.height=b},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},c.Camera.prototype.constructor=c.Camera,Object.defineProperty(c.Camera.prototype,"x",{get:function(){return this.view.x},set:function(a){this.view.x=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"y",{get:function(){return this.view.y},set:function(a){this.view.y=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(a){void 0!==a.x&&(this.view.x=a.x),void 0!==a.y&&(this.view.y=a.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"width",{get:function(){return this.view.width},set:function(a){this.view.width=a}}),Object.defineProperty(c.Camera.prototype,"height",{get:function(){return this.view.height},set:function(a){this.view.height=a}}),Object.defineProperty(c.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(a){this._shake.intensity=a}}),c.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},c.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},c.State.prototype.constructor=c.State,c.StateManager=function(a,b){this.game=a,this.states={},this._pendingState=null,void 0!==b&&null!==b&&(this._pendingState=b),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new c.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},c.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(a,b,d){void 0===d&&(d=!1);var e;return b instanceof c.State?e=b:"object"==typeof b?(e=b,e.game=this.game):"function"==typeof b&&(e=new b(this.game)),this.states[a]=e,d&&(this.game.isBooted?this.start(a):this._pendingState=a),e},remove:function(a){this.current===a&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[a]},start:function(a,b,c){void 0===b&&(b=!0),void 0===c&&(c=!1),this.checkState(a)&&(this._pendingState=a,this._clearWorld=b,this._clearCache=c,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!1),this._pendingState=this.current,this._clearWorld=a,this._clearCache=b,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var a=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,a),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(a){return this.states[a]?!!(this.states[a].preload||this.states[a].create||this.states[a].update||this.states[a].render)||(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+a),!1)},link:function(a){this.states[a].game=this.game,this.states[a].add=this.game.add,this.states[a].make=this.game.make,this.states[a].camera=this.game.camera,this.states[a].cache=this.game.cache,this.states[a].input=this.game.input,this.states[a].load=this.game.load,this.states[a].math=this.game.math,this.states[a].sound=this.game.sound,this.states[a].scale=this.game.scale,this.states[a].state=this,this.states[a].stage=this.game.stage,this.states[a].time=this.game.time,this.states[a].tweens=this.game.tweens,this.states[a].world=this.game.world,this.states[a].particles=this.game.particles,this.states[a].rnd=this.game.rnd,this.states[a].physics=this.game.physics,this.states[a].key=a},unlink:function(a){this.states[a]&&(this.states[a].game=null,this.states[a].add=null,this.states[a].make=null,this.states[a].camera=null,this.states[a].cache=null,this.states[a].input=null,this.states[a].load=null,this.states[a].math=null,this.states[a].sound=null,this.states[a].scale=null,this.states[a].state=null,this.states[a].stage=null,this.states[a].time=null,this.states[a].tweens=null,this.states[a].world=null,this.states[a].particles=null,this.states[a].rnd=null,this.states[a].physics=null)},setCurrentState:function(a){this.callbackContext=this.states[a],this.link(a),this.onInitCallback=this.states[a].init||this.dummy,this.onPreloadCallback=this.states[a].preload||null,this.onLoadRenderCallback=this.states[a].loadRender||null,this.onLoadUpdateCallback=this.states[a].loadUpdate||null,this.onCreateCallback=this.states[a].create||null,this.onUpdateCallback=this.states[a].update||null,this.onPreRenderCallback=this.states[a].preRender||null,this.onRenderCallback=this.states[a].render||null,this.onResizeCallback=this.states[a].resize||null,this.onPausedCallback=this.states[a].paused||null,this.onResumedCallback=this.states[a].resumed||null,this.onPauseUpdateCallback=this.states[a].pauseUpdate||null,this.onShutDownCallback=this.states[a].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=a,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),a===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){this._created===!1&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),this._created===!1&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(a){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,a)},resize:function(a,b){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,a,b)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===c.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},c.StateManager.prototype.constructor=c.StateManager,Object.defineProperty(c.StateManager.prototype,"created",{get:function(){return this._created}}),c.Signal=function(){},c.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(a,b){if("function"!=typeof a)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",b))},_registerListener:function(a,b,d,e,f){var g,h=this._indexOfListener(a,d);if(h!==-1){if(g=this._bindings[h],g.isOnce()!==b)throw new Error("You cannot add"+(b?"":"Once")+"() then add"+(b?"Once":"")+"() the same listener without removing the relationship first.")}else g=new c.SignalBinding(this,a,b,d,e,f),this._addBinding(g);return this.memorize&&this._prevParams&&g.execute(this._prevParams),g},_addBinding:function(a){this._bindings||(this._bindings=[]);var b=this._bindings.length;do{b--}while(this._bindings[b]&&a._priority<=this._bindings[b]._priority);this._bindings.splice(b+1,0,a)},_indexOfListener:function(a,b){if(!this._bindings)return-1;void 0===b&&(b=null);for(var c,d=this._bindings.length;d--;)if(c=this._bindings[d],c._listener===a&&c.context===b)return d;return-1},has:function(a,b){return this._indexOfListener(a,b)!==-1},add:function(a,b,c){this.validateListener(a,"add");var d=[];if(arguments.length>3)for(var e=3;e3)for(var e=3;e=this.children.length?-1:this.getChildAt(a)},c.Group.prototype.create=function(a,b,c,d,e,f){void 0===e&&(e=!0);var g=new this.classType(this.game,a,b,c,d);return g.exists=e,g.visible=e,g.alive=e,this.add(g,!1,f)},c.Group.prototype.createMultiple=function(a,b,c,d){void 0===c&&(c=0),void 0===d&&(d=!1),Array.isArray(b)||(b=[b]),Array.isArray(c)||(c=[c]);var e=this,f=[];return b.forEach(function(b){c.forEach(function(c){for(var g=0;gthis.children.length||a===-1&&b===-1)return!1;for(var h=new c.Rectangle(0,0,d,e),i=a*d,j=b*e,k=g;kthis.children.length-1&&(a=0),this.cursor)return this.cursorIndex=a,this.cursor=this.children[this.cursorIndex],this.cursor},c.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},c.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},c.Group.prototype.swap=function(a,b){this.swapChildren(a,b),this.updateZ()},c.Group.prototype.bringToTop=function(a){return a.parent===this&&this.getIndex(a)0&&(this.remove(a,!1,!0),this.addAt(a,0,!0)),a},c.Group.prototype.moveUp=function(a){if(a.parent===this&&this.getIndex(a)0){var b=this.getIndex(a),c=this.getAt(b-1);c&&this.swap(a,c)}return a},c.Group.prototype.xy=function(a,b,c){if(a<0||a>this.children.length)return-1;this.getChildAt(a).x=b,this.getChildAt(a).y=c},c.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},c.Group.prototype.getIndex=function(a){return this.children.indexOf(a)},c.Group.prototype.getByName=function(a){for(var b=0;b0))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;g2){c=[];for(var d=2;d2){e=[];for(var f=2;f=this.children.length&&(a=this.children.length-1),this.children[a].update()},c.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var a=0;a2){d=[null];for(var e=2;e2){d=[null];for(var e=2;e2){d=[null];for(var e=2;eb[this._sortProperty]?1:a.zb[this._sortProperty]?-1:0},c.Group.prototype.iterate=function(a,b,d,e,f,g){if(0===this.children.length){if(d===c.Group.RETURN_TOTAL)return 0;if(d===c.Group.RETURN_ALL)return[]}var h=0;if(d===c.Group.RETURN_ALL)var i=[];for(var j=0;j0)return this.children[this.children.length-1]},c.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},c.Group.prototype.getClosestTo=function(a,b,d){for(var e=Number.MAX_VALUE,f=0,g=null,h=0;he&&(!b||b.call(d,i,f))&&(e=f,g=i)}return g},c.Group.prototype.countLiving=function(){return this.iterate("alive",!0,c.Group.RETURN_TOTAL)},c.Group.prototype.countDead=function(){return this.iterate("alive",!1,c.Group.RETURN_TOTAL)},c.Group.prototype.getRandom=function(a,b){return void 0===a&&(a=0),void 0===b&&(b=this.children.length),0===b?null:c.ArrayUtils.getRandomItem(this.children,a,b)},c.Group.prototype.getRandomExists=function(a,b){var c=this.getAll("exists",!0,a,b);return this.game.rnd.pick(c)},c.Group.prototype.getAll=function(a,b,c,d){void 0===c&&(c=0),void 0===d&&(d=this.children.length);for(var e=[],f=c;f0&&a instanceof c.Group){do{a.add(this.children[0],b)}while(this.children.length>0);this.hash=[],this.cursor=null}return a},c.Group.prototype.removeAll=function(a,b,c){if(void 0===a&&(a=!1),void 0===b&&(b=!1),void 0===c&&(c=!1),0!==this.children.length){do{!b&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var d=this.removeChild(this.children[0]);this.removeFromHash(d),a&&d&&d.destroy(!0,c)}while(this.children.length>0);this.hash=[],this.cursor=null}},c.Group.prototype.removeBetween=function(a,b,c,d){if(void 0===b&&(b=this.children.length-1),void 0===c&&(c=!1),void 0===d&&(d=!1),0!==this.children.length){if(a>b||a<0||b>this.children.length)return!1;for(var e=b;e>=a;){!d&&this.children[e].events&&this.children[e].events.onRemovedFromGroup$dispatch(this.children[e],this);var f=this.removeChild(this.children[e]);this.removeFromHash(f),c&&f&&f.destroy(!0),this.cursor===this.children[e]&&(this.cursor=null),e--}this.updateZ()}},c.Group.prototype.destroy=function(a,b){null===this.game||this.ignoreDestroy||(void 0===a&&(a=!0),void 0===b&&(b=!1),this.onDestroy.dispatch(this,a,b),this.removeAll(a),this.cursor=null,this.filters=null,this.pendingDestroy=!1,b||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(c.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,c.Group.RETURN_TOTAL)}}),Object.defineProperty(c.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(c.Group.prototype,"angle",{get:function(){return c.Math.radToDeg(this.rotation)},set:function(a){this.rotation=c.Math.degToRad(a)}}),Object.defineProperty(c.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(a){var b=this.getBounds(this.parent),c=this.x-b.x;this.x=a+c-b.halfWidth}}),Object.defineProperty(c.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(a){var b=this.getBounds(this.parent),c=this.y-b.y;this.y=a+c-b.halfHeight}}),Object.defineProperty(c.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(a){var b=this.getBounds(this.parent),c=this.x-b.x;this.x=a+c}}),Object.defineProperty(c.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(a){var b=this.getBounds(this.parent),c=this.x-b.x;this.x=a+c-b.width}}),Object.defineProperty(c.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(a){var b=this.getBounds(this.parent),c=this.y-b.y;this.y=a+c}}),Object.defineProperty(c.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(a){var b=this.getBounds(this.parent),c=this.y-b.y;this.y=a+c-b.height}}),c.World=function(a){c.Group.call(this,a,null,"__world",!1),this.bounds=new c.Rectangle(0,0,a.width,a.height),this.camera=null,this._definedSize=!1,this._width=a.width,this._height=a.height,this.game.state.onStateChange.add(this.stateChange,this)},c.World.prototype=Object.create(c.Group.prototype),c.World.prototype.constructor=c.World,c.World.prototype.boot=function(){this.camera=new c.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},c.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},c.World.prototype.setBounds=function(a,b,c,d){this._definedSize=!0,this._width=c,this._height=d,this.bounds.setTo(a,b,c,d),this.x=a,this.y=b,this.camera.bounds&&this.camera.bounds.setTo(a,b,Math.max(c,this.game.width),Math.max(d,this.game.height)),this.game.physics.setBoundsToWorld()},c.World.prototype.resize=function(a,b){this._definedSize&&(athis.bounds.right&&(a.x=this.bounds.left)),e&&(a.y+a._currentBounds.heightthis.bounds.bottom&&(a.y=this.bounds.top))):(d&&a.x+bthis.bounds.right&&(a.x=this.bounds.left-b),e&&a.y+bthis.bounds.bottom&&(a.y=this.bounds.top-b))},Object.defineProperty(c.World.prototype,"width",{get:function(){return this.bounds.width},set:function(a){a1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var b=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*b,this.time.elapsed),0);var c=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/b),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=b&&(this._deltaTime-=b,this.currentUpdateID=c,this.updateLogic(this.time.desiredFpsMult),c++,!this.forceSingleUpdate||1!==c);)this.time.refresh();c>this._lastCount?this._spiraling++:c=c.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+c.Input.MAX_POINTERS+" pointers reached."),null;var a=this.pointers.length+1,b=new c.Pointer(this.game,a,c.PointerMode.TOUCH);return this.pointers.push(b),this["pointer"+a]=b,b},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(a);if(!this.pointer2.active)return this.pointer2.start(a);for(var b=2;b0;c++){this.pointers[c].active&&b--}return a-b},getPointer:function(a){void 0===a&&(a=!1);for(var b=0;b=g&&this._localPoint.x=h&&this._localPoint.y=g&&this._localPoint.x=h&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(a){return a=a||250,this.isUp&&this.timeUp+a>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},c.DeviceButton.prototype.constructor=c.DeviceButton,Object.defineProperty(c.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),c.Pointer=function(a,b,d){this.game=a,this.id=b,this.type=c.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=d||c.PointerMode.CURSOR|c.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new c.DeviceButton(this,c.Pointer.LEFT_BUTTON),this.middleButton=new c.DeviceButton(this,c.Pointer.MIDDLE_BUTTON),this.rightButton=new c.DeviceButton(this,c.Pointer.RIGHT_BUTTON),this.backButton=new c.DeviceButton(this,c.Pointer.BACK_BUTTON),this.forwardButton=new c.DeviceButton(this,c.Pointer.FORWARD_BUTTON),this.eraserButton=new c.DeviceButton(this,c.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===b,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new c.Point,this.positionDown=new c.Point,this.positionUp=new c.Point,this.circle=new c.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},c.Pointer.NO_BUTTON=0,c.Pointer.LEFT_BUTTON=1,c.Pointer.RIGHT_BUTTON=2,c.Pointer.MIDDLE_BUTTON=4,c.Pointer.BACK_BUTTON=8,c.Pointer.FORWARD_BUTTON=16,c.Pointer.ERASER_BUTTON=32,c.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(a,b){c.Pointer.LEFT_BUTTON&a&&this.leftButton.start(b),c.Pointer.RIGHT_BUTTON&a&&this.rightButton.start(b),c.Pointer.MIDDLE_BUTTON&a&&this.middleButton.start(b),c.Pointer.BACK_BUTTON&a&&this.backButton.start(b),c.Pointer.FORWARD_BUTTON&a&&this.forwardButton.start(b),c.Pointer.ERASER_BUTTON&a&&this.eraserButton.start(b)},processButtonsUp:function(a,b){a===c.Mouse.LEFT_BUTTON&&this.leftButton.stop(b),a===c.Mouse.RIGHT_BUTTON&&this.rightButton.stop(b),a===c.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(b),a===c.Mouse.BACK_BUTTON&&this.backButton.stop(b),a===c.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(b),5===a&&this.eraserButton.stop(b)},updateButtons:function(a){this.button=a.button;var b="down"===a.type.toLowerCase().substr(-4);void 0!==a.buttons?b?this.processButtonsDown(a.buttons,a):this.processButtonsUp(a.button,a):b?this.leftButton.start(a):(this.leftButton.stop(a),this.rightButton.stop(a)),1===a.buttons&&a.ctrlKey&&this.leftButton.isDown&&(this.leftButton.stop(a),this.rightButton.start(a)),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(a){var b=this.game.input;return a.pointerId&&(this.pointerId=a.pointerId),this.identifier=a.identifier,this.target=a.target,this.isMouse?this.updateButtons(a):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(a,!0),this.positionDown.setTo(this.x,this.y),(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.x=this.x,b.y=this.y,b.position.setTo(this.x,this.y),b.onDown.dispatch(this,a),b.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var a=this.game.input;this.active&&(this.dirty&&(a.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),this._holdSent===!1&&this.duration>=a.holdRate&&((a.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||a.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||a.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===a.totalActivePointers)&&a.onHold.dispatch(this),this._holdSent=!0),a.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+a.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>a.recordLimit&&this._history.shift()))},move:function(a,b){var d=this.game.input;if(!d.pollLocked){void 0===b&&(b=!1),void 0!==a.button&&(this.button=a.button),b&&this.isMouse&&this.updateButtons(a),this.clientX=a.clientX,this.clientY=a.clientY,this.pageX=a.pageX,this.pageY=a.pageY,this.screenX=a.screenX,this.screenY=a.screenY,this.isMouse&&d.mouse.locked&&!b&&(this.rawMovementX=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.rawMovementY=a.movementY||a.mozMovementY||a.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*d.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*d.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(d.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||d.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||d.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===d.totalActivePointers)&&(d.activePointer=this,d.x=this.x,d.y=this.y,d.position.setTo(d.x,d.y),d.circle.x=d.x,d.circle.y=d.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var e=d.moveCallbacks.length;e--;)d.moveCallbacks[e].callback.call(d.moveCallbacks[e].context,this,this.x,this.y,b);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||this.targetObject.isDragged!==!0?d.interactiveItems.total>0&&this.processInteractiveObjects(b):this.targetObject.update(this)===!1&&(this.targetObject=null),this}},processInteractiveObjects:function(a){var b=0,c=-1,d=null,e=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];e;)e.checked=!1,!e.validForInput(c,b,!1)||this.game.paused&&!e.sprite.noPause||(e.checked=!0,(a&&e.checkPointerDown(this,!0)||!a&&e.checkPointerOver(this,!0))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e,this.interactiveCandidates.push(e))),e=this.game.input.interactiveItems.next;for(e=this.game.input.interactiveItems.first;e;)!e.checked&&e.validForInput(c,b,!0)&&(a&&e.checkPointerDown(this,!1)||!a&&e.checkPointerOver(this,!1))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e,this.interactiveCandidates.push(e)),e=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(d=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,d)),this.swapTarget(d,!1),null!==this.targetObject},swapTarget:function(a,b){void 0===b&&(b=!1),null===a?this.targetObject&&(this.targetObject._pointerOutHandler(this,b),this.targetObject=null):null===this.targetObject?(this.targetObject=a,a._pointerOverHandler(this,b)):this.targetObject===a?a.update(this)===!1&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,b),this.targetObject=a,this.targetObject._pointerOverHandler(this,b))},leave:function(a){this.withinGame=!1,this.move(a,!1)},stop:function(a){var b=this.game.input;return this._stateReset&&this.withinGame?void a.preventDefault():(this.timeUp=this.game.time.time,(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.onUp.dispatch(this,a),this.duration>=0&&this.duration<=b.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(a.pageX,a.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),this.isMouse===!1&&b.currentPointers--,b.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this)},justPressed:function(a){return a=a||this.game.input.justPressedRate,this.isDown===!0&&this.timeDown+a>this.game.time.time},justReleased:function(a){return a=a||this.game.input.justReleasedRate,this.isUp&&this.timeUp+a>this.game.time.time},addClickTrampoline:function(a,b,c,d){if(this.isDown){for(var e=this._clickTrampolines=this._clickTrampolines||[],f=0;fa||this.priorityID===a&&this.sprite.renderOrderID>b))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(a){return a=a||0,this._pointerData[a].x},pointerY:function(a){return a=a||0,this._pointerData[a].y},pointerDown:function(a){return a=a||0,this._pointerData[a].isDown},pointerUp:function(a){return a=a||0,this._pointerData[a].isUp},pointerTimeDown:function(a){return a=a||0,this._pointerData[a].timeDown},pointerTimeUp:function(a){return a=a||0,this._pointerData[a].timeUp},pointerOver:function(a){if(!this.enabled)return!1;if(void 0===a){for(var b=0;b<10;b++)if(this._pointerData[b].isOver)return!0;return!1}return this._pointerData[a].isOver},pointerOut:function(a){if(!this.enabled)return!1;if(void 0!==a)return this._pointerData[a].isOut;for(var b=0;b<10;b++)if(this._pointerData[b].isOut)return!0},pointerTimeOver:function(a){return a=a||0,this._pointerData[a].timeOver},pointerTimeOut:function(a){return a=a||0,this._pointerData[a].timeOut},pointerDragged:function(a){return a=a||0,this._pointerData[a].isDragged},checkPointerDown:function(a,b){return!!(a.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,a,this._tempPoint)&&(void 0===b&&(b=!1),!(!b&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(a,b){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,a,this._tempPoint)&&(void 0===b&&(b=!1),!(!b&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(a,b,c){if(this.sprite.texture.baseTexture.source){if(null===a&&null===b){this.game.input.getLocalPosition(this.sprite,c,this._tempPoint);var a=this._tempPoint.x,b=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(a-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(b-=-this.sprite.texture.frame.height*this.sprite.anchor.y),a+=this.sprite.texture.frame.x,b+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(a-=this.sprite.texture.trim.x,b-=this.sprite.texture.trim.y,athis.sprite.texture.crop.right||bthis.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);if(this.game.input.hitContext.getImageData(0,0,1,1).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="",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=this.globalToLocal(a),d=c.x+this._dragPoint.x+this.dragOffset.x,e=c.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=d),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=e),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var f=this.game.camera.x-this._pointerData[a.id].camX,g=this.game.camera.y-this._pointerData[a.id].camY;this.allowHorizontalDrag&&(this.sprite.x=d+f),this.allowVerticalDrag&&(this.sprite.y=e+g),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,a,d,e,this.snapPoint,b),!0},justOver:function(a,b){return a=a||0,b=b||500,this._pointerData[a].isOver&&this.overDuration(a)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},c.InputHandler.prototype.constructor=c.InputHandler,c.Gamepad=function(a){this.game=a,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||navigator.userAgent.indexOf("Firefox/")!==-1||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this)]},c.Gamepad.prototype={addCallbacks:function(a,b){void 0!==b&&(this.onConnectCallback="function"==typeof b.onConnect?b.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof b.onDisconnect?b.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof b.onDown?b.onDown:this.onDownCallback,this.onUpCallback="function"==typeof b.onUp?b.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof b.onAxis?b.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof b.onFloat?b.onFloat:this.onFloatCallback,this.callbackContext=a)},start:function(){if(!this._active){this._active=!0;var a=this;this._onGamepadConnected=function(b){return a.onGamepadConnected(b)},this._onGamepadDisconnected=function(b){return a.onGamepadDisconnected(b)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(a){var b=a.gamepad;this._rawPads.push(b),this._gamepads[b.index].connect(b)},onGamepadDisconnected:function(a){var b=a.gamepad;for(var c in this._rawPads)this._rawPads[c].index===b.index&&this._rawPads.splice(c,1);this._gamepads[b.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)var a=navigator.getGamepads();else if(navigator.webkitGetGamepads)var a=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var a=navigator.webkitGamepads();if(a){this._rawPads=[];for(var b=!1,c=0;c0&&d>this.deadZone||d<0&&d<-this.deadZone?this.processAxisChange(c,d):this.processAxisChange(c,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(a){var b=!this.connected;this.connected=!0,this.index=a.index,this._rawPad=a,this._buttons=[],this._buttonsLen=a.buttons.length,this._axes=[],this._axesLen=a.axes.length;for(var d=0;dthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(a){return this.alive&&(this.health+=a,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},c.Component.InCamera=function(){},c.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},c.Component.InputEnabled=function(){},c.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(a){a?null===this.input?(this.input=new c.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},c.Component.InWorld=function(){},c.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},c.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},c.Component.LifeSpan=function(){},c.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},c.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(a){return void 0===a&&(a=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(a),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},c.Component.LoadTexture=function(){},c.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(a,b,d){a===c.PENDING_ATLAS?(a=b,b=0):b=b||0,(d||void 0===d)&&this.animations&&this.animations.stop(),this.key=a,this.customRender=!1;var e=this.game.cache,f=!0,g=!this.texture.baseTexture.scaleMode;if(c.RenderTexture&&a instanceof c.RenderTexture)this.key=a.key,this.setTexture(a);else if(c.BitmapData&&a instanceof c.BitmapData)this.customRender=!0,this.setTexture(a.texture),f=e.hasFrameData(a.key,c.Cache.BITMAPDATA)?!this.animations.loadFrameData(e.getFrameData(a.key,c.Cache.BITMAPDATA),b):!this.animations.loadFrameData(a.frameData,0);else if(c.Video&&a instanceof c.Video){this.customRender=!0;var h=a.texture.valid;this.setTexture(a.texture),this.setFrame(a.texture.frame.clone()),a.onChangeSource.add(this.resizeFrame,this),this.texture.valid=h}else if(c.Tilemap&&a instanceof c.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(a.canvas));else if(a instanceof PIXI.Texture)this.setTexture(a);else{var i=e.getImage(a,!0);this.key=i.key,this.setTexture(new PIXI.Texture(i.base)),this.texture.baseTexture.skipRender="__default"===a,f=!this.animations.loadFrameData(i.frameData,b)}f&&(this._frame=c.Rectangle.clone(this.texture.frame)),g||(this.texture.baseTexture.scaleMode=1)},setFrame:function(a){this._frame=a,this.texture.frame.x=a.x,this.texture.frame.y=a.y,this.texture.frame.width=a.width,this.texture.frame.height=a.height,this.texture.crop.x=a.x,this.texture.crop.y=a.y,this.texture.crop.width=a.width,this.texture.crop.height=a.height,a.trimmed?(this.texture.trim?(this.texture.trim.x=a.spriteSourceSizeX,this.texture.trim.y=a.spriteSourceSizeY,this.texture.trim.width=a.sourceSizeW,this.texture.trim.height=a.sourceSizeH):this.texture.trim={x:a.spriteSourceSizeX,y:a.spriteSourceSizeY,width:a.sourceSizeW,height:a.sourceSizeH},this.texture.width=a.sourceSizeW,this.texture.height=a.sourceSizeH,this.texture.frame.width=a.sourceSizeW,this.texture.frame.height=a.sourceSizeH):!a.trimmed&&this.texture.trim&&(this.texture.trim=null),a.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(a,b,c){this.texture.frame.resize(b,c),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(a){this.animations.frame=a}},frameName:{get:function(){return this.animations.frameName},set:function(a){this.animations.frameName=a}}},c.Component.Overlap=function(){},c.Component.Overlap.prototype={overlap:function(a){return c.Rectangle.intersects(this.getBounds(),a.getBounds())}},c.Component.PhysicsBody=function(){},c.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},c.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},c.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(a){this.position.x=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(a){this.position.y=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},c.Component.Reset=function(){},c.Component.Reset.prototype.reset=function(a,b,c){return void 0===c&&(c=1),this.world.set(a,b),this.position.set(a,b),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=c),this.components.PhysicsBody&&this.body&&this.body.reset(a,b,!1,!1),this},c.Component.ScaleMinMax=function(){},c.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(a){this.scaleMin&&(a.athis.scaleMax.x&&(a.a=this.scaleMax.x),a.d>this.scaleMax.y&&(a.d=this.scaleMax.y))},setScaleMinMax:function(a,b,d,e){void 0===b?b=d=e=a:void 0===d&&(d=e=b,b=a),null===a?this.scaleMin=null:this.scaleMin?this.scaleMin.set(a,b):this.scaleMin=new c.Point(a,b),null===d?this.scaleMax=null:this.scaleMax?this.scaleMax.set(d,e):this.scaleMax=new c.Point(d,e),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},c.Component.Smoothed=function(){},c.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(a){a?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},c.GameObjectFactory=function(a){this.game=a,this.world=this.game.world},c.GameObjectFactory.prototype={existing:function(a){return this.world.add(a)},weapon:function(a,b,d,e,f){var g=this.game.plugins.add(c.Weapon);return f&&(g.bulletClass=f),g.createBullets(a,b,d,e),g},image:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Image(this.game,a,b,d,e))},sprite:function(a,b,c,d,e){return void 0===e&&(e=this.world),e.create(a,b,c,d)},creature:function(a,b,d,e,f){void 0===f&&(f=this.world);var g=new c.Creature(this.game,a,b,d,e);return f.add(g),g},tween:function(a){return this.game.tweens.create(a)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},physicsGroup:function(a,b,d,e){return new c.Group(this.game,b,d,e,!0,a)},spriteBatch:function(a,b,d){return void 0===a&&(a=null),void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},tileSprite:function(a,b,d,e,f,g,h){return void 0===h&&(h=this.world),h.add(new c.TileSprite(this.game,a,b,d,e,f,g))},rope:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.Rope(this.game,a,b,d,e,f))},text:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Text(this.game,a,b,d,e))},button:function(a,b,d,e,f,g,h,i,j,k){return void 0===k&&(k=this.world),k.add(new c.Button(this.game,a,b,d,e,f,g,h,i,j))},graphics:function(a,b,d){return void 0===d&&(d=this.world),d.add(new c.Graphics(this.game,a,b))},emitter:function(a,b,d){return this.game.particles.add(new c.Particles.Arcade.Emitter(this.game,a,b,d))},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.BitmapText(this.game,a,b,d,e,f))},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){void 0!==d&&""!==d||(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},video:function(a,b){return new c.Video(this.game,a,b)},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),void 0!==d&&""!==d||(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a},plugin:function(a){return this.game.plugins.add(a)}},c.GameObjectFactory.prototype.constructor=c.GameObjectFactory,c.GameObjectCreator=function(a){this.game=a,this.world=this.game.world},c.GameObjectCreator.prototype={image:function(a,b,d,e){return new c.Image(this.game,a,b,d,e)},sprite:function(a,b,d,e){return new c.Sprite(this.game,a,b,d,e)},tween:function(a){return new c.Tween(a,this.game,this.game.tweens)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},spriteBatch:function(a,b,d){return void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},tileSprite:function(a,b,d,e,f,g){return new c.TileSprite(this.game,a,b,d,e,f,g)},rope:function(a,b,d,e,f){return new c.Rope(this.game,a,b,d,e,f)},text:function(a,b,d,e){return new c.Text(this.game,a,b,d,e)},button:function(a,b,d,e,f,g,h,i,j){return new c.Button(this.game,a,b,d,e,f,g,h,i,j)},graphics:function(a,b){return new c.Graphics(this.game,a,b)},emitter:function(a,b,d){return new c.Particles.Arcade.Emitter(this.game,a,b,d)},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return new c.BitmapText(this.game,a,b,d,e,f,g)},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){void 0!==d&&""!==d||(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),void 0!==d&&""!==d||(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a}},c.GameObjectCreator.prototype.constructor=c.GameObjectCreator,c.Sprite=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.SPRITE,this.physicsType=c.SPRITE,PIXI.Sprite.call(this,c.Cache.DEFAULT),c.Component.Core.init.call(this,a,b,d,e,f)},c.Sprite.prototype=Object.create(PIXI.Sprite.prototype),c.Sprite.prototype.constructor=c.Sprite,c.Component.Core.install.call(c.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Sprite.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Sprite.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Sprite.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Sprite.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},c.Image=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.IMAGE,PIXI.Sprite.call(this,c.Cache.DEFAULT),c.Component.Core.init.call(this,a,b,d,e,f)},c.Image.prototype=Object.create(PIXI.Sprite.prototype),c.Image.prototype.constructor=c.Image,c.Component.Core.install.call(c.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),c.Image.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Image.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Image.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},c.Button=function(a,b,d,e,f,g,h,i,j,k){b=b||0,d=d||0,e=e||null,f=f||null,g=g||this,c.Image.call(this,a,b,d,e,i),this.type=c.BUTTON,this.physicsType=c.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new c.Signal,this.onInputOut=new c.Signal,this.onInputDown=new c.Signal,this.onInputUp=new c.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=c.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(h,i,j,k),null!==f&&this.onInputUp.add(f,g),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},c.Button.prototype=Object.create(c.Image.prototype),c.Button.prototype.constructor=c.Button;var g="Over",h="Out",i="Down",j="Up";return c.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},c.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},c.Button.prototype.setStateFrame=function(a,b,c){var d="_on"+a+"Frame";null!==b?(this[d]=b,c&&this.changeStateFrame(a)):this[d]=null},c.Button.prototype.changeStateFrame=function(a){if(this.freezeFrames)return!1;var b="_on"+a+"Frame",c=this[b];return"string"==typeof c?(this.frameName=c,!0):"number"==typeof c&&(this.frame=c,!0)},c.Button.prototype.setFrames=function(a,b,c,d){this.setStateFrame(g,a,this.input.pointerOver()),this.setStateFrame(h,b,!this.input.pointerOver()),this.setStateFrame(i,c,this.input.pointerDown()),this.setStateFrame(j,d,this.input.pointerUp())},c.Button.prototype.setStateSound=function(a,b,d){var e="on"+a+"Sound",f="on"+a+"SoundMarker";b instanceof c.Sound||b instanceof c.AudioSprite?(this[e]=b,this[f]="string"==typeof d?d:""):(this[e]=null,this[f]="")},c.Button.prototype.playStateSound=function(a){var b="on"+a+"Sound",c=this[b];if(c){var d="on"+a+"SoundMarker",e=this[d];return c.play(e),!0}return!1},c.Button.prototype.setSounds=function(a,b,c,d,e,f,k,l){this.setStateSound(g,a,b),this.setStateSound(h,e,f),this.setStateSound(i,c,d),this.setStateSound(j,k,l)},c.Button.prototype.setOverSound=function(a,b){this.setStateSound(g,a,b)},c.Button.prototype.setOutSound=function(a,b){this.setStateSound(h,a,b)},c.Button.prototype.setDownSound=function(a,b){this.setStateSound(i,a,b)},c.Button.prototype.setUpSound=function(a,b){this.setStateSound(j,a,b)},c.Button.prototype.onInputOverHandler=function(a,b){b.justReleased()&&(this.justReleasedPreventsOver&b.pointerMode)===b.pointerMode||(this.changeStateFrame(g),this.onOverMouseOnly&&!b.isMouse||(this.playStateSound(g),this.onInputOver&&this.onInputOver.dispatch(this,b)))},c.Button.prototype.onInputOutHandler=function(a,b){this.changeStateFrame(h),this.playStateSound(h),this.onInputOut&&this.onInputOut.dispatch(this,b)},c.Button.prototype.onInputDownHandler=function(a,b){this.changeStateFrame(i),this.playStateSound(i),this.onInputDown&&this.onInputDown.dispatch(this,b)},c.Button.prototype.onInputUpHandler=function(a,b,c){if(this.playStateSound(j),this.onInputUp&&this.onInputUp.dispatch(this,b,c),!this.freezeFrames)if(this.forceOut===!0||(this.forceOut&b.pointerMode)===b.pointerMode)this.changeStateFrame(h);else{var d=this.changeStateFrame(j);d||(c?this.changeStateFrame(g):this.changeStateFrame(h))}},c.SpriteBatch=function(a,b,d,e){void 0!==b&&null!==b||(b=a.world),c.Group.call(this,a,b,d,e),this.type=c.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},c.SpriteBatch.prototype=Object.create(c.Group.prototype),c.SpriteBatch.prototype.constructor=c.SpriteBatch,c.SpriteBatch.prototype._renderWebGL=function(a){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(a.gl),this.ready=!0),this.fastSpriteBatch.gl!==a.gl&&this.fastSpriteBatch.setContext(a.gl),a.spriteBatch.stop(),a.shaderManager.setShader(a.shaderManager.fastShader),this.fastSpriteBatch.begin(this,a),this.fastSpriteBatch.render(this),a.spriteBatch.start())},c.SpriteBatch.prototype._renderCanvas=function(a){if(this.visible&&!(this.alpha<=0)&&this.children.length){var b=a.context;b.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var c=this.worldTransform,d=!0,e=0;e=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===this.width&&(d=0,((e+=f)>=this.height||e<=0)&&(g=!0)):2!==a&&3!==a||++e===this.height&&(e=0,((d+=f)>=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.getCanvas():this._image=a.texture.baseTexture.source,void 0!==g&&null!==g||(g=a.x),void 0!==h&&null!==h||(h=a.y),a.texture.trim&&(g+=a.texture.trim.x-a.anchor.x*a.texture.trim.width,h+=a.texture.trim.y-a.anchor.y*a.texture.trim.height),16777215!==a.tint&&(a.cachedTint!==a.tint&&(a.cachedTint=a.tint,a.tintedTexture=PIXI.CanvasTinter.getTintedTexture(a,a.tint)),this._image=a.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,a instanceof c.BitmapData)this._image=a.canvas;else if("string"==typeof a){if(null===(a=this.game.cache.getImage(a)))return;this._image=a}this._size.set(this._image.width,this._image.height)}if(void 0!==b&&null!==b||(b=0),void 0!==d&&null!==d||(d=0),e&&(this._size.x=e),f&&(this._size.y=f),void 0!==g&&null!==g||(g=b),void 0!==h&&null!==h||(h=d),void 0!==i&&null!==i||(i=this._size.x),void 0!==j&&null!==j||(j=this._size.y),"number"==typeof k&&(this._rotate=k),"number"==typeof l&&(this._anchor.x=l),"number"==typeof m&&(this._anchor.y=m),"number"==typeof n&&(this._scale.x=n),"number"==typeof o&&(this._scale.y=o),"number"==typeof p&&(this._alpha.current=p),void 0===q&&(q=null),void 0===r&&(r=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var s=this.context;return this._alpha.prev=s.globalAlpha,s.save(),s.globalAlpha=this._alpha.current,q&&(this.op=q),r&&(g|=0,h|=0),s.translate(g,h),s.scale(this._scale.x,this._scale.y),s.rotate(this._rotate),s.drawImage(this._image,this._pos.x+b,this._pos.y+d,this._size.x,this._size.y,-i*this._anchor.x,-j*this._anchor.y,i,j),s.restore(),s.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(a,b,d){if(void 0===b&&(b=null),void 0===d&&(d=!1),!a.hasOwnProperty("worldTransform")||!a.worldVisible||0===a.worldAlpha)return this;var e=a.worldTransform;if(this._pos.set(a.texture.crop.x,a.texture.crop.y),this._size.set(a.texture.crop.width,a.texture.crop.height),0===e.a||0===e.d||0===this._size.x||0===this._size.y)return this;a.texture instanceof c.RenderTexture?this._image=a.texture.getCanvas():this._image=a.texture.baseTexture.source;var f=e.tx,g=e.ty;a.texture.trim&&(f+=a.texture.trim.x-a.anchor.x*a.texture.trim.width,g+=a.texture.trim.y-a.anchor.y*a.texture.trim.height),16777215!==a.tint&&(a.cachedTint!==a.tint&&(a.cachedTint=a.tint,a.tintedTexture=PIXI.CanvasTinter.getTintedTexture(a,a.tint)),this._image=a.tintedTexture,this._pos.set(0)),d&&(f|=0,g|=0);var h=this.context;return this._alpha.prev=h.globalAlpha,h.save(),h.globalAlpha=this._alpha.current,b&&(this.op=b),h[this.smoothProperty]=a.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,h.setTransform(e.a,e.b,e.c,e.d,f,g),h.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*a.anchor.x,-this._size.y*a.anchor.y,this._size.x,this._size.y),h.restore(),h.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(a,b,c,d,e,f,g){return this.copy(a,b.x,b.y,b.width,b.height,c,d,b.width,b.height,0,0,0,1,1,e,f,g)},draw:function(a,b,c,d,e,f,g){return this.copy(a,null,null,null,null,b,c,d,e,null,null,null,null,null,null,f,g)},drawGroup:function(a,b,c){return a.total>0&&a.forEachExists(this.drawGroupProxy,this,b,c),this},drawGroupProxy:function(a,b,d){if(a.hasOwnProperty("texture")&&this.copyTransform(a,b,d),a.type===c.GROUP&&a.exists)this.drawGroup(a,b,d);else if(a.hasOwnProperty("children")&&a.children.length>0)for(var e=0;eb.width&&(e=b.width);var f=this.context;return f.fillStyle=f.createPattern(b,d),this._circle=new c.Circle(a.start.x,a.start.y,b.height),this._circle.circumferencePoint(a.angle-1.5707963267948966,!1,this._pos),f.save(),f.translate(this._pos.x,this._pos.y),f.rotate(a.angle),f.fillRect(0,0,e,b.height),f.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),c.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(a,b,c){a.update();for(var d,e=0;e80*d){i=k=a[0],j=l=a[1];for(var p=d;pk&&(k=m),n>l&&(l=n);o=Math.max(k-i,l-j)}return c.EarCut.earcutLinked(g,h,d,i,j,o),h},c.EarCut.linkedList=function(a,b,d,e,f){var g,h,i,j=0;for(g=b,h=d-e;g0)for(g=b;g=b;g-=e)i=c.EarCut.insertNode(g,a[g],a[g+1],i);return i},c.EarCut.filterPoints=function(a,b){if(!a)return a;b||(b=a);var d,e=a;do{if(d=!1,e.steiner||!c.EarCut.equals(e,e.next)&&0!==c.EarCut.area(e.prev,e,e.next))e=e.next;else{if(c.EarCut.removeNode(e),(e=b=e.prev)===e.next)return null;d=!0}}while(d||e!==b);return b},c.EarCut.earcutLinked=function(a,b,d,e,f,g,h){if(a){!h&&g&&c.EarCut.indexCurve(a,e,f,g);for(var i,j,k=a;a.prev!==a.next;)if(i=a.prev,j=a.next,g?c.EarCut.isEarHashed(a,e,f,g):c.EarCut.isEar(a))b.push(i.i/d),b.push(a.i/d),b.push(j.i/d),c.EarCut.removeNode(a),a=j.next,k=j.next;else if((a=j)===k){h?1===h?(a=c.EarCut.cureLocalIntersections(a,b,d),c.EarCut.earcutLinked(a,b,d,e,f,g,2)):2===h&&c.EarCut.splitEarcut(a,b,d,e,f,g):c.EarCut.earcutLinked(c.EarCut.filterPoints(a),b,d,e,f,g,1);break}}},c.EarCut.isEar=function(a){var b=a.prev,d=a,e=a.next;if(c.EarCut.area(b,d,e)>=0)return!1;for(var f=a.next.next;f!==a.prev;){if(c.EarCut.pointInTriangle(b.x,b.y,d.x,d.y,e.x,e.y,f.x,f.y)&&c.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.next}return!0},c.EarCut.isEarHashed=function(a,b,d,e){var f=a.prev,g=a,h=a.next;if(c.EarCut.area(f,g,h)>=0)return!1;for(var i=f.xg.x?f.x>h.x?f.x:h.x:g.x>h.x?g.x:h.x,l=f.y>g.y?f.y>h.y?f.y:h.y:g.y>h.y?g.y:h.y,m=c.EarCut.zOrder(i,j,b,d,e),n=c.EarCut.zOrder(k,l,b,d,e),o=a.nextZ;o&&o.z<=n;){if(o!==a.prev&&o!==a.next&&c.EarCut.pointInTriangle(f.x,f.y,g.x,g.y,h.x,h.y,o.x,o.y)&&c.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.nextZ}for(o=a.prevZ;o&&o.z>=m;){if(o!==a.prev&&o!==a.next&&c.EarCut.pointInTriangle(f.x,f.y,g.x,g.y,h.x,h.y,o.x,o.y)&&c.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.prevZ}return!0},c.EarCut.cureLocalIntersections=function(a,b,d){var e=a;do{var f=e.prev,g=e.next.next;c.EarCut.intersects(f,e,e.next,g)&&c.EarCut.locallyInside(f,g)&&c.EarCut.locallyInside(g,f)&&(b.push(f.i/d),b.push(e.i/d),b.push(g.i/d),c.EarCut.removeNode(e),c.EarCut.removeNode(e.next),e=a=g),e=e.next}while(e!==a);return e},c.EarCut.splitEarcut=function(a,b,d,e,f,g){var h=a;do{for(var i=h.next.next;i!==h.prev;){if(h.i!==i.i&&c.EarCut.isValidDiagonal(h,i)){var j=c.EarCut.splitPolygon(h,i);return h=c.EarCut.filterPoints(h,h.next),j=c.EarCut.filterPoints(j,j.next),c.EarCut.earcutLinked(h,b,d,e,f,g),void c.EarCut.earcutLinked(j,b,d,e,f,g)}i=i.next}h=h.next}while(h!==a)},c.EarCut.eliminateHoles=function(a,b,d,e){var f,g,h,i,j,k=[];for(f=0,g=b.length;f=e.next.y){var i=e.x+(g-e.y)*(e.next.x-e.x)/(e.next.y-e.y);i<=f&&i>h&&(h=i,d=e.x=e.x&&e.x>=d.x&&c.EarCut.pointInTriangle(gd.x)&&c.EarCut.locallyInside(e,a)&&(d=e,l=j),e=e.next;return d},c.EarCut.indexCurve=function(a,b,d,e){var f=a;do{null===f.z&&(f.z=c.EarCut.zOrder(f.x,f.y,b,d,e)),f.prevZ=f.prev,f.nextZ=f.next,f=f.next}while(f!==a);f.prevZ.nextZ=null,f.prevZ=null,c.EarCut.sortLinked(f)},c.EarCut.sortLinked=function(a){var b,c,d,e,f,g,h,i,j=1;do{for(c=a,a=null,f=null,g=0;c;){for(g++,d=c,h=0,b=0;b0||i>0&&d;)0===h?(e=d,d=d.nextZ,i--):0!==i&&d?c.z<=d.z?(e=c,c=c.nextZ,h--):(e=d,d=d.nextZ,i--):(e=c,c=c.nextZ,h--),f?f.nextZ=e:a=e,e.prevZ=f,f=e;c=d}f.nextZ=null,j*=2}while(g>1);return a},c.EarCut.zOrder=function(a,b,c,d,e){return a=32767*(a-c)/e,b=32767*(b-d)/e,a=16711935&(a|a<<8),a=252645135&(a|a<<4),a=858993459&(a|a<<2),a=1431655765&(a|a<<1),b=16711935&(b|b<<8),b=252645135&(b|b<<4),b=858993459&(b|b<<2),b=1431655765&(b|b<<1),a|b<<1},c.EarCut.getLeftmost=function(a){var b=a,c=a;do{b.x=0&&(a-g)*(d-h)-(c-g)*(b-h)>=0&&(c-g)*(f-h)-(e-g)*(d-h)>=0},c.EarCut.isValidDiagonal=function(a,b){return c.EarCut.equals(a,b)||a.next.i!==b.i&&a.prev.i!==b.i&&!c.EarCut.intersectsPolygon(a,b)&&c.EarCut.locallyInside(a,b)&&c.EarCut.locallyInside(b,a)&&c.EarCut.middleInside(a,b)},c.EarCut.area=function(a,b,c){return(b.y-a.y)*(c.x-b.x)-(b.x-a.x)*(c.y-b.y)},c.EarCut.equals=function(a,b){return a.x===b.x&&a.y===b.y},c.EarCut.intersects=function(a,b,d,e){return c.EarCut.area(a,b,d)>0!=c.EarCut.area(a,b,e)>0&&c.EarCut.area(d,e,a)>0!=c.EarCut.area(d,e,b)>0},c.EarCut.intersectsPolygon=function(a,b){var d=a;do{if(d.i!==a.i&&d.next.i!==a.i&&d.i!==b.i&&d.next.i!==b.i&&c.EarCut.intersects(d,d.next,a,b))return!0;d=d.next}while(d!==a);return!1},c.EarCut.locallyInside=function(a,b){return c.EarCut.area(a.prev,a,a.next)<0?c.EarCut.area(a,b,a.next)>=0&&c.EarCut.area(a,a.prev,b)>=0:c.EarCut.area(a,b,a.prev)<0||c.EarCut.area(a,a.next,b)<0},c.EarCut.middleInside=function(a,b){var c=a,d=!1,e=(a.x+b.x)/2,f=(a.y+b.y)/2;do{c.y>f!=c.next.y>f&&e<(c.next.x-c.x)*(f-c.y)/(c.next.y-c.y)+c.x&&(d=!d),c=c.next}while(c!==a);return d},c.EarCut.splitPolygon=function(a,b){var d=new c.EarCut.Node(a.i,a.x,a.y),e=new c.EarCut.Node(b.i,b.x,b.y),f=a.next,g=b.prev;return a.next=b,b.prev=a,d.next=f,f.prev=d,e.next=d,d.prev=e,g.next=e,e.prev=g,e},c.EarCut.insertNode=function(a,b,d,e){var f=new c.EarCut.Node(a,b,d);return e?(f.next=e.next,f.prev=e,e.next.prev=f,e.next=f):(f.prev=f,f.next=f),f},c.EarCut.removeNode=function(a){a.next.prev=a.prev,a.prev.next=a.next,a.prevZ&&(a.prevZ.nextZ=a.nextZ),a.nextZ&&(a.nextZ.prevZ=a.prevZ)},c.EarCut.Node=function(a,b,c){this.i=a,this.x=b,this.y=c,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(a,b){var d,e=b.gl,f=b.projection,g=b.offset,h=b.shaderManager.primitiveShader;a.dirty&&PIXI.WebGLGraphics.updateGraphics(a,e);for(var i=a._webGL[e.id],j=0;j=PIXI.WebGLGraphics.stencilBufferLimit)if(h.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit){g=PIXI.WebGLGraphics.switchMode(d,0);var i=PIXI.WebGLGraphics.buildPoly(h,g);i||(g=PIXI.WebGLGraphics.switchMode(d,1),PIXI.WebGLGraphics.buildComplexPoly(h,g))}else g=PIXI.WebGLGraphics.switchMode(d,1),PIXI.WebGLGraphics.buildComplexPoly(h,g);h.lineWidth>0&&(g=PIXI.WebGLGraphics.switchMode(d,0),PIXI.WebGLGraphics.buildLine(h,g))}else g=PIXI.WebGLGraphics.switchMode(d,0),h.type===c.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(h,g):h.type===c.CIRCLE||h.type===c.ELLIPSE?PIXI.WebGLGraphics.buildCircle(h,g):h.type===c.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(h,g);d.lastIndex++}for(e=0;e19600?(v=r-t,w=s-u,F=Math.sqrt(v*v+w*w),v/=F,w/=F,v*=L,w*=L,G.push(n-v,o-w),G.push(O,P,Q,N),G.push(n+v,o+w),G.push(O,P,Q,N),G.push(n-v,o-w),G.push(O,P,Q,N),J++):(G.push(j,k),G.push(O,P,Q,N),G.push(n-(j-n),o-(k-o)),G.push(O,P,Q,N)));for(l=e[2*(I-2)],m=e[2*(I-2)+1],n=e[2*(I-1)],o=e[2*(I-1)+1],r=-(m-o),s=l-n,F=Math.sqrt(r*r+s*s),r/=F,s/=F,r*=L,s*=L,G.push(n-r,o-s),G.push(O,P,Q,N),G.push(n+r,o+s),G.push(O,P,Q,N),H.push(K),d=0;di?f:i,j=gk?g:k;d.push(h,j,i,j,i,k,h,k);var m=d.length/2;for(l=0;lB?B:A,b.beginPath(),b.moveTo(w,x+A),b.lineTo(w,x+z-A),b.quadraticCurveTo(w,x+z,w+A,x+z),b.lineTo(w+y-A,x+z),b.quadraticCurveTo(w+y,x+z,w+y,x+z-A),b.lineTo(w+y,x+A),b.quadraticCurveTo(w+y,x,w+y-A,x),b.lineTo(w+A,x),b.quadraticCurveTo(w,x,w,x+A),b.closePath(),(f.fillColor||0===f.fillColor)&&(b.globalAlpha=f.fillAlpha*d,b.fillStyle="#"+("00000"+(0|h).toString(16)).substr(-6),b.fill()),f.lineWidth&&(b.globalAlpha=f.lineAlpha*d,b.strokeStyle="#"+("00000"+(0|i).toString(16)).substr(-6),b.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(a,b){var d=a.graphicsData.length;if(0!==d){b.beginPath();for(var e=0;ez?z:y,b.moveTo(u,v+y),b.lineTo(u,v+x-y),b.quadraticCurveTo(u,v+x,u+y,v+x),b.lineTo(u+w-y,v+x),b.quadraticCurveTo(u+w,v+x,u+w,v+x-y),b.lineTo(u+w,v+y),b.quadraticCurveTo(u+w,v,u+w-y,v),b.lineTo(u+y,v),b.quadraticCurveTo(u,v,u,v+y),b.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(a){if(16777215!==a.tint)for(var b=(a.tint>>16&255)/255,c=(a.tint>>8&255)/255,d=(255&a.tint)/255,e=0;e>16&255)/255*b*255<<16)+((g>>8&255)/255*c*255<<8)+(255&g)/255*d*255,f._lineTint=((h>>16&255)/255*b*255<<16)+((h>>8&255)/255*c*255<<8)+(255&h)/255*d*255}},c.GraphicsData=function(a,b,c,d,e,f,g){this.lineWidth=a,this.lineColor=b,this.lineAlpha=c,this._lineTint=b,this.fillColor=d,this.fillAlpha=e,this._fillTint=d,this.fill=f,this.shape=g,this.type=g.type},c.GraphicsData.prototype.constructor=c.GraphicsData,c.GraphicsData.prototype.clone=function(){return new c.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},c.Graphics=function(a,b,d){void 0===b&&(b=0),void 0===d&&(d=0),this.type=c.GRAPHICS,this.physicsType=c.SPRITE,this.anchor=new c.Point,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;a0&&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;el*i)}return this.dirty=!0,this._boundsDirty=!0,this},c.Graphics.prototype.arc=function(a,b,c,d,e,f,g){if(d===e)return this;void 0===f&&(f=!1),void 0===g&&(g=40),!f&&e<=d?e+=2*Math.PI:f&&d<=e&&(d+=2*Math.PI);var h=f?(d-e)*-1:e-d,i=Math.ceil(Math.abs(h)/(2*Math.PI))*g;if(0===h)return this;var j=a+Math.cos(d)*c,k=b+Math.sin(d)*c;f&&this.filling?this.moveTo(a,b):this.moveTo(j,k);for(var l=this.currentPath.shape.points,m=h/(2*i),n=2*m,o=Math.cos(m),p=Math.sin(m),q=i-1,r=q%1/q,s=0;s<=q;s++){var t=s+r*s,u=m+d+n*t,v=Math.cos(u),w=-Math.sin(u);l.push((o*v+p*w)*c+a,(o*-w+p*v)*c+b)}return this.dirty=!0,this._boundsDirty=!0,this},c.Graphics.prototype.beginFill=function(a,b){return this.filling=!0,this.fillColor=a||0,this.fillAlpha=void 0===b?1:b,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},c.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},c.Graphics.prototype.drawRect=function(a,b,d,e){return this.drawShape(new c.Rectangle(a,b,d,e)),this},c.Graphics.prototype.drawRoundedRect=function(a,b,d,e,f){return this.drawShape(new c.RoundedRectangle(a,b,d,e,f)),this},c.Graphics.prototype.drawCircle=function(a,b,d){return this.drawShape(new c.Circle(a,b,d)),this},c.Graphics.prototype.drawEllipse=function(a,b,d,e){return this.drawShape(new c.Ellipse(a,b,d,e)),this},c.Graphics.prototype.drawPolygon=function(a){a instanceof c.Polygon&&(a=a.points);var b=a;if(!Array.isArray(b)){b=new Array(arguments.length);for(var d=0;dw?q:w,w=s>w?s:w,w=u>w?u:w,x=r>x?r:x,x=t>x?t:x,x=v>x?v:x,this._bounds.x=y,this._bounds.width=w-y,this._bounds.y=z,this._bounds.height=x-z,this._currentBounds=this._bounds,this._currentBounds},c.Graphics.prototype.getLocalBounds=function(){var a=this.worldTransform;this.worldTransform=c.identityMatrix;for(var b=0;bb?h+j:b,d=ie?i+k:e;else if(n===c.CIRCLE)h=f.x,i=f.y,j=f.radius+o/2,k=f.radius+o/2,a=h-jb?h+j:b,d=i-ke?i+k:e;else if(n===c.ELLIPSE)h=f.x,i=f.y,j=f.width+o/2,k=f.height+o/2,a=h-jb?h+j:b,d=i-ke?i+k:e;else{g=f.points;for(var p=0;pb?h+o:b,d=i-oe?i+o:e}}else a=0,b=0,d=0,e=0;var q=this.boundsPadding;this._localBounds.x=a-q,this._localBounds.width=b-a+2*q,this._localBounds.y=d-q,this._localBounds.height=e-d+2*q},c.Graphics.prototype._generateCachedSprite=function(){var a=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(a.width,a.height);else{var b=new PIXI.CanvasBuffer(a.width,a.height),c=PIXI.Texture.fromCanvas(b.canvas);this._cachedSprite=new PIXI.Sprite(c),this._cachedSprite.buffer=b,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-(a.x/a.width),this._cachedSprite.anchor.y=-(a.y/a.height),this._cachedSprite.buffer.context.translate(-a.x,-a.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},c.Graphics.prototype.updateCachedSpriteTexture=function(){var a=this._cachedSprite,b=a.texture,c=a.buffer.canvas;b.baseTexture.width=c.width,b.baseTexture.height=c.height,b.crop.width=b.frame.width=c.width,b.crop.height=b.frame.height=c.height,a._width=c.width,a._height=c.height,b.baseTexture.dirty()},c.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},c.Graphics.prototype.drawShape=function(a){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,a instanceof c.Polygon&&(a=a.clone(),a.flatten());var b=new c.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,a);return this.graphicsData.push(b),b.type===c.POLYGON&&(b.shape.closed=this.filling,this.currentPath=b),this.dirty=!0,this._boundsDirty=!0,b},Object.defineProperty(c.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(a){this._cacheAsBitmap=a,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),c.RenderTexture=function(a,b,d,e,f,g,h,i){if(void 0===b&&(b=100),void 0===d&&(d=100),void 0===e&&(e=""),void 0===f&&(f=c.scaleModes.DEFAULT),void 0===g&&(g=1),void 0===h&&(h=PIXI.defaultRenderer),void 0===i&&(i=0),this.game=a,this.key=e,this.type=c.RENDERTEXTURE,this._tempMatrix=new c.Matrix,this.width=b,this.height=d,this.resolution=g,this.frame=new c.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=f,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=h,this.renderer.type===c.WEBGL){var j=this.renderer.gl;this.baseTexture.textureIndex=i,this.baseTexture._dirty[j.id]=!1,this.textureBuffer=new PIXI.FilterTexture(j,this.width,this.height,this.baseTexture.scaleMode,i),this.baseTexture._glTextures[j.id]=this.textureBuffer.texture,this.projection=new c.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new c.Matrix,this._updateUvs()},c.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),c.RenderTexture.prototype.constructor=c.RenderTexture,c.RenderTexture.prototype.renderXY=function(a,b,d,e){a.updateTransform(),this._tempMatrix.copyFrom(a.worldTransform),this._tempMatrix.tx=b,this._tempMatrix.ty=d,this.renderer.type===c.WEBGL?this._renderWebGL(a,this._tempMatrix,e):this._renderCanvas(a,this._tempMatrix,e)},c.RenderTexture.prototype.renderRawXY=function(a,b,d,e){this._tempMatrix.identity().translate(b,d),this.renderer.type===c.WEBGL?this._renderWebGL(a,this._tempMatrix,e):this._renderCanvas(a,this._tempMatrix,e)},c.RenderTexture.prototype.render=function(a,b,d){void 0===b||null===b?this._tempMatrix.copyFrom(a.worldTransform):this._tempMatrix.copyFrom(b),this.renderer.type===c.WEBGL?this._renderWebGL(a,this._tempMatrix,d):this._renderCanvas(a,this._tempMatrix,d)},c.RenderTexture.prototype.resize=function(a,b,d){a===this.width&&b===this.height||(this.valid=a>0&&b>0,this.width=a,this.height=b,this.frame.width=this.crop.width=a*this.resolution,this.frame.height=this.crop.height=b*this.resolution,d&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===c.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},c.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===c.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},c.RenderTexture.prototype._renderWebGL=function(a,b,c){if(this.valid&&0!==a.alpha){var d=a.worldTransform;d.identity(),d.translate(0,2*this.projection.y),b&&d.append(b),d.scale(1,-1);for(var e=0;e-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(b[h]):this.context.measureText(b[h]).width,this.style.wordWrap&&(i-=this.context.measureText(" ").width)}else{var j=b[h].split(/(?:\t)/),i=this.padding.x+this.style.strokeThickness;if(Array.isArray(c))for(var k=0,l=0;l0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(j[l]):Math.ceil(this.context.measureText(j[l]).width),l>0&&(k+=c[l-1]),i=k+m}else for(var l=0;l0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(j[l]):Math.ceil(this.context.measureText(j[l]).width);var n=this.game.math.snapToCeil(i,c)-i;i+=n}}d[h]=Math.ceil(i),e=Math.max(e,d[h])}this.canvas.width=e*this._res;var o=f.fontSize+this.style.strokeThickness+this.padding.y,p=o*g,q=this._lineSpacing;q<0&&Math.abs(q)>o&&(q=-o),0!==q&&(p+=q>0?q*b.length:q*(b.length-1)),this.canvas.height=p*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var r,s;for(this._charCount=0,h=0;h0&&(s+=q*h),"right"===this.style.align?r+=e-d[h]:"center"===this.style.align&&(r+=(e-d[h])/2),this.autoRound&&(r=Math.round(r),s=Math.round(s)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(b[h],r,s):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===c?this.context.strokeText(b[h],r,s):this.renderTabLine(b[h],r,s,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===c?this.context.fillText(b[h],r,s):this.renderTabLine(b[h],r,s,!0)));this.updateTexture(),this.dirty=!1},c.Text.prototype.renderTabLine=function(a,b,c,d){var e=a.split(/(?:\t)/),f=this.style.tabs,g=0;if(Array.isArray(f))for(var h=0,i=0;i0&&(h+=f[i-1]),g=b+h,d?this.context.fillText(e[i],g,c):this.context.strokeText(e[i],g,c);else for(var i=0;i0||this.fontStyles.length>0){var e=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(e.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(e.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(e)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),b+=this.context.measureText(d).width,this._charCount++}return Math.ceil(b)},c.Text.prototype.updateLine=function(a,b,c){for(var d=0;d0||this.fontStyles.length>0){var f=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(f.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(f.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(f)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(e,b,c)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(e,b,c)),b+=this.context.measureText(e).width,this._charCount++}},c.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},c.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},c.Text.prototype.addColor=function(a,b){return this.colors[b]=a,this.dirty=!0,this},c.Text.prototype.addStrokeColor=function(a,b){return this.strokeColors[b]=a,this.dirty=!0,this},c.Text.prototype.addFontStyle=function(a,b){return this.fontStyles[b]=a,this.dirty=!0,this},c.Text.prototype.addFontWeight=function(a,b){return this.fontWeights[b]=a,this.dirty=!0,this},c.Text.prototype.precalculateWordWrap=function(a){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(a).split(/(?:\r\n|\r|\n)/)},c.Text.prototype.runWordWrap=function(a){return this.useAdvancedWrap?this.advancedWordWrap(a):this.basicWordWrap(a)},c.Text.prototype.advancedWordWrap=function(a){for(var b=this.context,c=this.style.wordWrapWidth,d="",e=a.replace(/ +/gi," ").split(/\r?\n/gi),f=e.length,g=0;gj){if(0===l){for(var p=n;p.length&&(p=p.slice(0,-1),!((o=b.measureText(p).width)<=j)););if(!p.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var q=m.substr(p.length);k[l]=q,i+=p}var r=k[l].length?l:l+1,s=k.slice(r).join(" ").replace(/[ \n]*$/gi,"");e[g+1]=s+" "+(e[g+1]||""),f=e.length;break}i+=n,j-=o}d+=i.replace(/[ \n]*$/gi,"")+"\n"}}return d=d.replace(/[\s|\n]*$/gi,"")},c.Text.prototype.basicWordWrap=function(a){for(var b="",c=a.split("\n"),d=0;de?(g>0&&(b+="\n"),b+=f[g]+" ",e=this.style.wordWrapWidth-h):(e-=i,b+=f[g]+" ")}dd&&(this.style.wordWrapWidth=d)),this.updateTexture(),this},c.Text.prototype.updateTexture=function(){var a=this.texture.baseTexture,b=this.texture.crop,c=this.texture.frame,d=this.canvas.width,e=this.canvas.height;if(a.width=d,a.height=e,b.width=d,b.height=e,c.width=d,c.height=e,this.texture.width=d,this.texture.height=e,this._width=d,this._height=e,this.textBounds){var f=this.textBounds.x,g=this.textBounds.y;"right"===this.style.boundsAlignH?f+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(f+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?g+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(g+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-f,this.pivot.y=-g}this.renderable=0!==d&&0!==e,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},c.Text.prototype._renderWebGL=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,a)},c.Text.prototype._renderCanvas=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,a)},c.Text.prototype.determineFontProperties=function(a){var b=c.Text.fontPropertiesCache[a];if(!b){b={};var d=c.Text.fontPropertiesCanvas,e=c.Text.fontPropertiesContext;e.font=a;var f=Math.ceil(e.measureText("|MÉq").width),g=Math.ceil(e.measureText("|MÉq").width),h=2*g;if(g=1.4*g|0,d.width=f,d.height=h,e.fillStyle="#f00",e.fillRect(0,0,f,h),e.font=a,e.textBaseline="alphabetic",e.fillStyle="#000",e.fillText("|MÉq",0,g),!e.getImageData(0,0,f,h))return b.ascent=g,b.descent=g+6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b,b;var i,j,k=e.getImageData(0,0,f,h).data,l=k.length,m=4*f,n=0,o=!1;for(i=0;ig;i--){for(j=0;j0?this._maxWidth:null,j=[],k=0;k=i&&f>-1)return{width:g||e,text:c.substr(0,k-(k-f)),end:l,chars:j};e+=(n.xAdvance+p)*b,j.push(d+(n.xOffset+p)*b),d+=(n.xAdvance+p)*b,h=m}return{width:e,text:c,end:l,chars:j}},c.BitmapText.prototype.cleanText=function(a,b){void 0===b&&(b="");var c=this._data.font;if(!c)return"";for(var d=/\r\n|\n\r|\n|\r/g,e=a.replace(d,"\n").split("\n"),f=0;fthis.textWidth&&(this.textWidth=f.width),e+=a.lineHeight*c,b=b.substr(f.text.length+1)}while(f.end===!1);this.textHeight=e;for(var g=0,h=0,i=this.textWidth*this.anchor.x,j=this.textHeight*this.anchor.y,k=0;k0&&(this._fontSize=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(a){a!==this._maxWidth&&(this._maxWidth=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(a){this._data.base.scaleMode=a?0:1}}),c.RetroFont=function(a,b,d,e,f,g,h,i,j,k){if(!a.cache.checkImageKey(b))return!1;void 0!==g&&null!==g||(g=a.cache.getImage(b).width/d),this.characterWidth=d,this.characterHeight=e,this.characterSpacingX=h||0,this.characterSpacingY=i||0,this.characterPerRow=g,this.offsetX=j||0,this.offsetY=k||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=a.cache.getImage(b),this._text="",this.grabData=[],this.frameData=new c.FrameData;for(var l=this.offsetX,m=this.offsetY,n=0,o=0;o?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",c.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",c.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",c.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",c.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",c.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",c.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",c.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",c.RetroFont.prototype.setFixedWidth=function(a,b){void 0===b&&(b="left"),this.fixedWidth=a,this.align=b},c.RetroFont.prototype.setText=function(a,b,c,d,e,f){this.multiLine=b||!1,this.customSpacingX=c||0,this.customSpacingY=d||0,this.align=e||"left",this.autoUpperCase=!f,a.length>0&&(this.text=a)},c.RetroFont.prototype.buildRetroFontText=function(){var a=0,b=0;if(this.clear(),this.multiLine){var d=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var e=0;e0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),a=0,this.align===c.RetroFont.ALIGN_RIGHT?a=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===c.RetroFont.ALIGN_CENTER&&(a=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,a+=this.customSpacingX/2),a<0&&(a=0),this.pasteLine(this._text,a,0,this.customSpacingX);this.requiresReTint=!0},c.RetroFont.prototype.pasteLine=function(a,b,c,d){for(var e=0;e=0&&(this.stamp.frame=this.grabData[a.charCodeAt(e)],this.renderXY(this.stamp,b,c,!1),(b+=this.characterWidth+d)>this.width))break},c.RetroFont.prototype.getLongestLine=function(){var a=0;if(this._text.length>0)for(var b=this._text.split("\n"),c=0;ca&&(a=b[c].length);return a},c.RetroFont.prototype.removeUnsupportedCharacters=function(a){for(var b="",c=0;c=0||!a&&"\n"===d)&&(b=b.concat(d))}return b},c.RetroFont.prototype.updateOffset=function(a,b){if(this.offsetX!==a||this.offsetY!==b){for(var c=a-this.offsetX,d=b-this.offsetY,e=this.game.cache.getFrameData(this.stamp.key).getFrames(),f=e.length;f--;)e[f].x+=c,e[f].y+=d;this.buildRetroFontText()}},Object.defineProperty(c.RetroFont.prototype,"text",{get:function(){return this._text},set:function(a){var b;(b=this.autoUpperCase?a.toUpperCase():a)!==this._text&&(this._text=b,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(c.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(a){this.stamp.smoothed=a,this.buildRetroFontText()}}),c.Rope=function(a,b,d,e,f,g){this.points=[],this.points=g,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.ROPE,this.points=g,PIXI.DisplayObjectContainer.call(this),this.texture=c.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),g&&(this.vertices=new Float32Array(4*g.length),this.uvs=new Float32Array(4*g.length),this.colors=new Float32Array(2*g.length),this.indices=new Uint16Array(2*g.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=c.Rope.TRIANGLE_STRIP,c.Component.Core.init.call(this,a,b,d,e,f),this.refresh()},c.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),c.Rope.prototype.constructor=c.Rope,c.Component.Core.install.call(c.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Rope.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Rope.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Rope.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Rope.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Rope.TRIANGLE_STRIP=0,c.Rope.TRIANGLES=1,c.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},c.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},c.Rope.prototype.reset=function(a,b){return c.Component.Reset.prototype.reset.call(this,a,b),this},c.Rope.prototype.refresh=function(){var a=this.points;if(!(a.length<1)){var b=this.uvs,c=this.indices,d=this.colors;this.count-=.2,b[0]=0,b[1]=0,b[2]=0,b[3]=1,d[0]=1,d[1]=1,c[0]=0,c[1]=1;for(var e,f,g=a.length,h=1;h1&&(g=1),h=Math.sqrt(d.x*d.x+d.y*d.y),i=this.texture.height/2,d.x/=h,d.y/=h,d.x*=i,d.y*=i,j[f]=e.x+d.x,j[f+1]=e.y+d.y,j[f+2]=e.x-d.x,j[f+3]=e.y-d.y,c=e;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},c.Rope.prototype.setTexture=function(a){this.texture=a},c.Rope.prototype._renderWebGL=function(a){!this.visible||this.alpha<=0||(a.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(a),a.shaderManager.setShader(a.shaderManager.stripShader),this._renderStrip(a),a.spriteBatch.start())},c.Rope.prototype._initWebGL=function(a){var b=a.gl;this._vertexBuffer=b.createBuffer(),this._indexBuffer=b.createBuffer(),this._uvBuffer=b.createBuffer(),this._colorBuffer=b.createBuffer(),b.bindBuffer(b.ARRAY_BUFFER,this._vertexBuffer),b.bufferData(b.ARRAY_BUFFER,this.vertices,b.DYNAMIC_DRAW),b.bindBuffer(b.ARRAY_BUFFER,this._uvBuffer),b.bufferData(b.ARRAY_BUFFER,this.uvs,b.STATIC_DRAW),b.bindBuffer(b.ARRAY_BUFFER,this._colorBuffer),b.bufferData(b.ARRAY_BUFFER,this.colors,b.STATIC_DRAW),b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,this._indexBuffer),b.bufferData(b.ELEMENT_ARRAY_BUFFER,this.indices,b.STATIC_DRAW)},c.Rope.prototype._renderStrip=function(a){var b=a.gl,d=a.projection,e=a.offset,f=a.shaderManager.stripShader,g=this.drawMode===c.Rope.TRIANGLE_STRIP?b.TRIANGLE_STRIP:b.TRIANGLES;a.blendModeManager.setBlendMode(this.blendMode),b.uniformMatrix3fv(f.translationMatrix,!1,this.worldTransform.toArray(!0)),b.uniform2f(f.projectionVector,d.x,-d.y),b.uniform2f(f.offsetVector,-e.x,-e.y),b.uniform1f(f.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,b.bindBuffer(b.ARRAY_BUFFER,this._vertexBuffer),b.bufferData(b.ARRAY_BUFFER,this.vertices,b.STATIC_DRAW),b.vertexAttribPointer(f.aVertexPosition,2,b.FLOAT,!1,0,0),b.bindBuffer(b.ARRAY_BUFFER,this._uvBuffer),b.bufferData(b.ARRAY_BUFFER,this.uvs,b.STATIC_DRAW),b.vertexAttribPointer(f.aTextureCoord,2,b.FLOAT,!1,0,0),b.activeTexture(b.TEXTURE0),this.texture.baseTexture._dirty[b.id]?a.renderer.updateTexture(this.texture.baseTexture):b.bindTexture(b.TEXTURE_2D,this.texture.baseTexture._glTextures[b.id]),b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,this._indexBuffer),b.bufferData(b.ELEMENT_ARRAY_BUFFER,this.indices,b.STATIC_DRAW)):(b.bindBuffer(b.ARRAY_BUFFER,this._vertexBuffer),b.bufferSubData(b.ARRAY_BUFFER,0,this.vertices),b.vertexAttribPointer(f.aVertexPosition,2,b.FLOAT,!1,0,0),b.bindBuffer(b.ARRAY_BUFFER,this._uvBuffer),b.vertexAttribPointer(f.aTextureCoord,2,b.FLOAT,!1,0,0),b.activeTexture(b.TEXTURE0),this.texture.baseTexture._dirty[b.id]?a.renderer.updateTexture(this.texture.baseTexture):b.bindTexture(b.TEXTURE_2D,this.texture.baseTexture._glTextures[b.id]),b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),b.drawElements(g,this.indices.length,b.UNSIGNED_SHORT,0)},c.Rope.prototype._renderCanvas=function(a){var b=a.context,d=this.worldTransform,e=d.tx*a.resolution+a.shakeX,f=d.ty*a.resolution+a.shakeY;a.roundPixels?b.setTransform(d.a,d.b,d.c,d.d,0|e,0|f):b.setTransform(d.a,d.b,d.c,d.d,e,f),this.drawMode===c.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(b):this._renderCanvasTriangles(b)},c.Rope.prototype._renderCanvasTriangleStrip=function(a){var b=this.vertices,c=this.uvs,d=b.length/2;this.count++;for(var e=0;e0){var v=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,x=(j+k+l)/3,y=(m+n+o)/3,z=j-x,A=m-y,B=Math.sqrt(z*z+A*A);j=x+z/B*(B+v),m=y+A/B*(B+w),z=k-x,A=n-y,B=Math.sqrt(z*z+A*A),k=x+z/B*(B+v),n=y+A/B*(B+w),z=l-x,A=o-y,B=Math.sqrt(z*z+A*A),l=x+z/B*(B+v),o=y+A/B*(B+w)}a.save(),a.beginPath(),a.moveTo(j,m),a.lineTo(k,n),a.lineTo(l,o),a.closePath(),a.clip();var C=p*t+s*r+q*u-t*r-s*q-p*u,D=j*t+s*l+k*u-t*l-s*k-j*u,E=p*k+j*r+q*l-k*r-j*q-p*l,F=p*t*l+s*k*r+j*q*u-j*t*r-s*q*l-p*k*u,G=m*t+s*o+n*u-t*o-s*n-m*u,H=p*n+m*r+q*o-n*r-m*q-p*o,I=p*t*o+s*n*r+m*q*u-m*t*r-s*q*o-p*n*u;a.transform(D/C,G/C,E/C,H/C,F/C,I/C),a.drawImage(g,0,0),a.restore()},c.Rope.prototype.renderStripFlat=function(a){var b=this.context,c=a.vertices,d=c.length/2;this.count++,b.beginPath();for(var e=1;ei?q:i,j=r>j?r:j}if(k===-(1/0)||j===1/0)return PIXI.EmptyRectangle;var s=this._bounds;return s.x=k,s.width=i-k,s.y=l,s.height=j-l,this._currentBounds=s,s},Object.defineProperty(c.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(a){a&&"function"==typeof a?(this._hasUpdateAnimation=!0,this._updateAnimation=a):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(c.Rope.prototype,"segments",{get:function(){for(var a,b,d,e,f,g,h,i,j=[],k=0;kv?n:v,v=p>v?p:v,v=r>v?r:v,v=t>v?t:v,w=o>w?o:w,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w;var z=this._bounds;return z.x=x,z.width=v-x,z.y=y,z.height=w-y,this._currentBounds=z,z},Object.defineProperty(c.TileSprite.prototype,"width",{get:function(){return this._width},set:function(a){this._width=a}}),Object.defineProperty(c.TileSprite.prototype,"height",{get:function(){return this._height},set:function(a){this._height=a}}),c.CanvasPool={create:function(a,b,d){var e,f=c.CanvasPool.getFirst();if(f===-1){var g={parent:a,canvas:document.createElement("canvas")};c.CanvasPool.pool.push(g),e=g.canvas}else c.CanvasPool.pool[f].parent=a,e=c.CanvasPool.pool[f].canvas;return void 0!==b&&(e.width=b,e.height=d),e},getFirst:function(){for(var a=c.CanvasPool.pool,b=0;b=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="mousewheel":n.firefox&&"MouseScrollEvent"in window&&(n.wheelEvent="DOMMouseScroll"))}function f(){for(var a=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],b=document.createElement("div"),c=0;c=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var b=parseInt(RegExp.$1,10),c=parseInt(RegExp.$2,10);(10===b&&c>=11||b>10)&&(n.dolby=!0)}}catch(a){}}function j(){var a=new ArrayBuffer(4),b=new Uint8Array(a),c=new Uint32Array(a);return b[0]=161,b[1]=178,b[2]=195,b[3]=212,3569595041===c[0]||2712847316!==c[0]&&null}function k(){if(void 0===Uint8ClampedArray)return!1;var a=c.CanvasPool.create(this,1,1),b=a.getContext("2d");if(!b)return!1;var d=b.createImageData(1,1);return c.CanvasPool.remove(this),d.data instanceof Uint8ClampedArray}function l(){n.pixelRatio=window.devicePixelRatio||1,n.iPhone=navigator.userAgent.toLowerCase().indexOf("iphone")!==-1,n.iPhone4=2===n.pixelRatio&&n.iPhone,n.iPad=navigator.userAgent.toLowerCase().indexOf("ipad")!==-1,"undefined"!=typeof Int8Array?n.typedArray=!0:n.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(n.littleEndian=j(),n.LITTLE_ENDIAN=n.littleEndian),n.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==n.littleEndian&&k(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(n.vibration=!0)}function m(){var a,b=document.createElement("p"),c={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(b,null);for(var d in c)void 0!==b.style[d]&&(b.style[d]="translate3d(1px,1px,1px)",a=window.getComputedStyle(b).getPropertyValue(c[d]));document.body.removeChild(b),n.css3D=void 0!==a&&a.length>0&&"none"!==a}var n=this;a(),g(),i(),h(),m(),l(),d(),b(),f(),e()},c.Device.canPlayAudio=function(a){return!("mp3"!==a||!this.mp3)||(!("ogg"!==a||!this.ogg&&!this.opus)||(!("m4a"!==a||!this.m4a)||(!("opus"!==a||!this.opus)||(!("wav"!==a||!this.wav)||(!("webm"!==a||!this.webm)||!("mp4"!==a||!this.dolby))))))},c.Device.canPlayVideo=function(a){return!("webm"!==a||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==a||!this.mp4Video&&!this.h264Video)||(!("ogg"!==a&&"ogv"!==a||!this.oggVideo)||!("mpeg"!==a||!this.hlsVideo)))},c.Device.isConsoleOpen=function(){return!(!window.console||!window.console.firebug)||!(!window.console||(console.profile(),console.profileEnd(),console.clear&&console.clear(),!console.profiles))&&console.profiles.length>0},c.Device.isAndroidStockBrowser=function(){var a=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return a&&a[1]<537},c.Canvas={create:function(a,b,d,e,f){b=b||256,d=d||256;var g=f?document.createElement("canvas"):c.CanvasPool.create(a,b,d);return"string"==typeof e&&""!==e&&(g.id=e),g.width=b,g.height=d,g.style.display="block",g},setBackgroundColor:function(a,b){return b=b||"rgb(0,0,0)",a.style.backgroundColor=b,a},setTouchAction:function(a,b){return b=b||"none",a.style.msTouchAction=b,a.style["ms-touch-action"]=b,a.style["touch-action"]=b,a},setUserSelect:function(a,b){return b=b||"none",a.style["-webkit-touch-callout"]=b,a.style["-webkit-user-select"]=b,a.style["-khtml-user-select"]=b,a.style["-moz-user-select"]=b,a.style["-ms-user-select"]=b,a.style["user-select"]=b,a.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",a},addToDOM:function(a,b,c){var d;return void 0===c&&(c=!0),b&&("string"==typeof b?d=document.getElementById(b):"object"==typeof b&&1===b.nodeType&&(d=b)),d||(d=document.body),c&&d.style&&(d.style.overflow="hidden"),d.appendChild(a),a},removeFromDOM:function(a){a.parentNode&&a.parentNode.removeChild(a)},setTransform:function(a,b,c,d,e,f,g){return a.setTransform(d,f,g,e,b,c),a},setSmoothingEnabled:function(a,b){var d=c.Canvas.getSmoothingPrefix(a);return d&&(a[d]=b),a},getSmoothingPrefix:function(a){var b=["i","webkitI","msI","mozI","oI"];for(var c in b){var d=b[c]+"mageSmoothingEnabled";if(d in a)return d}return null},getSmoothingEnabled:function(a){var b=c.Canvas.getSmoothingPrefix(a);if(b)return a[b]},setImageRenderingCrisp:function(a){for(var b=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],c=0;c0&&0==(a&a-1))return a;for(var b=1;b0&&0==(a&a-1)&&b>0&&0==(b&b-1)},random:function(a,b){if(void 0===a&&(a=0),void 0===b&&(b=1),a===b)return a;if(a>b){var c=a;a=b,b=c}return Math.random()*(b-a)+a},between:function(a,b){if(void 0===a&&(a=0),void 0===b&&(b=1),a===b)return a;if(a>b){var c=a;a=b,b=c}return a=Math.ceil(a),b=Math.floor(b),Math.floor(Math.random()*(b-a+1))+a},fuzzyEqual:function(a,b,c){return void 0===c&&(c=1e-4),Math.abs(a-b)b-c},fuzzyCeil:function(a,b){return void 0===b&&(b=1e-4),Math.ceil(a-b)},fuzzyFloor:function(a,b){return void 0===b&&(b=1e-4),Math.floor(a+b)},average:function(){for(var a=0,b=arguments.length,c=0;c=c.Math.PI2-d?a=b:(Math.abs(b-a)>Math.PI&&(ba?a+=d:b=0?a:a+2*Math.PI},maxAdd:function(a,b,c){return Math.min(a+b,c)},minSub:function(a,b,c){return Math.max(a-b,c)},wrap:function(a,b,c){var d=c-b;if(d<=0)return 0;var e=(a-b)%d;return e<0&&(e+=d),e+b},wrapValue:function(a,b,c){return a=Math.abs(a),b=Math.abs(b),c=Math.abs(c),(a+b)%c},isOdd:function(a){return!!(1&a)},isEven:function(a){return!(1&a)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])var a=arguments[0];else var a=arguments;for(var b=1,c=0,d=a.length;ba[c]&&(c=b);return a[c]},minProperty:function(a){if(2===arguments.length&&"object"==typeof arguments[1])var b=arguments[1];else var b=arguments.slice(1);for(var c=1,d=0,e=b.length;cb[d][a]&&(d=c);return b[d][a]},wrapAngle:function(a,b){return b?this.wrap(a,-Math.PI,Math.PI):this.wrap(a,-180,180)},linearInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return b<0?this.linear(a[0],a[1],d):b>1?this.linear(a[c],a[c-1],c-d):this.linear(a[e],a[e+1>c?c:e+1],d-e)},bezierInterpolation:function(a,b){for(var c=0,d=a.length-1,e=0;e<=d;e++)c+=Math.pow(1-b,d-e)*Math.pow(b,e)*a[e]*this.bernstein(d,e);return c},catmullRomInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return a[0]===a[c]?(b<0&&(e=Math.floor(d=c*(1+b))),this.catmullRom(a[(e-1+c)%c],a[e],a[(e+1)%c],a[(e+2)%c],d-e)):b<0?a[0]-(this.catmullRom(a[0],a[0],a[1],a[1],-d)-a[0]):b>1?a[c]-(this.catmullRom(a[c],a[c],a[c-1],a[c-1],d-c)-a[c]):this.catmullRom(a[e?e-1:0],a[e],a[c0?Math.ceil(a):Math.floor(a)},sinCosGenerator:function(a,b,c,d){void 0===b&&(b=1),void 0===c&&(c=1),void 0===d&&(d=1);for(var e=b,f=c,g=d*Math.PI/a,h=[],i=[],j=0;j0?1:0},percent:function(a,b,c){return void 0===c&&(c=0),a>b||c>b?1:aa?0:(a-c)/b}},c.RandomDataGenerator=function(a){void 0===a&&(a=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof a?this.state(a):this.sow(a)},c.RandomDataGenerator.prototype={rnd:function(){var a=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|a,this.s0=this.s1,this.s1=this.s2,this.s2=a-this.c,this.s2},sow:function(a){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,a)for(var b=0;b>>0,b-=d,b*=d,d=b>>>0,b-=d,d+=4294967296*b;return 2.3283064365386963e-10*(d>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(a,b){return Math.floor(this.realInRange(0,b-a+1)+a)},between:function(a,b){return this.integerInRange(a,b)},realInRange:function(a,b){return this.frac()*(b-a)+a},normal:function(){return 1-2*this.frac()},uuid:function(){var a="",b="";for(b=a="";a++<36;b+=~a%5|3*a&4?(15^a?8^this.frac()*(20^a?16:4):4).toString(16):"-");return b},pick:function(a){return a[this.integerInRange(0,a.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(a){return a[~~(Math.pow(this.frac(),2)*(a.length-1)+.5)]},timestamp:function(a,b){return this.realInRange(a||9466848e5,b||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(a){return"string"==typeof a&&a.match(/^!rnd/)&&(a=a.split(","),this.c=parseFloat(a[1]),this.s0=parseFloat(a[2]),this.s1=parseFloat(a[3]),this.s2=parseFloat(a[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},c.RandomDataGenerator.prototype.constructor=c.RandomDataGenerator,c.QuadTree=function(a,b,c,d,e,f,g){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(a,b,c,d,e,f,g)},c.QuadTree.prototype={reset:function(a,b,c,d,e,f,g){this.maxObjects=e||10,this.maxLevels=f||4,this.level=g||0,this.bounds={x:Math.round(a),y:Math.round(b),width:c,height:d,subWidth:Math.floor(c/2),subHeight:Math.floor(d/2),right:Math.round(a)+Math.floor(c/2),bottom:Math.round(b)+Math.floor(d/2)},this.objects.length=0,this.nodes.length=0},populate:function(a){a.forEach(this.populateHandler,this,!0)},populateHandler:function(a){a.body&&a.exists&&this.insert(a.body)},split:function(){this.nodes[0]=new c.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new c.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new c.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new c.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(a){var b,c=0;if(null!=this.nodes[0]&&(b=this.getIndex(a))!==-1)return void this.nodes[b].insert(a);if(this.objects.push(a),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(b=2):a.x>this.bounds.right&&(a.ythis.bounds.bottom&&(b=3)),b},retrieve:function(a){if(a instanceof c.Rectangle)var b=this.objects,d=this.getIndex(a);else{if(!a.body)return this._empty;var b=this.objects,d=this.getIndex(a.body)}return this.nodes[0]&&(d!==-1?b=b.concat(this.nodes[d].retrieve(a)):(b=b.concat(this.nodes[0].retrieve(a)),b=b.concat(this.nodes[1].retrieve(a)),b=b.concat(this.nodes[2].retrieve(a)),b=b.concat(this.nodes[3].retrieve(a)))),b},clear:function(){this.objects.length=0;for(var a=this.nodes.length;a--;)this.nodes[a].clear(),this.nodes.splice(a,1);this.nodes.length=0}},c.QuadTree.prototype.constructor=c.QuadTree,c.Net=function(a){this.game=a},c.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(a){return window.location.hostname.indexOf(a)!==-1},updateQueryString:function(a,b,c,d){void 0===c&&(c=!1),void 0!==d&&""!==d||(d=window.location.href);var e="",f=new RegExp("([?|&])"+a+"=.*?(&|#|$)(.*)","gi");if(f.test(d))e=void 0!==b&&null!==b?d.replace(f,"$1"+a+"="+b+"$2$3"):d.replace(f,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==b&&null!==b){var g=d.indexOf("?")!==-1?"&":"?",h=d.split("#");d=h[0]+g+a+"="+b,h[1]&&(d+="#"+h[1]),e=d}else e=d;if(!c)return e;window.location.href=e},getQueryString:function(a){void 0===a&&(a="");var b={},c=location.search.substring(1).split("&");for(var d in c){var e=c[d].split("=");if(e.length>1){if(a&&a===this.decodeURI(e[0]))return this.decodeURI(e[1]);b[this.decodeURI(e[0])]=this.decodeURI(e[1])}}return b},decodeURI:function(a){return decodeURIComponent(a.replace(/\+/g," "))}},c.Net.prototype.constructor=c.Net,c.TweenManager=function(a){this.game=a,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:c.Easing.Power0,Power1:c.Easing.Power1,Power2:c.Easing.Power2,Power3:c.Easing.Power3,Power4:c.Easing.Power4,Linear:c.Easing.Linear.None,Quad:c.Easing.Quadratic.Out,Cubic:c.Easing.Cubic.Out,Quart:c.Easing.Quartic.Out,Quint:c.Easing.Quintic.Out,Sine:c.Easing.Sinusoidal.Out,Expo:c.Easing.Exponential.Out,Circ:c.Easing.Circular.Out,Elastic:c.Easing.Elastic.Out,Back:c.Easing.Back.Out,Bounce:c.Easing.Bounce.Out,"Quad.easeIn":c.Easing.Quadratic.In,"Cubic.easeIn":c.Easing.Cubic.In,"Quart.easeIn":c.Easing.Quartic.In,"Quint.easeIn":c.Easing.Quintic.In,"Sine.easeIn":c.Easing.Sinusoidal.In,"Expo.easeIn":c.Easing.Exponential.In,"Circ.easeIn":c.Easing.Circular.In,"Elastic.easeIn":c.Easing.Elastic.In,"Back.easeIn":c.Easing.Back.In,"Bounce.easeIn":c.Easing.Bounce.In,"Quad.easeOut":c.Easing.Quadratic.Out,"Cubic.easeOut":c.Easing.Cubic.Out,"Quart.easeOut":c.Easing.Quartic.Out,"Quint.easeOut":c.Easing.Quintic.Out,"Sine.easeOut":c.Easing.Sinusoidal.Out,"Expo.easeOut":c.Easing.Exponential.Out,"Circ.easeOut":c.Easing.Circular.Out,"Elastic.easeOut":c.Easing.Elastic.Out,"Back.easeOut":c.Easing.Back.Out,"Bounce.easeOut":c.Easing.Bounce.Out,"Quad.easeInOut":c.Easing.Quadratic.InOut,"Cubic.easeInOut":c.Easing.Cubic.InOut,"Quart.easeInOut":c.Easing.Quartic.InOut,"Quint.easeInOut":c.Easing.Quintic.InOut,"Sine.easeInOut":c.Easing.Sinusoidal.InOut,"Expo.easeInOut":c.Easing.Exponential.InOut,"Circ.easeInOut":c.Easing.Circular.InOut,"Elastic.easeInOut":c.Easing.Elastic.InOut,"Back.easeInOut":c.Easing.Back.InOut,"Bounce.easeInOut":c.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},c.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var a=0;a0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(a){return this._tweens.some(function(b){return b.target===a})},_pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._pause()},_resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._resume()},pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].pause()},resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].resume(!0)}},c.TweenManager.prototype.constructor=c.TweenManager,c.Tween=function(a,b,d){this.game=b,this.target=a,this.manager=d,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new c.Signal,this.onLoop=new c.Signal,this.onRepeat=new c.Signal,this.onChildComplete=new c.Signal,this.onComplete=new c.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=d.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},c.Tween.prototype={to:function(a,b,d,e,f,g,h){return(void 0===b||b<=0)&&(b=1e3),void 0!==d&&null!==d||(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).to(a,b,d,f,g,h)),e&&this.start(),this)},from:function(a,b,d,e,f,g,h){return void 0===b&&(b=1e3),void 0!==d&&null!==d||(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).from(a,b,d,f,g,h)),e&&this.start(),this)},start:function(a){if(void 0===a&&(a=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(var b=0;bthis.timeline.length-1)&&(a=0),this.current=a,this.timeline[this.current].start(),this},stop:function(a){return void 0===a&&(a=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,a&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(a,b,c){if(0===this.timeline.length)return this;if(void 0===c&&(c=0),c===-1)for(var d=0;d0?arguments[a-1].chainedTween=arguments[a]:this.chainedTween=arguments[a];return this},loop:function(a){return void 0===a&&(a=!0),this.repeatCounter=a?-1:0,this},onUpdateCallback:function(a,b){return this._onUpdateCallback=a,this._onUpdateCallbackContext=b,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var a=0;a0?(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;c0?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]))}void 0!==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.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.RUNNING},generateData:function(a){this.parent.reverse?this.dt=this.duration:this.dt=0;var b=[],c=!1,d=1/a*1e3;do{this.parent.reverse?(this.dt-=d,this.dt=Math.max(this.dt,0)):(this.dt+=d,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var e={};for(var f in this.vEnd){var g=this.vStart[f],h=this.vEnd[f];Array.isArray(h)?e[f]=this.interpolationFunction(h,this.value):e[f]=g+(h-g)*this.value}b.push(e),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(c=!0)}while(!c);if(this.yoyo){var i=b.slice();i.reverse(),b=b.concat(i)}return b},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var a in this.vStartCache)this.vStart[a]=this.vStartCache[a],this.vEnd[a]=this.vEndCache[a];return this.inReverse=!1,c.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return c.TweenData.COMPLETE;if(this.inReverse)for(var a in this.vStartCache)this.vStart[a]=this.vEndCache[a],this.vEnd[a]=this.vStartCache[a];else{for(var a in this.vStartCache)this.vStart[a]=this.vStartCache[a],this.vEnd[a]=this.vEndCache[a];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,c.TweenData.LOOPED}},c.TweenData.prototype.constructor=c.TweenData,c.Easing={Linear:{None:function(a){return a}},Quadratic:{In:function(a){return a*a},Out:function(a){return a*(2-a)},InOut:function(a){return(a*=2)<1?.5*a*a:-.5*(--a*(a-2)-1)}},Cubic:{In:function(a){return a*a*a},Out:function(a){return--a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a:.5*((a-=2)*a*a+2)}},Quartic:{In:function(a){return a*a*a*a},Out:function(a){return 1- --a*a*a*a},InOut:function(a){return(a*=2)<1?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2)}},Quintic:{In:function(a){return a*a*a*a*a},Out:function(a){return--a*a*a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)}},Sinusoidal:{In:function(a){return 0===a?0:1===a?1:1-Math.cos(a*Math.PI/2)},Out:function(a){return 0===a?0:1===a?1:Math.sin(a*Math.PI/2)},InOut:function(a){return 0===a?0:1===a?1:.5*(1-Math.cos(Math.PI*a))}},Exponential:{In:function(a){return 0===a?0:Math.pow(1024,a-1)},Out:function(a){return 1===a?1:1-Math.pow(2,-10*a)},InOut:function(a){return 0===a?0:1===a?1:(a*=2)<1?.5*Math.pow(1024,a-1):.5*(2-Math.pow(2,-10*(a-1)))}},Circular:{In:function(a){return 1-Math.sqrt(1-a*a)},Out:function(a){return Math.sqrt(1- --a*a)},InOut:function(a){return(a*=2)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)}},Elastic:{In:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||c<1?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),-(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)))},Out:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||c<1?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),c*Math.pow(2,-10*a)*Math.sin((a-b)*(2*Math.PI)/d)+1)},InOut:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||c<1?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),(a*=2)<1?-.5*(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)):c*Math.pow(2,-10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)*.5+1)}},Back:{In:function(a){var b=1.70158;return a*a*((b+1)*a-b)},Out:function(a){var b=1.70158;return--a*a*((b+1)*a+b)+1},InOut:function(a){var b=2.5949095;return(a*=2)<1?a*a*((b+1)*a-b)*.5:.5*((a-=2)*a*((b+1)*a+b)+2)}},Bounce:{In:function(a){return 1-c.Easing.Bounce.Out(1-a)},Out:function(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},InOut:function(a){return a<.5?.5*c.Easing.Bounce.In(2*a):.5*c.Easing.Bounce.Out(2*a-1)+.5}}},c.Easing.Default=c.Easing.Linear.None,c.Easing.Power0=c.Easing.Linear.None,c.Easing.Power1=c.Easing.Quadratic.Out,c.Easing.Power2=c.Easing.Cubic.Out,c.Easing.Power3=c.Easing.Quartic.Out,c.Easing.Power4=c.Easing.Quintic.Out,c.Time=function(a){this.game=a,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new c.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},c.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(a){return this._timers.push(a),a},create:function(a){void 0===a&&(a=!0);var b=new c.Timer(this.game,a);return this._timers.push(b),b},removeAll:function(){for(var a=0;a=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var a=this._timers.length;a--;)this._timers[a]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var a=this._timers.length;a--;)this._timers[a]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(a){return this.time-a},elapsedSecondsSince:function(a){return.001*(this.time-a)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(c.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(a){this._desiredFps=a,this.physicsElapsed=1/a,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/a}}),c.Time.prototype.constructor=c.Time,c.Timer=function(a,b){void 0===b&&(b=!0),this.game=a,this.running=!1,this.autoDestroy=b,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new c.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},c.Timer.MINUTE=6e4,c.Timer.SECOND=1e3,c.Timer.HALF=500,c.Timer.QUARTER=250,c.Timer.prototype={create:function(a,b,d,e,f,g){a=Math.round(a);var h=a;h+=0===this._now?this.game.time.time:this._now;var i=new c.TimerEvent(this,a,h,d,b,e,f,g);return this.events.push(i),this.order(),this.expired=!1,i},add:function(a,b,c){return this.create(a,!1,0,b,c,Array.prototype.slice.call(arguments,3))},repeat:function(a,b,c,d){return this.create(a,!1,b,c,d,Array.prototype.slice.call(arguments,4))},loop:function(a,b,c){return this.create(a,!0,0,b,c,Array.prototype.slice.call(arguments,3))},start:function(a){if(!this.running){this._started=this.game.time.time+(a||0),this.running=!0;for(var b=0;b0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(a,b){return a.tickb.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(a){if(this.paused)return!0;if(this.elapsed=a-this._now,this._now=a,this.elapsed>this.timeCap&&this.adjustEvents(a-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=this.events[this._i].tick&&!this.events[this._i].pendingDelete;)this._newTick=this._now+this.events[this._i].delay-(this._now-this.events[this._i].tick),this._newTick<0&&(this._newTick=this._now+this.events[this._i].delay),this.events[this._i].loop===!0?(this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):this.events[this._i].repeatCount>0?(this.events[this._i].repeatCount--,this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):(this._marked++,this.events[this._i].pendingDelete=!0,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)),this._i++;this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(a){for(var b=0;bthis._now?this.nextTick-this._now:0}}),Object.defineProperty(c.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(c.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(c.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),c.Timer.prototype.constructor=c.Timer,c.TimerEvent=function(a,b,c,d,e,f,g,h){this.timer=a,this.delay=b,this.tick=c,this.repeatCount=d-1,this.loop=e,this.callback=f,this.callbackContext=g,this.args=h,this.pendingDelete=!1},c.TimerEvent.prototype.constructor=c.TimerEvent,c.AnimationManager=function(a){this.sprite=a,this.game=a.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},c.AnimationManager.prototype={loadFrameData:function(a,b){if(void 0===a)return!1;if(this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(a);return this._frameData=a,void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},copyFrameData:function(a,b){if(this._frameData=a.clone(),this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(this._frameData);return void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},add:function(a,b,d,e,f){return b=b||[],d=d||60,void 0===e&&(e=!1),void 0===f&&(f=!(!b||"number"!=typeof b[0])),this._outputFrames=[],this._frameData.getFrameIndexes(b,f,this._outputFrames),this._anims[a]=new c.Animation(this.game,this.sprite,a,this._frameData,this._outputFrames,d,e),this.currentAnim=this._anims[a],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[a]},validateFrames:function(a,b){void 0===b&&(b=!0);for(var c=0;cthis._frameData.total)return!1}else if(this._frameData.checkFrameName(a[c])===!1)return!1;return!0},play:function(a,b,c,d){if(this._anims[a])return this.currentAnim===this._anims[a]?this.currentAnim.isPlaying===!1?(this.currentAnim.paused=!1,this.currentAnim.play(b,c,d)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[a],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(b,c,d))},stop:function(a,b){void 0===b&&(b=!1),!this.currentAnim||"string"==typeof a&&a!==this.currentAnim.name||this.currentAnim.stop(b)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(a){this.currentAnim&&(this.currentAnim.next(a),this.currentFrame=this.currentAnim.currentFrame)},previous:function(a){this.currentAnim&&(this.currentAnim.previous(a),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(a){return"string"==typeof a&&this._anims[a]?this._anims[a]:null},refreshFrame:function(){},destroy:function(){var a=null;for(var a in this._anims)this._anims.hasOwnProperty(a)&&this._anims[a].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},c.AnimationManager.prototype.constructor=c.AnimationManager,Object.defineProperty(c.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(c.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(c.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(a){this.currentAnim.paused=a}}),Object.defineProperty(c.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(c.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(a){"number"==typeof a&&this._frameData&&null!==this._frameData.getFrame(a)&&(this.currentFrame=this._frameData.getFrame(a),this.currentFrame&&this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(c.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(a){"string"==typeof a&&this._frameData&&null!==this._frameData.getFrameByName(a)?(this.currentFrame=this._frameData.getFrameByName(a),this.currentFrame&&(this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame))):console.warn("Cannot set frameName: "+a)}}),c.Animation=function(a,b,d,e,f,g,h){void 0===h&&(h=!1),this.game=a,this._parent=b,this._frameData=e,this.name=d,this._frames=[],this._frames=this._frames.concat(f),this.delay=1e3/g,this.loop=h,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new c.Signal,this.onUpdate=null,this.onComplete=new c.Signal,this.onLoop=new c.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},c.Animation.prototype={play:function(a,b,c){return"number"==typeof a&&(this.delay=1e3/a),"boolean"==typeof b&&(this.loop=b),void 0!==c&&(this.killOnComplete=c),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(a,b){var c;if(void 0===b&&(b=!1),"string"==typeof a)for(var d=0;d=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(a,b){if(void 0===b&&(b=!1),!this._frameData)return!1;var c=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(b||!b&&c!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!a||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(a){void 0===a&&(a=1);var b=this._frameIndex+a;b>=this._frames.length&&(this.loop?b%=this._frames.length:b=this._frames.length-1),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},previous:function(a){void 0===a&&(a=1);var b=this._frameIndex-a;b<0&&(this.loop?b=this._frames.length+b:b++),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},updateFrameData:function(a){this._frameData=a,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},c.Animation.prototype.constructor=c.Animation,Object.defineProperty(c.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(a){this.isPaused=a,a?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(c.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(a){this.isReversed=a}}),Object.defineProperty(c.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(c.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(a){this.currentFrame=this._frameData.getFrame(this._frames[a]),null!==this.currentFrame&&(this._frameIndex=a,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(c.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(a){a>0&&(this.delay=1e3/a)}}),Object.defineProperty(c.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(a){a&&null===this.onUpdate?this.onUpdate=new c.Signal:a||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),c.Animation.generateFrameNames=function(a,b,d,e,f){void 0===e&&(e="");var g=[],h="";if(b=d;i--)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);return g},c.Frame=function(a,b,d,e,f,g){this.index=a,this.x=b,this.y=d,this.width=e,this.height=f,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=g,this.centerX=Math.floor(e/2),this.centerY=Math.floor(f/2),this.distance=c.Math.distance(0,0,e,f),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=e,this.sourceSizeH=f,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},c.Frame.prototype={resize:function(a,b){this.width=a,this.height=b,this.centerX=Math.floor(a/2),this.centerY=Math.floor(b/2),this.distance=c.Math.distance(0,0,a,b),this.sourceSizeW=a,this.sourceSizeH=b,this.right=this.x+a,this.bottom=this.y+b},setTrim:function(a,b,c,d,e,f,g){this.trimmed=a,a&&(this.sourceSizeW=b,this.sourceSizeH=c,this.centerX=Math.floor(b/2),this.centerY=Math.floor(c/2),this.spriteSourceSizeX=d,this.spriteSourceSizeY=e,this.spriteSourceSizeW=f,this.spriteSourceSizeH=g)},clone:function(){var a=new c.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var b in this)this.hasOwnProperty(b)&&(a[b]=this[b]);return a},getRect:function(a){return void 0===a?a=new c.Rectangle(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a}},c.Frame.prototype.constructor=c.Frame,c.FrameData=function(){this._frames=[],this._frameNames=[]},c.FrameData.prototype={addFrame:function(a){return a.index=this._frames.length,this._frames.push(a),""!==a.name&&(this._frameNames[a.name]=a.index),a},getFrame:function(a){return a>=this._frames.length&&(a=0),this._frames[a]},getFrameByName:function(a){return"number"==typeof this._frameNames[a]?this._frames[this._frameNames[a]]:null},checkFrameName:function(a){return null!=this._frameNames[a]},clone:function(){for(var a=new c.FrameData,b=0;bo||i<-o)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+i.toString()+" is larger than total sprite number "+o.toString()),null;if(i<0&&(i=o+i),f!==-1&&(o=i+f),0===k||0===l||kk&&(q=g,r+=e+h);return p},JSONData:function(a,b){if(!b.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(b);for(var d,e=new c.FrameData,f=b.frames,g=0;g 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-1},getAssetIndex:function(a,b){for(var c=-1,d=0;d-1&&{index:c,file:this._fileList[c]}},reset:function(a,b){void 0===b&&(b=!1),this.resetLocked||(a&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,b&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(a,b,c,d,e,f){if(void 0===e&&(e=!1),void 0===b||""===b)return console.warn("Phaser.Loader: Invalid or no key given of type "+a),this;if(void 0===c||null===c){if(!f)return console.warn("Phaser.Loader: No URL given for file type: "+a+" key: "+b),this;c=b+f}var g={type:a,key:b,path:this.path,url:c,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(d)for(var h in d)g[h]=d[h];var i=this.getAssetIndex(a,b);if(e&&i>-1){var j=this._fileList[i];j.loading||j.loaded?(this._fileList.push(g),this._totalFileCount++):this._fileList[i]=g}else i===-1&&(this._fileList.push(g),this._totalFileCount++);return this},replaceInFileList:function(a,b,c,d){return this.addToFileList(a,b,c,d,!0)},pack:function(a,b,c,d){if(void 0===b&&(b=null),void 0===c&&(c=null),void 0===d&&(d=null),!b&&!c)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var e={type:"packfile",key:a,url:b,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:d};c&&("string"==typeof c&&(c=JSON.parse(c)),e.data=c||{},e.loaded=!0);for(var f=0;f=e||d&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var f=this;setTimeout(function(){f.finishedLoading(!0)},2e3)}},finishedLoading:function(a){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,a||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(a,b){void 0===b&&(b=""),a.loaded=!0,a.error=!!b,b&&(a.errorMessage=b,console.warn("Phaser.Loader - "+a.type+"["+a.key+"]: "+b)),this.processLoadQueue()},processPack:function(a){var b=a.data[a.key];if(!b)return void console.warn("Phaser.Loader - "+a.key+": pack has data, but not for pack key");for(var d=0;d=400&&f.status<=599?e.call(g,a,f):d.call(g,a,f)}catch(b){g.hasLoaded?window.console&&console.error(b):g.asyncComplete(a,b.message||"Exception")}},f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.hasLoaded?window.console&&console.error(b):g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,f.send()},xhrLoadWithXDR:function(a,b,c,d,e){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var f=new window.XDomainRequest;f.open("GET",b,!0),f.responseType=c,f.timeout=3e3,e=e||this.fileError;var g=this;f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.ontimeout=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.onprogress=function(){},f.onload=function(){try{return 4===f.readyState&&f.status>=400&&f.status<=599?e.call(g,a,f):d.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,setTimeout(function(){f.send()},0)},getVideoURL:function(a){for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));if(c=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(c))return a[b]}}return null},getAudioURL:function(a){if(this.game.sound.noAudio)return null;for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));if(c=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(c))return a[b]}}return null},fileError:function(a,b,c){var d=a.requestUrl||this.transformUrl(a.url,a),e="error loading asset from URL "+d;!c&&b&&(c=b.status),c&&(e=e+" ("+c+")"),this.asyncComplete(a,e)},fileComplete:function(a,b){var d=!0;switch(a.type){case"packfile":var e=JSON.parse(b.responseText);a.data=e||{};break;case"texture":var f=/\.([^.]+)$/.exec(a.url.split("?",1)[0])[1].toLowerCase();null!==a.data?this.cache.addCompressedTextureMetaData(a.key,a.url,f,a.data):this.cache.addCompressedTextureMetaData(a.key,a.url,f,b.response);break;case"image":this.cache.addImage(a.key,a.url,a.data);break;case"spritesheet":this.cache.addSpriteSheet(a.key,a.url,a.data,a.frameWidth,a.frameHeight,a.frameMax,a.margin,a.spacing,a.skipFrames);break;case"textureatlas":if(null==a.atlasURL)this.cache.addTextureAtlas(a.key,a.url,a.data,a.atlasData,a.format);else if(d=!1,a.format===c.Loader.TEXTURE_ATLAS_JSON_ARRAY||a.format===c.Loader.TEXTURE_ATLAS_JSON_HASH||a.format===c.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.jsonLoadComplete);else{if(a.format!==c.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+a.format);this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.xmlLoadComplete)}break;case"bitmapfont":a.atlasURL?(d=!1,this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",function(a,b){var c;try{c=JSON.parse(b.responseText)}catch(a){}c?(a.atlasType="json",this.jsonLoadComplete(a,b)):(a.atlasType="xml",this.xmlLoadComplete(a,b))})):this.cache.addBitmapFont(a.key,a.url,a.data,a.atlasData,a.atlasType,a.xSpacing,a.ySpacing);break;case"video":if(a.asBlob)try{a.data=b.response}catch(b){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+a.key)}this.cache.addVideo(a.key,a.url,a.data,a.asBlob);break;case"audio":this.game.sound.usingWebAudio?(a.data=b.response,this.cache.addSound(a.key,a.url,a.data,!0,!1),a.autoDecode&&this.game.sound.decode(a.key)):this.cache.addSound(a.key,a.url,a.data,!1,!0);break;case"text":a.data=b.responseText,this.cache.addText(a.key,a.url,a.data);break;case"shader":a.data=b.responseText,this.cache.addShader(a.key,a.url,a.data);break;case"physics":var e=JSON.parse(b.responseText);this.cache.addPhysicsData(a.key,a.url,e,a.format);break;case"script":a.data=document.createElement("script"),a.data.language="javascript",a.data.type="text/javascript",a.data.defer=!1,a.data.text=b.responseText,document.head.appendChild(a.data),a.callback&&(a.data=a.callback.call(a.callbackContext,a.key,b.responseText));break;case"binary":a.callback?a.data=a.callback.call(a.callbackContext,a.key,b.response):a.data=b.response,this.cache.addBinary(a.key,a.data)}d&&this.asyncComplete(a)},jsonLoadComplete:function(a,b){var c=JSON.parse(b.responseText);"tilemap"===a.type?this.cache.addTilemap(a.key,a.url,c,a.format):"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,c,a.atlasType,a.xSpacing,a.ySpacing):"json"===a.type?this.cache.addJSON(a.key,a.url,c):this.cache.addTextureAtlas(a.key,a.url,a.data,c,a.format),this.asyncComplete(a)},csvLoadComplete:function(a,b){var c=b.responseText;this.cache.addTilemap(a.key,a.url,c,a.format),this.asyncComplete(a)},xmlLoadComplete:function(a,b){var c=b.responseText,d=this.parseXml(c);if(!d){var e=b.responseType||b.contentType;return console.warn("Phaser.Loader - "+a.key+": invalid XML ("+e+")"),void this.asyncComplete(a,"invalid XML")}"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,d,a.atlasType,a.xSpacing,a.ySpacing):"textureatlas"===a.type?this.cache.addTextureAtlas(a.key,a.url,a.data,d,a.format):"xml"===a.type&&this.cache.addXML(a.key,a.url,d),this.asyncComplete(a)},parseXml:function(a){var b;try{if(window.DOMParser){b=(new DOMParser).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,e,f){return this.xmlBitmapFont(a,b,c,d,e,f)},xmlBitmapFont:function(a,b,c,d,e,f){null==f&&(f=1);var g={},h=a.getElementsByTagName("info")[0],i=a.getElementsByTagName("common")[0];g.font=h.getAttribute("face"),g.size=parseInt(h.getAttribute("size"),10),g.lineHeight=parseInt(i.getAttribute("lineHeight"),10)+d,g.chars={};for(var j=a.getElementsByTagName("char"),k=e?e.x:0,l=e?e.y:0,m=0;m=0){switch(f>=0&&f<=3?b="PVRTC":f>=7&&f<=11?b="S3TC":6===f&&(b="ETC1"),f){case 0:g=35841;break;case 1:g=35843;break;case 2:g=35840;break;case 3:g=35842;break;case 6:g=36196;break;case 7:g=33777;break;case 9:g=33778;break;case 11:g=33779;break;default:g=-1}e={complete:!0,fileFormat:"PVR",compressionAlgorithm:b,flags:c[1],pixelFormat:f,colorSpace:c[4],channelType:c[5],height:c[6],width:c[7],depth:c[8],numberOfSurfaces:c[9],numberOfFaces:c[10],numberOfMipmaps:c[11],metaDataSize:c[12],textureData:d.subarray(52+c[12],d.byteLength),glExtensionFormat:g}}return e},dds:function(a){var b=new Uint8Array(a),c=new Uint32Array(a),d=null;return 68===b[0]&&68===b[1]&&83===b[2]&&32===b[3]&&(d={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:c[1],flags:c[2],height:c[3],width:c[4],pitch:c[5],depth:c[6],mipmapCount:c[7],formatSize:c[19],formatFlag:c[19],formatFourCC:[String.fromCharCode(b[84]),String.fromCharCode(b[85]),String.fromCharCode(b[86]),String.fromCharCode(b[87])].join(""),formatBitCount:c[21],formatRBitMask:c[22],formatGBitMask:c[23],formatBBitMask:c[24],formatABitMask:c[25],caps1:c[26],caps2:c[27],caps3:c[28],caps4:c[29],reserved2:c[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:b.subarray(c[1]+4,b.byteLength)},"DX10"===d.formatFourCC&&(d.DXGIFormat=c[31],d.resourceDimension=c[32],d.miscFlag=c[33],d.arraySize=c[34],d.miscFlag=c[35])),d},ktx:function(a){var b=new Uint8Array(a),c=new Uint32Array(a),d=null,e=16+c[15]/4|0,f=c[e],g=c[7],h=0;if(171===b[0]&&75===b[1]&&84===b[2]&&88===b[3]&&32===b[4]&&49===b[5]&&49===b[6]&&187===b[7]&&13===b[8]&&10===b[9]&&26===b[10]&&10===b[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(g)>=0){switch(g){case 36196:h="ETC1";break;case 35840:case 35841:case 35842:case 35843:h="PVRTC";break;case 33776:case 33777:case 33778:case 33779:h="S3TC"}d={complete:!0,fileFormat:"KTX",compressionAlgorithm:h,endianness:c[3],glType:c[4],glTypeSize:c[5],glFormat:c[6],glInternalFormat:c[7],glBaseInternalFormat:c[8],width:c[9],height:c[10],pixelDepth:c[11],numberOfArrayElements:c[12],numberOfFaces:c[13],numberOfMipmapLevels:c[14],bytesOfKeyValueData:c[15],keyAndValueByteSize:c[16],imageSize:f,textureData:b.subarray(4*(e+1),f+100)}}return d},pkm:function(a){var b=new Uint8Array(a),c=null;return 80===b[0]&&75===b[1]&&77===b[2]&&32===b[3]&&(c={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(b[6]<<8|b[7]),width:65535&(b[8]<<8|b[9]),height:65535&(b[10]<<8|b[11]),originalWidth:65535&(b[12]<<8|b[13]),originalHeight:65535&(b[14]<<8|b[15]),textureData:b.subarray(16,b.length)}),c}},c.AudioSprite=function(a,b){this.game=a,this.key=b,this.config=this.game.cache.getJSON(b+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var c in this.config.spritemap){var d=this.config.spritemap[c],e=this.game.add.sound(this.key);e.addMarker(c,d.start,d.end-d.start,null,d.loop),this.sounds[c]=e}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},c.AudioSprite.prototype={play:function(a,b){return void 0===b&&(b=1),this.sounds[a].play(a,null,b)},stop:function(a){if(a)this.sounds[a].stop();else for(var b in this.sounds)this.sounds[b].stop()},get:function(a){return this.sounds[a]}},c.AudioSprite.prototype.constructor=c.AudioSprite,c.Sound=function(a,b,d,e,f){void 0===d&&(d=1),void 0===e&&(e=!1),void 0===f&&(f=a.sound.connectToMaster),this.game=a,this.name=b,this.key=b,this.loop=e,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=d*this.game.sound.volume,f&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(b)&&this.game.cache.isSoundReady(b)?(this._sound=this.game.cache.getSoundData(b),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new c.Signal,this.onPlay=new c.Signal,this.onPause=new c.Signal,this.onResume=new c.Signal,this.onLoop=new c.Signal,this.onStop=new c.Signal,this.onMute=new c.Signal,this.onMarkerComplete=new c.Signal,this.onFadeComplete=new c.Signal,this._volume=d,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},c.Sound.prototype={soundHasUnlocked:function(a){a===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(a,b,c,d,e){void 0!==c&&null!==c||(c=1),void 0!==d&&null!==d||(d=1),void 0===e&&(e=!1),this.markers[a]={name:a,start:b,stop:b+c,volume:d,duration:c,durationMS:1e3*c,loop:e}},removeMarker:function(a){delete this.markers[a]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){if(!this.game.cache.checkSoundKey(this.key))return void this.destroy();this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))},loopFull:function(a){return this.play(null,0,a,!0)},play:function(a,b,c,d,e){if(void 0!==a&&a!==!1&&null!==a||(a=""),void 0===e&&(e=!0),this.isPlaying&&!this.allowMultiple&&!e&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||e)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(a){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===a&&Object.keys(this.markers).length>0)return this;if(""!==a){if(!this.markers[a])return console.warn("Phaser.Sound.play: audio marker "+a+" doesn't exist"),this;this.currentMarker=a,this.position=this.markers[a].start,this.volume=this.markers[a].volume,this.loop=this.markers[a].loop,this.duration=this.markers[a].duration,this.durationMS=this.markers[a].durationMS,void 0!==c&&(this.volume=c),void 0!==d&&(this.loop=d),this._tempMarker=a,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else b=b||0,void 0===c&&(c=this._volume),void 0===d&&(d=this.loop),this.position=Math.max(0,b),this.volume=c,this.loop=d,this.duration=0,this.durationMS=0,this._tempMarker=a,this._tempPosition=b,this._tempVolume=c,this._tempLoop=d;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===a&&(this._sound.loop=!0),this.loop||""!==a||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===a?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).isDecoding===!1&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(a,b,c,d){a=a||"",b=b||0,c=c||1,void 0===d&&(d=!1),this.play(a,b,c,d,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var a=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var b=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,a,b):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,a):this._sound.start(0,a,b)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(a){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var a=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,a)}},fadeIn:function(a,b,c){void 0===b&&(b=!1),void 0===c&&(c=this.currentMarker),this.paused||(this.play(c,0,0,b),this.fadeTo(a,1))},fadeOut:function(a){this.fadeTo(a,0)},fadeTo:function(a,b){if(this.isPlaying&&!this.paused&&b!==this.volume){if(void 0===a&&(a=1e3),void 0===b)return void console.warn("Phaser.Sound.fadeTo: No Volume Specified.");this.fadeTween=this.game.add.tween(this).to({volume:b},a,c.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)}},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(a){this.usingAudioTag&&this._sound&&(this._sound.volume=a*this._volume)},destroy:function(a){void 0===a&&(a=!0),this._markedToDelete=!0,this._removeFromSoundManager=a,this.stop(),a?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},c.Sound.prototype.constructor=c.Sound,Object.defineProperty(c.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(c.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(c.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(a){(a=a||!1)!==this._muted&&(a?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(c.Sound.prototype,"volume",{get:function(){return this._volume},set:function(a){if(this.usingAudioTag&&(a=this.game.math.clamp(a,0,1)),this._muted)return void(this._muteVolume=a);this._tempVolume=a,this._volume=a,this.usingWebAudio?this.gainNode.gain.value=a:this.usingAudioTag&&this._sound&&(this._sound.volume=a)}}),c.SoundManager=function(a){this.game=a,this.onSoundDecode=new c.Signal,this.onVolumeChange=new c.Signal,this.onMute=new c.Signal,this.onUnMute=new c.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new c.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},c.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&this.game.device.webAudio===!1&&(this.channels=1),window.PhaserGlobal){if(window.PhaserGlobal.disableAudio===!0)return this.noAudio=!0,void(this.touchLocked=!1);if(window.PhaserGlobal.disableWebAudio===!0)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||(!this.game.device.cocoonJS&&this.game.device.iOS||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&window.PhaserGlobal.disableAudio===!0||(this.game.device.iOSVersion>8?this.game.input.touch.addTouchLockCallback(this.unlock,this,!0):this.game.input.touch.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var a=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=a,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0)}return!0},stopAll:function(){if(!this.noAudio)for(var a=0;a1&&(a=1),this._volume!==a){if(this._volume=a,this.usingWebAudio)this.masterGain.gain.value=a;else for(var b=0;b=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._updateThrottleb;return i=i?d:!d,i?(a.width=Math.floor(e),a.height=Math.floor(f)):(a.width=Math.floor(g),a.height=Math.floor(h)),a},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},c.ScaleManager.prototype.constructor=c.ScaleManager,Object.defineProperty(c.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(c.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(a){return a!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=a),this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(a){return a!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=a,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=a),this._fullScreenScaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(a){a!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(a){a!==this._pageAlignVertically&&(this._pageAlignVertically=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(c.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(c.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),c.Utils.Debug=function(a){this.game=a,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1},c.Utils.Debug.prototype={boot:function(){this.game.renderType===c.CANVAS?this.context=this.game.context:(this.bmd=new c.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=c.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d"))},resize:function(a,b,c){this.bmd.resize(b,c),this.canvas.width=b,this.canvas.height=c},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(a,b,c,d){"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),c=c||"rgb(255,255,255)",void 0===d&&(d=0),this.currentX=a,this.currentY=b,this.currentColor=c,this.columnWidth=d,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=c,this.context.fillStyle=c,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var a=this.currentX,b=0;b0)for(var b=0;b=0&&c.right>=0&&c.top<=this.layoutBounds.width&&c.left<=this.layoutBounds.height},getScreenOrientation:function(a){var b=window.screen,c=b.orientation||b.mozOrientation||b.msOrientation;if(c&&"string"==typeof c.type)return c.type;if("string"==typeof c)return c;var d="portrait-primary",e="landscape-primary";if("screen"===a)return b.height>b.width?d:e;if("viewport"===a)return this.visualBounds.height>this.visualBounds.width?d:e;if("window.orientation"===a&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?d:e;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return d;if(window.matchMedia("(orientation: landscape)").matches)return e}return this.visualBounds.height>this.visualBounds.width?d:e},visualBounds:new c.Rectangle,layoutBounds:new c.Rectangle,documentBounds:new c.Rectangle},c.Device.whenReady(function(a){var b=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},d=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(c.DOM,"scrollX",{get:b}),Object.defineProperty(c.DOM,"scrollY",{get:d}),Object.defineProperty(c.DOM.visualBounds,"x",{get:b}),Object.defineProperty(c.DOM.visualBounds,"y",{get:d}),Object.defineProperty(c.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(c.DOM.layoutBounds,"y",{value:0}),a.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var e=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},f=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(c.DOM.visualBounds,"width",{get:e}),Object.defineProperty(c.DOM.visualBounds,"height",{get:f}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:e}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:f})}else Object.defineProperty(c.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(c.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:function(){var a=document.documentElement.clientWidth,b=window.innerWidth;return a-1},reset:function(){this.list.length=0},remove:function(a){var b=this.list.indexOf(a);if(b>-1)return this.list.splice(b,1),a},setAll:function(a,b){for(var c=this.list.length;c--;)this.list[c]&&(this.list[c][a]=b)},callAll:function(a){for(var b=Array.prototype.slice.call(arguments,1),c=this.list.length;c--;)this.list[c]&&this.list[c][a]&&this.list[c][a].apply(this.list[c],b)},removeAll:function(a){void 0===a&&(a=!1);for(var b=this.list.length;b--;)if(this.list[b]){var c=this.remove(this.list[b]);a&&c.destroy()}this.position=0,this.list=[]}},Object.defineProperty(c.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(c.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(c.ArraySet.prototype,"next",{get:function(){return this.position0;b--){var c=Math.floor(Math.random()*(b+1)),d=a[b];a[b]=a[c],a[c]=d}return a},transposeMatrix:function(a){for(var b=a.length,c=a[0].length,d=new Array(c),e=0;e-1;f--)d[e][f]=a[f][e]}return d},rotateMatrix:function(a,b){if("string"!=typeof b&&(b=(b%360+360)%360),90===b||b===-270||"rotateLeft"===b)a=c.ArrayUtils.transposeMatrix(a),a=a.reverse();else if(b===-90||270===b||"rotateRight"===b)a=a.reverse(),a=c.ArrayUtils.transposeMatrix(a);else if(180===Math.abs(b)||"rotate180"===b){for(var d=0;d>>0:(a<<24|b<<16|d<<8|e)>>>0},unpackPixel:function(a,b,d,e){return void 0!==b&&null!==b||(b=c.Color.createColor()),void 0!==d&&null!==d||(d=!1),void 0!==e&&null!==e||(e=!1),c.Device.LITTLE_ENDIAN?(b.a=(4278190080&a)>>>24,b.b=(16711680&a)>>>16,b.g=(65280&a)>>>8,b.r=255&a):(b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a),b.color=a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a/255+")",d&&c.Color.RGBtoHSL(b.r,b.g,b.b,b),e&&c.Color.RGBtoHSV(b.r,b.g,b.b,b),b},fromRGBA:function(a,b){return b||(b=c.Color.createColor()),b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a+")",b},toRGBA:function(a,b,c,d){return a<<24|b<<16|c<<8|d},toABGR:function(a,b,c,d){return(d<<24|c<<16|b<<8|a)>>>0},hexToRGBArray:function(a){return[(a>>16&255)/255,(a>>8&255)/255,(255&a)/255]},RGBArrayToHex:function(a){return(255*a[0]<<16)+(255*a[1]<<8)+255*a[2]},RGBtoHSL:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,1)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d);if(e.h=0,e.s=0,e.l=(g+f)/2,g!==f){var h=g-f;e.s=e.l>.5?h/(2-g-f):h/(g+f),g===a?e.h=(b-d)/h+(b1&&(c-=1),c<1/6?a+6*(b-a)*c:c<.5?b:c<2/3?a+(b-a)*(2/3-c)*6:a},createColor:function(a,b,d,e,f,g,h,i){var j={r:a||0,g:b||0,b:d||0,a:e||1,h:f||0,s:g||0,l:h||0,v:i||0,color:0,color32:0,rgba:""};return c.Color.updateColor(j)},updateColor:function(a){return a.rgba="rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+a.a.toString()+")",a.color=c.Color.getColor(a.r,a.g,a.b),a.color32=c.Color.getColor32(255*a.a,a.r,a.g,a.b),a},getColor32:function(a,b,c,d){return a<<24|b<<16|c<<8|d},getColor:function(a,b,c){return a<<16|b<<8|c},RGBtoString:function(a,b,d,e,f){return void 0===e&&(e=255),void 0===f&&(f="#"),"#"===f?"#"+((1<<24)+(a<<16)+(b<<8)+d).toString(16).slice(1):"0x"+c.Color.componentToHex(e)+c.Color.componentToHex(a)+c.Color.componentToHex(b)+c.Color.componentToHex(d)},hexToRGB:function(a){var b=c.Color.hexToColor(a);if(b)return c.Color.getColor32(b.a,b.r,b.g,b.b)},hexToColor:function(a,b){a=a.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,b,c,d){return b+b+c+c+d+d});var d=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);if(d){var e=parseInt(d[1],16),f=parseInt(d[2],16),g=parseInt(d[3],16);b?(b.r=e,b.g=f,b.b=g):b=c.Color.createColor(e,f,g)}return b},webToColor:function(a,b){b||(b=c.Color.createColor());var d=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(a);return d&&(b.r=parseInt(d[1],10),b.g=parseInt(d[2],10),b.b=parseInt(d[3],10),b.a=void 0!==d[4]?parseFloat(d[4]):1,c.Color.updateColor(b)),b},valueToColor:function(a,b){if(b||(b=c.Color.createColor()),"string"==typeof a)return 0===a.indexOf("rgb")?c.Color.webToColor(a,b):(b.a=1,c.Color.hexToColor(a,b));if("number"==typeof a){var d=c.Color.getRGB(a);return b.r=d.r,b.g=d.g,b.b=d.b,b.a=d.a/255,b}return b},componentToHex:function(a){var b=a.toString(16);return 1===b.length?"0"+b:b},HSVColorWheel:function(a,b){void 0===a&&(a=1),void 0===b&&(b=1);for(var d=[],e=0;e<=359;e++)d.push(c.Color.HSVtoRGB(e/359,a,b));return d},HSLColorWheel:function(a,b){void 0===a&&(a=.5),void 0===b&&(b=.5);for(var d=[],e=0;e<=359;e++)d.push(c.Color.HSLtoRGB(e/359,a,b));return d},interpolateColor:function(a,b,d,e,f){void 0===f&&(f=255);var g=c.Color.getRGB(a),h=c.Color.getRGB(b),i=(h.red-g.red)*e/d+g.red,j=(h.green-g.green)*e/d+g.green,k=(h.blue-g.blue)*e/d+g.blue;return c.Color.getColor32(f,i,j,k)},interpolateColorWithRGB:function(a,b,d,e,f,g){var h=c.Color.getRGB(a),i=(b-h.red)*g/f+h.red,j=(d-h.green)*g/f+h.green,k=(e-h.blue)*g/f+h.blue;return c.Color.getColor(i,j,k)},interpolateRGB:function(a,b,d,e,f,g,h,i){var j=(e-a)*i/h+a,k=(f-b)*i/h+b,l=(g-d)*i/h+d;return c.Color.getColor(j,k,l)},getRandomColor:function(a,b,d){if(void 0===a&&(a=0),void 0===b&&(b=255),void 0===d&&(d=255),b>255||a>b)return c.Color.getColor(255,255,255);var e=a+Math.round(Math.random()*(b-a)),f=a+Math.round(Math.random()*(b-a)),g=a+Math.round(Math.random()*(b-a));return c.Color.getColor32(d,e,f,g)},getRGB:function(a){return a>16777215?{alpha:a>>>24,red:a>>16&255,green:a>>8&255,blue:255&a,a:a>>>24,r:a>>16&255,g:a>>8&255,b:255&a}:{alpha:255,red:a>>16&255,green:a>>8&255,blue:255&a,a:255,r:a>>16&255,g:a>>8&255,b:255&a}},getWebRGB:function(a){if("object"==typeof a)return"rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+(a.a/255).toString()+")";var b=c.Color.getRGB(a);return"rgba("+b.r.toString()+","+b.g.toString()+","+b.b.toString()+","+(b.a/255).toString()+")"},getAlpha:function(a){return a>>>24},getAlphaFloat:function(a){return(a>>>24)/255},getRed:function(a){return a>>16&255},getGreen:function(a){return a>>8&255},getBlue:function(a){return 255&a},blendNormal:function(a){return a},blendLighten:function(a,b){return b>a?b:a},blendDarken:function(a,b){return b>a?a:b},blendMultiply:function(a,b){return a*b/255},blendAverage:function(a,b){return(a+b)/2},blendAdd:function(a,b){return Math.min(255,a+b)},blendSubtract:function(a,b){return Math.max(0,a+b-255)},blendDifference:function(a,b){return Math.abs(a-b)},blendNegation:function(a,b){return 255-Math.abs(255-a-b)},blendScreen:function(a,b){return 255-((255-a)*(255-b)>>8)},blendExclusion:function(a,b){return a+b-2*a*b/255},blendOverlay:function(a,b){return b<128?2*a*b/255:255-2*(255-a)*(255-b)/255},blendSoftLight:function(a,b){return b<128?2*(64+(a>>1))*(b/255):255-2*(255-(64+(a>>1)))*(255-b)/255},blendHardLight:function(a,b){return c.Color.blendOverlay(b,a)},blendColorDodge:function(a,b){return 255===b?b:Math.min(255,(a<<8)/(255-b))},blendColorBurn:function(a,b){return 0===b?b:Math.max(0,255-(255-a<<8)/b)},blendLinearDodge:function(a,b){return c.Color.blendAdd(a,b)},blendLinearBurn:function(a,b){return c.Color.blendSubtract(a,b)},blendLinearLight:function(a,b){return b<128?c.Color.blendLinearBurn(a,2*b):c.Color.blendLinearDodge(a,2*(b-128))},blendVividLight:function(a,b){return b<128?c.Color.blendColorBurn(a,2*b):c.Color.blendColorDodge(a,2*(b-128))},blendPinLight:function(a,b){return b<128?c.Color.blendDarken(a,2*b):c.Color.blendLighten(a,2*(b-128))},blendHardMix:function(a,b){return c.Color.blendVividLight(a,b)<128?0:255},blendReflect:function(a,b){return 255===b?b:Math.min(255,a*a/(255-b))},blendGlow:function(a,b){return c.Color.blendReflect(b,a)},blendPhoenix:function(a,b){return Math.min(a,b)-Math.max(a,b)+255}},c.Physics=function(a,b){b=b||{},this.game=a,this.config=b,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},c.Physics.ARCADE=0,c.Physics.P2JS=1,c.Physics.NINJA=2,c.Physics.BOX2D=3,c.Physics.CHIPMUNK=4,c.Physics.MATTERJS=5,c.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&this.config.arcade!==!0||!c.Physics.hasOwnProperty("Arcade")||(this.arcade=new c.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&this.config.ninja===!0&&c.Physics.hasOwnProperty("Ninja")&&(this.ninja=new c.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&this.config.p2===!0&&c.Physics.hasOwnProperty("P2")&&(this.p2=new c.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&this.config.box2d===!0&&c.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new c.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&this.config.matter===!0&&c.Physics.hasOwnProperty("Matter")&&(this.matter=new c.Physics.Matter(this.game,this.config))},startSystem:function(a){a===c.Physics.ARCADE?this.arcade=new c.Physics.Arcade(this.game):a===c.Physics.P2JS?null===this.p2?this.p2=new c.Physics.P2(this.game,this.config):this.p2.reset():a===c.Physics.NINJA?this.ninja=new c.Physics.Ninja(this.game):a===c.Physics.BOX2D?null===this.box2d?this.box2d=new c.Physics.Box2D(this.game,this.config):this.box2d.reset():a===c.Physics.MATTERJS&&(null===this.matter?this.matter=new c.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(a,b,d){void 0===b&&(b=c.Physics.ARCADE),void 0===d&&(d=!1),b===c.Physics.ARCADE?this.arcade.enable(a):b===c.Physics.P2JS&&this.p2?this.p2.enable(a,d):b===c.Physics.NINJA&&this.ninja?this.ninja.enableAABB(a):b===c.Physics.BOX2D&&this.box2d?this.box2d.enable(a):b===c.Physics.MATTERJS&&this.matter?this.matter.enable(a):console.warn(a.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},c.Physics.prototype.constructor=c.Physics,c.Physics.Arcade=function(a){this.game=a,this.gravity=new c.Point,this.bounds=new c.Rectangle(0,0,a.world.width,a.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=c.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new c.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},c.Physics.Arcade.prototype.constructor=c.Physics.Arcade,c.Physics.Arcade.SORT_NONE=0,c.Physics.Arcade.LEFT_RIGHT=1,c.Physics.Arcade.RIGHT_LEFT=2,c.Physics.Arcade.TOP_BOTTOM=3,c.Physics.Arcade.BOTTOM_TOP=4,c.Physics.Arcade.prototype={setBounds:function(a,b,c,d){this.bounds.setTo(a,b,c,d)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(a,b){void 0===b&&(b=!0);var d=1;if(Array.isArray(a))for(d=a.length;d--;)a[d]instanceof c.Group?this.enable(a[d].children,b):(this.enableBody(a[d]),b&&a[d].hasOwnProperty("children")&&a[d].children.length>0&&this.enable(a[d],!0));else a instanceof c.Group?this.enable(a.children,b):(this.enableBody(a),b&&a.hasOwnProperty("children")&&a.children.length>0&&this.enable(a.children,!0))},enableBody:function(a){a.hasOwnProperty("body")&&null===a.body&&(a.body=new c.Physics.Arcade.Body(a),a.parent&&a.parent instanceof c.Group&&a.parent.addToHash(a))},updateMotion:function(a){var b=this.computeVelocity(0,a,a.angularVelocity,a.angularAcceleration,a.angularDrag,a.maxAngular)-a.angularVelocity;a.angularVelocity+=b,a.rotation+=a.angularVelocity*this.game.time.physicsElapsed,a.velocity.x=this.computeVelocity(1,a,a.velocity.x,a.acceleration.x,a.drag.x,a.maxVelocity.x),a.velocity.y=this.computeVelocity(2,a,a.velocity.y,a.acceleration.y,a.drag.y,a.maxVelocity.y)},computeVelocity:function(a,b,c,d,e,f){return void 0===f&&(f=1e4),1===a&&b.allowGravity?c+=(this.gravity.x+b.gravity.x)*this.game.time.physicsElapsed:2===a&&b.allowGravity&&(c+=(this.gravity.y+b.gravity.y)*this.game.time.physicsElapsed),d?c+=d*this.game.time.physicsElapsed:e&&(e*=this.game.time.physicsElapsed,c-e>0?c-=e:c+e<0?c+=e:c=0),c>f?c=f:c<-f&&(c=-f),c},overlap:function(a,b,c,d,e){if(c=c||null,d=d||null,e=e||c,this._total=0,!Array.isArray(a)&&Array.isArray(b))for(var f=0;f0},collide:function(a,b,c,d,e){if(c=c||null,d=d||null,e=e||c,this._total=0,!Array.isArray(a)&&Array.isArray(b))for(var f=0;f0},sortLeftRight:function(a,b){return a.body&&b.body?a.body.x-b.body.x:0},sortRightLeft:function(a,b){return a.body&&b.body?b.body.x-a.body.x:0},sortTopBottom:function(a,b){return a.body&&b.body?a.body.y-b.body.y:0},sortBottomTop:function(a,b){return a.body&&b.body?b.body.y-a.body.y:0},sort:function(a,b){null!==a.physicsSortDirection?b=a.physicsSortDirection:void 0===b&&(b=this.sortDirection),b===c.Physics.Arcade.LEFT_RIGHT?a.hash.sort(this.sortLeftRight):b===c.Physics.Arcade.RIGHT_LEFT?a.hash.sort(this.sortRightLeft):b===c.Physics.Arcade.TOP_BOTTOM?a.hash.sort(this.sortTopBottom):b===c.Physics.Arcade.BOTTOM_TOP&&a.hash.sort(this.sortBottomTop)},collideHandler:function(a,b,d,e,f,g){if(void 0===b&&a.physicsType===c.GROUP)return this.sort(a),void this.collideGroupVsSelf(a,d,e,f,g);a&&b&&a.exists&&b.exists&&(this.sortDirection!==c.Physics.Arcade.SORT_NONE&&(a.physicsType===c.GROUP&&this.sort(a),b.physicsType===c.GROUP&&this.sort(b)),a.physicsType===c.SPRITE?b.physicsType===c.SPRITE?this.collideSpriteVsSprite(a,b,d,e,f,g):b.physicsType===c.GROUP?this.collideSpriteVsGroup(a,b,d,e,f,g):b.physicsType===c.TILEMAPLAYER&&this.collideSpriteVsTilemapLayer(a,b,d,e,f,g):a.physicsType===c.GROUP?b.physicsType===c.SPRITE?this.collideSpriteVsGroup(b,a,d,e,f,g):b.physicsType===c.GROUP?this.collideGroupVsGroup(a,b,d,e,f,g):b.physicsType===c.TILEMAPLAYER&&this.collideGroupVsTilemapLayer(a,b,d,e,f,g):a.physicsType===c.TILEMAPLAYER&&(b.physicsType===c.SPRITE?this.collideSpriteVsTilemapLayer(b,a,d,e,f,g):b.physicsType===c.GROUP&&this.collideGroupVsTilemapLayer(b,a,d,e,f,g)))},collideSpriteVsSprite:function(a,b,c,d,e,f){return!(!a.body||!b.body)&&(this.separate(a.body,b.body,d,e,f)&&(c&&c.call(e,a,b),this._total++),!0)},collideSpriteVsGroup:function(a,b,d,e,f,g){if(0!==b.length&&a.body)if(this.skipQuadTree||a.body.skipQuadTree)for(var h={},i=0;ih.right)break;if(h.x>a.body.right)continue}else if(this.sortDirection===c.Physics.Arcade.TOP_BOTTOM){if(a.body.bottomh.bottom)break;if(h.y>a.body.bottom)continue}this.collideSpriteVsSprite(a,j,d,e,f,g)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(b);for(var k=this.quadTree.retrieve(a),i=0;ik.right)continue;if(k.x>h.right)break}else if(this.sortDirection===c.Physics.Arcade.TOP_BOTTOM){if(h.bottomk.bottom)continue;if(k.y>i.body.bottom)break}this.collideSpriteVsSprite(i,l,b,d,e,f)}}}}},collideGroupVsGroup:function(a,b,d,e,f,g){if(0!==a.length&&0!==b.length)for(var h=0;hh.bottom)&&(i.xh.right))return this.separateCircle(a,b,e)}var j=!1,k=!1;this.forceX||Math.abs(this.gravity.y+a.gravity.y)=b.right)&&!(a.position.y>=b.bottom))))},circleBodyIntersects:function(a,b){var d=c.Math.clamp(a.center.x,b.left,b.right),e=c.Math.clamp(a.center.y,b.top,b.bottom);return(a.center.x-d)*(a.center.x-d)+(a.center.y-e)*(a.center.y-e)<=a.radius*a.radius},separateCircle:function(a,b,d){this.getOverlapX(a,b),this.getOverlapY(a,b);var e=b.center.x-a.center.x,f=b.center.y-a.center.y,g=Math.atan2(f,e),h=0;if(a.isCircle!==b.isCircle){var i={x:b.isCircle?a.position.x:b.position.x,y:b.isCircle?a.position.y:b.position.y,right:b.isCircle?a.right:b.right,bottom:b.isCircle?a.bottom:b.bottom},j={x:a.isCircle?a.position.x+a.radius:b.position.x+b.radius,y:a.isCircle?a.position.y+a.radius:b.position.y+b.radius,radius:a.isCircle?a.radius:b.radius};j.yi.right&&(h=c.Math.distance(j.x,j.y,i.right,i.y)-j.radius):j.y>i.bottom&&(j.xi.right&&(h=c.Math.distance(j.x,j.y,i.right,i.bottom)-j.radius)),h*=-1}else h=a.radius+b.radius-c.Math.distance(a.center.x,a.center.y,b.center.x,b.center.y);if(d||0===h||a.immovable&&b.immovable||a.customSeparateX||b.customSeparateX)return 0!==h&&(a.onOverlap&&a.onOverlap.dispatch(a.sprite,b.sprite),b.onOverlap&&b.onOverlap.dispatch(b.sprite,a.sprite)),0!==h;var k={x:a.velocity.x*Math.cos(g)+a.velocity.y*Math.sin(g),y:a.velocity.x*Math.sin(g)-a.velocity.y*Math.cos(g)},l={x:b.velocity.x*Math.cos(g)+b.velocity.y*Math.sin(g),y:b.velocity.x*Math.sin(g)-b.velocity.y*Math.cos(g)},m=((a.mass-b.mass)*k.x+2*b.mass*l.x)/(a.mass+b.mass),n=(2*a.mass*k.x+(b.mass-a.mass)*l.x)/(a.mass+b.mass);return a.immovable||(a.velocity.x=(m*Math.cos(g)-k.y*Math.sin(g))*a.bounce.x,a.velocity.y=(k.y*Math.cos(g)+m*Math.sin(g))*a.bounce.y),b.immovable||(b.velocity.x=(n*Math.cos(g)-l.y*Math.sin(g))*b.bounce.x,b.velocity.y=(l.y*Math.cos(g)+n*Math.sin(g))*b.bounce.y),Math.abs(g)0&&!a.immovable&&b.velocity.x>a.velocity.x?a.velocity.x*=-1:b.velocity.x<0&&!b.immovable&&a.velocity.x0&&!a.immovable&&b.velocity.y>a.velocity.y?a.velocity.y*=-1:b.velocity.y<0&&!b.immovable&&a.velocity.yMath.PI/2&&(a.velocity.x<0&&!a.immovable&&b.velocity.x0&&!b.immovable&&a.velocity.x>b.velocity.x?b.velocity.x*=-1:a.velocity.y<0&&!a.immovable&&b.velocity.y0&&!b.immovable&&a.velocity.x>b.velocity.y&&(b.velocity.y*=-1)),a.immovable||(a.x+=a.velocity.x*this.game.time.physicsElapsed-h*Math.cos(g),a.y+=a.velocity.y*this.game.time.physicsElapsed-h*Math.sin(g)),b.immovable||(b.x+=b.velocity.x*this.game.time.physicsElapsed+h*Math.cos(g),b.y+=b.velocity.y*this.game.time.physicsElapsed+h*Math.sin(g)),a.onCollide&&a.onCollide.dispatch(a.sprite,b.sprite),b.onCollide&&b.onCollide.dispatch(b.sprite,a.sprite),!0},getOverlapX:function(a,b,c){var d=0,e=a.deltaAbsX()+b.deltaAbsX()+this.OVERLAP_BIAS;return 0===a.deltaX()&&0===b.deltaX()?(a.embedded=!0,b.embedded=!0):a.deltaX()>b.deltaX()?(d=a.right-b.x,d>e&&!c||a.checkCollision.right===!1||b.checkCollision.left===!1?d=0:(a.touching.none=!1,a.touching.right=!0,b.touching.none=!1,b.touching.left=!0)):a.deltaX()e&&!c||a.checkCollision.left===!1||b.checkCollision.right===!1?d=0:(a.touching.none=!1,a.touching.left=!0,b.touching.none=!1,b.touching.right=!0)),a.overlapX=d,b.overlapX=d,d},getOverlapY:function(a,b,c){var d=0,e=a.deltaAbsY()+b.deltaAbsY()+this.OVERLAP_BIAS;return 0===a.deltaY()&&0===b.deltaY()?(a.embedded=!0,b.embedded=!0):a.deltaY()>b.deltaY()?(d=a.bottom-b.y,d>e&&!c||a.checkCollision.down===!1||b.checkCollision.up===!1?d=0:(a.touching.none=!1,a.touching.down=!0,b.touching.none=!1,b.touching.up=!0)):a.deltaY()e&&!c||a.checkCollision.up===!1||b.checkCollision.down===!1?d=0:(a.touching.none=!1,a.touching.up=!0,b.touching.none=!1,b.touching.down=!0)),a.overlapY=d,b.overlapY=d,d},separateX:function(a,b,c){var d=this.getOverlapX(a,b,c);if(c||0===d||a.immovable&&b.immovable||a.customSeparateX||b.customSeparateX)return 0!==d||a.embedded&&b.embedded;var e=a.velocity.x,f=b.velocity.x;if(a.immovable||b.immovable)a.immovable?(b.x+=d,b.velocity.x=e-f*b.bounce.x,a.moves&&(b.y+=(a.y-a.prev.y)*a.friction.y)):(a.x-=d,a.velocity.x=f-e*a.bounce.x,b.moves&&(a.y+=(b.y-b.prev.y)*b.friction.y));else{d*=.5,a.x-=d,b.x+=d;var g=Math.sqrt(f*f*b.mass/a.mass)*(f>0?1:-1),h=Math.sqrt(e*e*a.mass/b.mass)*(e>0?1:-1),i=.5*(g+h);g-=i,h-=i,a.velocity.x=i+g*a.bounce.x,b.velocity.x=i+h*b.bounce.x}return!0},separateY:function(a,b,c){var d=this.getOverlapY(a,b,c);if(c||0===d||a.immovable&&b.immovable||a.customSeparateY||b.customSeparateY)return 0!==d||a.embedded&&b.embedded;var e=a.velocity.y,f=b.velocity.y;if(a.immovable||b.immovable)a.immovable?(b.y+=d,b.velocity.y=e-f*b.bounce.y,a.moves&&(b.x+=(a.x-a.prev.x)*a.friction.x)):(a.y-=d,a.velocity.y=f-e*a.bounce.y,b.moves&&(a.x+=(b.x-b.prev.x)*b.friction.x));else{d*=.5,a.y-=d,b.y+=d;var g=Math.sqrt(f*f*b.mass/a.mass)*(f>0?1:-1),h=Math.sqrt(e*e*a.mass/b.mass)*(e>0?1:-1),i=.5*(g+h);g-=i,h-=i,a.velocity.y=i+g*a.bounce.y,b.velocity.y=i+h*b.bounce.y}return!0},getObjectsUnderPointer:function(a,b,c,d){if(0!==b.length&&a.exists)return this.getObjectsAtLocation(a.x,a.y,b,c,d,a)},getObjectsAtLocation:function(a,b,d,e,f,g){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(d);for(var h=new c.Rectangle(a,b,1,1),i=[],j=this.quadTree.retrieve(h),k=0;k0&&(c=this.distanceBetween(a,b)/(d/1e3)),a.body.velocity.x=Math.cos(e)*c,a.body.velocity.y=Math.sin(e)*c,e},moveToPointer:function(a,b,c,d){void 0===b&&(b=60),c=c||this.game.input.activePointer,void 0===d&&(d=0);var e=this.angleToPointer(a,c);return d>0&&(b=this.distanceToPointer(a,c)/(d/1e3)),a.body.velocity.x=Math.cos(e)*b,a.body.velocity.y=Math.sin(e)*b,e},moveToXY:function(a,b,c,d,e){void 0===d&&(d=60),void 0===e&&(e=0);var f=Math.atan2(c-a.y,b-a.x);return e>0&&(d=this.distanceToXY(a,b,c)/(e/1e3)),a.body.velocity.x=Math.cos(f)*d,a.body.velocity.y=Math.sin(f)*d,f},velocityFromAngle:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(c.Math.degToRad(a))*b,Math.sin(c.Math.degToRad(a))*b)},velocityFromRotation:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(a)*b,Math.sin(a)*b)},accelerationFromRotation:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(a)*b,Math.sin(a)*b)},accelerateToObject:function(a,b,c,d,e){void 0===c&&(c=60),void 0===d&&(d=1e3),void 0===e&&(e=1e3);var f=this.angleBetween(a,b);return a.body.acceleration.setTo(Math.cos(f)*c,Math.sin(f)*c),a.body.maxVelocity.setTo(d,e),f},accelerateToPointer:function(a,b,c,d,e){void 0===c&&(c=60),void 0===b&&(b=this.game.input.activePointer),void 0===d&&(d=1e3),void 0===e&&(e=1e3);var f=this.angleToPointer(a,b);return a.body.acceleration.setTo(Math.cos(f)*c,Math.sin(f)*c),a.body.maxVelocity.setTo(d,e),f},accelerateToXY:function(a,b,c,d,e,f){void 0===d&&(d=60),void 0===e&&(e=1e3),void 0===f&&(f=1e3);var g=this.angleToXY(a,b,c);return a.body.acceleration.setTo(Math.cos(g)*d,Math.sin(g)*d),a.body.maxVelocity.setTo(e,f),g},distanceBetween:function(a,b,c){void 0===c&&(c=!1);var d=c?a.world.x-b.world.x:a.x-b.x,e=c?a.world.y-b.world.y:a.y-b.y;return Math.sqrt(d*d+e*e)},distanceToXY:function(a,b,c,d){void 0===d&&(d=!1);var e=d?a.world.x-b:a.x-b,f=d?a.world.y-c:a.y-c;return Math.sqrt(e*e+f*f)},distanceToPointer:function(a,b,c){void 0===b&&(b=this.game.input.activePointer),void 0===c&&(c=!1);var d=c?a.world.x-b.worldX:a.x-b.worldX,e=c?a.world.y-b.worldY:a.y-b.worldY;return Math.sqrt(d*d+e*e)},angleBetween:function(a,b,c){return void 0===c&&(c=!1),c?Math.atan2(b.world.y-a.world.y,b.world.x-a.world.x):Math.atan2(b.y-a.y,b.x-a.x)},angleBetweenCenters:function(a,b){var c=b.centerX-a.centerX,d=b.centerY-a.centerY;return Math.atan2(d,c)},angleToXY:function(a,b,c,d){return void 0===d&&(d=!1),d?Math.atan2(c-a.world.y,b-a.world.x):Math.atan2(c-a.y,b-a.x)},angleToPointer:function(a,b,c){return void 0===b&&(b=this.game.input.activePointer),void 0===c&&(c=!1),c?Math.atan2(b.worldY-a.world.y,b.worldX-a.world.x):Math.atan2(b.worldY-a.y,b.worldX-a.x)},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,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.updateCenter())},updateCenter:function(){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.overlapR=0,this.overlapX=0,this.overlapY=0,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.updateCenter(),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.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var a=0,b=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,a=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),a=this.moveTarget.length/this.moveDistance),this.movementCallback)var c=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,a);return!(b||a>=1||void 0!==c&&c!==!0)||(this.stopMovement(a>=1||this.stopVelocityOnCollide&&b),!1)},stopMovement:function(a){this.isMoving&&(this.isMoving=!1,a&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=c.LEFT:this.deltaX()>0&&(this.facing=c.RIGHT),this.deltaY()<0?this.facing=c.UP:this.deltaY()>0&&(this.facing=c.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var a=this.position,b=this.game.physics.arcade.bounds,c=this.game.physics.arcade.checkCollision,d=this.worldBounce?-this.worldBounce.x:-this.bounce.x,e=this.worldBounce?-this.worldBounce.y:-this.bounce.y;if(this.isCircle){var f={x:this.center.x-this.radius,y:this.center.y-this.radius,right:this.center.x+this.radius,bottom:this.center.y+this.radius};f.xb.right&&c.right&&(a.x=b.right-this.halfWidth-this.radius,this.velocity.x*=d,this.blocked.right=!0),f.yb.bottom&&c.down&&(a.y=b.bottom-this.halfHeight-this.radius,this.velocity.y*=e,this.blocked.down=!0)}else a.xb.right&&c.right&&(a.x=b.right-this.width,this.velocity.x*=d,this.blocked.right=!0),a.yb.bottom&&c.down&&(a.y=b.bottom-this.height,this.velocity.y*=e,this.blocked.down=!0);return this.blocked.up||this.blocked.down||this.blocked.left||this.blocked.right},moveFrom:function(a,b,c){if(void 0===b&&(b=this.speed),0===b)return!1;var d;return void 0===c?(d=this.angle,c=this.game.math.radToDeg(d)):d=this.game.math.degToRad(c),this.moveTimer=0,this.moveDuration=a,0===c||180===c?this.velocity.set(Math.cos(d)*b,0):90===c||270===c?this.velocity.set(0,Math.sin(d)*b):this.velocity.set(Math.cos(d)*b,Math.sin(d)*b),this.isMoving=!0,!0},moveTo:function(a,b,d){var e=b/(a/1e3);if(0===e)return!1;var f;return void 0===d?(f=this.angle,d=this.game.math.radToDeg(f)):f=this.game.math.degToRad(d),b=Math.abs(b),this.moveDuration=0,this.moveDistance=b,null===this.moveTarget&&(this.moveTarget=new c.Line,this.moveEnd=new c.Point),this.moveTarget.fromAngle(this.x,this.y,f,b),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===d||180===d?this.velocity.set(Math.cos(f)*e,0):90===d||270===d?this.velocity.set(0,Math.sin(f)*e):this.velocity.set(Math.cos(f)*e,Math.sin(f)*e),this.isMoving=!0,!0},setSize:function(a,b,c,d){void 0===c&&(c=this.offset.x),void 0===d&&(d=this.offset.y),this.sourceWidth=a,this.sourceHeight=b,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(c,d),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(a,b,c){void 0===b&&(b=this.offset.x),void 0===c&&(c=this.offset.y),a>0?(this.isCircle=!0,this.radius=a,this.sourceWidth=2*a,this.sourceHeight=2*a,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(b,c),this.updateCenter()):this.isCircle=!1},reset:function(a,b){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0,this.position.x=a-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=b-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.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},getBounds:function(a){return this.isCircle?(a.x=this.center.x-this.radius,a.y=this.center.y-this.radius,a.right=this.center.x+this.radius,a.bottom=this.center.y+this.radius):(a.x=this.x,a.y=this.y,a.right=this.right,a.bottom=this.bottom),a},hitTest:function(a,b){return this.isCircle?c.Circle.contains(this,a,b):c.Rectangle.contains(this,a,b)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof c.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(c.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(a){this.position.x=a}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(a){this.position.y=a}}),c.Physics.Arcade.Body.render=function(a,b,c,d){void 0===d&&(d=!0),c=c||"rgba(0,255,0,0.4)",a.fillStyle=c,a.strokeStyle=c,b.isCircle?(a.beginPath(),a.arc(b.center.x-b.game.camera.x,b.center.y-b.game.camera.y,b.radius,0,2*Math.PI),d?a.fill():a.stroke()):d?a.fillRect(b.position.x-b.game.camera.x,b.position.y-b.game.camera.y,b.width,b.height):a.strokeRect(b.position.x-b.game.camera.x,b.position.y-b.game.camera.y,b.width,b.height)},c.Physics.Arcade.Body.renderBodyInfo=function(a,b){a.line("x: "+b.x.toFixed(2),"y: "+b.y.toFixed(2),"width: "+b.width,"height: "+b.height),a.line("velocity x: "+b.velocity.x.toFixed(2),"y: "+b.velocity.y.toFixed(2),"deltaX: "+b._dx.toFixed(2),"deltaY: "+b._dy.toFixed(2)),a.line("acceleration x: "+b.acceleration.x.toFixed(2),"y: "+b.acceleration.y.toFixed(2),"speed: "+b.speed.toFixed(2),"angle: "+b.angle.toFixed(2)),a.line("gravity x: "+b.gravity.x,"y: "+b.gravity.y,"bounce x: "+b.bounce.x.toFixed(2),"y: "+b.bounce.y.toFixed(2)),a.line("touching left: "+b.touching.left,"right: "+b.touching.right,"up: "+b.touching.up,"down: "+b.touching.down),a.line("blocked left: "+b.blocked.left,"right: "+b.blocked.right,"up: "+b.blocked.up,"down: "+b.blocked.down)},c.Physics.Arcade.Body.prototype.constructor=c.Physics.Arcade.Body,c.Physics.Arcade.TilemapCollision=function(){},c.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(a,b,c,d,e,f){if(a.body){var g=b.getTiles(a.body.position.x-a.body.tilePadding.x-b.getTileOffsetX(),a.body.position.y-a.body.tilePadding.y-b.getTileOffsetY(),a.body.width+a.body.tilePadding.x,a.body.height+a.body.tilePadding.y,!1,!1);if(0!==g.length)for(var h=0;hb.deltaAbsY()?j=-1:b.deltaAbsX()0&&!a.blocked.right&&b.collideLeft&&a.checkCollision.right&&b.faceLeft&&a.right-e>b.left&&(d=a.right-e-b.left)>this.TILE_BIAS&&(d=0),0!==d&&(a.customSeparateX?a.overlapX=d:this.processTileSeparationX(a,d)),d},tileCheckY:function(a,b,c){var d=0,e=c.getTileOffsetY();return a.deltaY()<0&&!a.blocked.up&&b.collideDown&&a.checkCollision.up?b.faceBottom&&a.y-e0&&!a.blocked.down&&b.collideUp&&a.checkCollision.down&&b.faceTop&&a.bottom-e>b.top&&(d=a.bottom-e-b.top)>this.TILE_BIAS&&(d=0),0!==d&&(a.customSeparateY?a.overlapY=d:this.processTileSeparationY(a,d)),d},processTileSeparationX:function(a,b){b<0?a.blocked.left=!0:b>0&&(a.blocked.right=!0),a.position.x-=b,0===a.bounce.x?a.velocity.x=0:a.velocity.x=-a.velocity.x*a.bounce.x},processTileSeparationY:function(a,b){b<0?a.blocked.up=!0:b>0&&(a.blocked.down=!0),a.position.y-=b,0===a.bounce.y?a.velocity.y=0:a.velocity.y=-a.velocity.y*a.bounce.y}},c.Utils.mixinPrototype(c.Physics.Arcade.prototype,c.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,c.Physics.P2=function(a,b){this.game=a,void 0===b?b={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(b.hasOwnProperty("gravity")||(b.gravity=[0,0]),b.hasOwnProperty("broadphase")||(b.broadphase=new p2.SAPBroadphase)),this.config=b,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new c.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new c.Signal,this.onBodyRemoved=new c.Signal,this.onSpringAdded=new c.Signal,this.onSpringRemoved=new c.Signal,this.onConstraintAdded=new c.Signal,this.onConstraintRemoved=new c.Signal,this.onContactMaterialAdded=new c.Signal,this.onContactMaterialRemoved=new c.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new c.Signal,this.onEndContact=new c.Signal,b.hasOwnProperty("mpx")&&b.hasOwnProperty("pxm")&&b.hasOwnProperty("mpxi")&&b.hasOwnProperty("pxmi")&&(this.mpx=b.mpx,this.mpxi=b.mpxi,this.pxm=b.pxm,this.pxmi=b.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new c.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new c.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new c.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},c.Physics.P2.prototype={removeBodyNextStep:function(a){this._toRemove.push(a)},preUpdate:function(){for(var a=this._toRemove.length;a--;)this.removeBody(this._toRemove[a]);this._toRemove.length=0},enable:function(a,b,d){void 0===b&&(b=!1),void 0===d&&(d=!0);var e=1;if(Array.isArray(a))for(e=a.length;e--;)a[e]instanceof c.Group?this.enable(a[e].children,b,d):(this.enableBody(a[e],b),d&&a[e].hasOwnProperty("children")&&a[e].children.length>0&&this.enable(a[e],b,!0));else a instanceof c.Group?this.enable(a.children,b,d):(this.enableBody(a,b),d&&a.hasOwnProperty("children")&&a.children.length>0&&this.enable(a.children,b,!0))},enableBody:function(a,b){a.hasOwnProperty("body")&&null===a.body&&(a.body=new c.Physics.P2.Body(this.game,a,a.x,a.y,1),a.body.debug=b,void 0!==a.anchor&&a.anchor.set(.5))},setImpactEvents:function(a){a?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(a,b){this.postBroadphaseCallback=a,this.callbackContext=b,null!==a?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(a){if(this.postBroadphaseCallback&&0!==a.pairs.length)for(var b=a.pairs.length-2;b>=0;b-=2)a.pairs[b].parent&&a.pairs[b+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,a.pairs[b].parent,a.pairs[b+1].parent)&&a.pairs.splice(b,2)},impactHandler:function(a){if(a.bodyA.parent&&a.bodyB.parent){var b=a.bodyA.parent,c=a.bodyB.parent;b._bodyCallbacks[a.bodyB.id]&&b._bodyCallbacks[a.bodyB.id].call(b._bodyCallbackContext[a.bodyB.id],b,c,a.shapeA,a.shapeB),c._bodyCallbacks[a.bodyA.id]&&c._bodyCallbacks[a.bodyA.id].call(c._bodyCallbackContext[a.bodyA.id],c,b,a.shapeB,a.shapeA),b._groupCallbacks[a.shapeB.collisionGroup]&&b._groupCallbacks[a.shapeB.collisionGroup].call(b._groupCallbackContext[a.shapeB.collisionGroup],b,c,a.shapeA,a.shapeB),c._groupCallbacks[a.shapeA.collisionGroup]&&c._groupCallbacks[a.shapeA.collisionGroup].call(c._groupCallbackContext[a.shapeA.collisionGroup],c,b,a.shapeB,a.shapeA)}},beginContactHandler:function(a){a.bodyA&&a.bodyB&&(this.onBeginContact.dispatch(a.bodyA,a.bodyB,a.shapeA,a.shapeB,a.contactEquations),a.bodyA.parent&&a.bodyA.parent.onBeginContact.dispatch(a.bodyB.parent,a.bodyB,a.shapeA,a.shapeB,a.contactEquations),a.bodyB.parent&&a.bodyB.parent.onBeginContact.dispatch(a.bodyA.parent,a.bodyA,a.shapeB,a.shapeA,a.contactEquations))},endContactHandler:function(a){a.bodyA&&a.bodyB&&(this.onEndContact.dispatch(a.bodyA,a.bodyB,a.shapeA,a.shapeB),a.bodyA.parent&&a.bodyA.parent.onEndContact.dispatch(a.bodyB.parent,a.bodyB,a.shapeA,a.shapeB),a.bodyB.parent&&a.bodyB.parent.onEndContact.dispatch(a.bodyA.parent,a.bodyA,a.shapeB,a.shapeA))},setBoundsToWorld:function(a,b,c,d,e){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,a,b,c,d,e)},setWorldMaterial:function(a,b,c,d,e){void 0===b&&(b=!0),void 0===c&&(c=!0),void 0===d&&(d=!0),void 0===e&&(e=!0),b&&this.walls.left&&(this.walls.left.shapes[0].material=a),c&&this.walls.right&&(this.walls.right.shapes[0].material=a),d&&this.walls.top&&(this.walls.top.shapes[0].material=a),e&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=a)},updateBoundsCollisionGroup:function(a){void 0===a&&(a=!0);var b=a?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=b),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=b),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=b),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=b),this._boundsOwnGroup=a},setBounds:function(a,b,c,d,e,f,g,h,i){void 0===e&&(e=this._boundsLeft),void 0===f&&(f=this._boundsRight),void 0===g&&(g=this._boundsTop),void 0===h&&(h=this._boundsBottom),void 0===i&&(i=this._boundsOwnGroup),this.setupWall(e,"left",a,b,1.5707963267948966,i),this.setupWall(f,"right",a+c,b,-1.5707963267948966,i),this.setupWall(g,"top",a,b,-3.141592653589793,i),this.setupWall(h,"bottom",a,b+d,0,i),this._boundsLeft=e,this._boundsRight=f,this._boundsTop=g,this._boundsBottom=h,this._boundsOwnGroup=i},setupWall:function(a,b,c,d,e,f){a?(this.walls[b]?this.walls[b].position=[this.pxmi(c),this.pxmi(d)]:(this.walls[b]=new p2.Body({mass:0,position:[this.pxmi(c),this.pxmi(d)],angle:e}),this.walls[b].addShape(new p2.Plane),this.world.addBody(this.walls[b])),f&&(this.walls[b].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[b]&&(this.world.removeBody(this.walls[b]),this.walls[b]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new c.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new c.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new c.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var a=this.world.constraints,b=a.length-1;b>=0;b--)this.world.removeConstraint(a[b]);for(var c=this.world.bodies,b=c.length-1;b>=0;b--)this.world.removeBody(c[b]);for(var d=this.world.springs,b=d.length-1;b>=0;b--)this.world.removeSpring(d[b]);for(var e=this.world.contactMaterials,b=e.length-1;b>=0;b--)this.world.removeContactMaterial(e[b]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(a){return!a.data.world&&(this.world.addBody(a.data),this.onBodyAdded.dispatch(a),!0)},removeBody:function(a){return a.data.world===this.world&&(this.world.removeBody(a.data),this.onBodyRemoved.dispatch(a)),a},addSpring:function(a){return a instanceof c.Physics.P2.Spring||a instanceof c.Physics.P2.RotationalSpring?this.world.addSpring(a.data):this.world.addSpring(a),this.onSpringAdded.dispatch(a),a},removeSpring:function(a){return a instanceof c.Physics.P2.Spring||a instanceof c.Physics.P2.RotationalSpring?this.world.removeSpring(a.data):this.world.removeSpring(a),this.onSpringRemoved.dispatch(a),a},createDistanceConstraint:function(a,b,d,e,f,g){if(a=this.getBody(a),b=this.getBody(b),a&&b)return this.addConstraint(new c.Physics.P2.DistanceConstraint(this,a,b,d,e,f,g));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(a,b,d,e){if(a=this.getBody(a),b=this.getBody(b),a&&b)return this.addConstraint(new c.Physics.P2.GearConstraint(this,a,b,d,e));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(a,b,d,e,f,g){if(a=this.getBody(a),d=this.getBody(d),a&&d)return this.addConstraint(new c.Physics.P2.RevoluteConstraint(this,a,b,d,e,f,g));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(a,b,d,e,f){if(a=this.getBody(a),b=this.getBody(b),a&&b)return this.addConstraint(new c.Physics.P2.LockConstraint(this,a,b,d,e,f));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(a,b,d,e,f,g,h){if(a=this.getBody(a),b=this.getBody(b),a&&b)return this.addConstraint(new c.Physics.P2.PrismaticConstraint(this,a,b,d,e,f,g,h));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(a){return this.world.addConstraint(a),this.onConstraintAdded.dispatch(a),a},removeConstraint:function(a){return this.world.removeConstraint(a),this.onConstraintRemoved.dispatch(a),a},addContactMaterial:function(a){return this.world.addContactMaterial(a),this.onContactMaterialAdded.dispatch(a),a},removeContactMaterial:function(a){return this.world.removeContactMaterial(a),this.onContactMaterialRemoved.dispatch(a),a},getContactMaterial:function(a,b){return this.world.getContactMaterial(a,b)},setMaterial:function(a,b){for(var c=b.length;c--;)b[c].setMaterial(a)},createMaterial:function(a,b){a=a||"";var d=new c.Physics.P2.Material(a);return this.materials.push(d),void 0!==b&&b.setMaterial(d),d},createContactMaterial:function(a,b,d){void 0===a&&(a=this.createMaterial()),void 0===b&&(b=this.createMaterial());var e=new c.Physics.P2.ContactMaterial(a,b,d);return this.addContactMaterial(e)},getBodies:function(){for(var a=[],b=this.world.bodies.length;b--;)a.push(this.world.bodies[b].parent);return a},getBody:function(a){return a instanceof p2.Body?a:a instanceof c.Physics.P2.Body?a.data:a.body&&a.body.type===c.Physics.P2JS?a.body.data:null},getSprings:function(){for(var a=[],b=this.world.springs.length;b--;)a.push(this.world.springs[b].parent);return a},getConstraints:function(){for(var a=[],b=this.world.constraints.length;b--;)a.push(this.world.constraints[b]);return a},hitTest:function(a,b,d,e){void 0===b&&(b=this.world.bodies),void 0===d&&(d=5),void 0===e&&(e=!1);for(var f=[this.pxmi(a.x),this.pxmi(a.y)],g=[],h=b.length;h--;)b[h]instanceof c.Physics.P2.Body&&(!e||b[h].data.type!==p2.Body.STATIC)?g.push(b[h].data):b[h]instanceof p2.Body&&b[h].parent&&(!e||b[h].type!==p2.Body.STATIC)?g.push(b[h]):b[h]instanceof c.Sprite&&b[h].hasOwnProperty("body")&&(!e||b[h].body.data.type!==p2.Body.STATIC)&&g.push(b[h].body.data);return this.world.hitTest(f,g,d)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(a){var b=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|b),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|b),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|b),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|b),this._collisionGroupID++;var d=new c.Physics.P2.CollisionGroup(b);return this.collisionGroups.push(d),a&&this.setCollisionGroup(a,d),d},setCollisionGroup:function(a,b){if(a instanceof c.Group)for(var d=0;d-1&&l.collides)if(d){var m=a.getTileRight(b,j,h);if(0===e&&(f=l.x*l.width,g=l.y*l.height,e=l.width),m&&m.collides)e+=l.width;else{var n=this.createBody(f,g,0,!1);n.addRectangle(e,l.height,e/2,l.height/2,0),c&&this.addBody(n),a.layers[b].bodies.push(n),e=0}}else{var n=this.createBody(l.x*l.width,l.y*l.height,0,!1);n.addRectangle(l.width,l.height,l.width/2,l.height/2,0),c&&this.addBody(n),a.layers[b].bodies.push(n)}}}return a.layers[b].bodies},mpx:function(a){return a*=20},pxm:function(a){return.05*a},mpxi:function(a){return a*=-20},pxmi:function(a){return a*-.05}},Object.defineProperty(c.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(a){this.world.defaultContactMaterial.friction=a}}),Object.defineProperty(c.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(a){this.world.defaultContactMaterial.restitution=a}}),Object.defineProperty(c.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(a){this.world.defaultContactMaterial=a}}),Object.defineProperty(c.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(a){this.world.applySpringForces=a}}),Object.defineProperty(c.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(a){this.world.applyDamping=a}}),Object.defineProperty(c.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(a){this.world.applyGravity=a}}),Object.defineProperty(c.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(a){this.world.solveConstraints=a}}),Object.defineProperty(c.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(c.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(a){this.world.emitImpactEvent=a}}),Object.defineProperty(c.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(a){this.world.sleepMode=a}}),Object.defineProperty(c.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),c.Physics.P2.FixtureList=function(a){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[a.mask],delete this._groupCallbackContext[a.mask]):(this._groupCallbacks[a.mask]=b,this._groupCallbackContext[a.mask]=c)},getCollisionMask:function(){var a=0;this._collideWorldBounds&&(a=this.game.physics.p2.boundsCollisionGroup.mask);for(var b=0;b=0;c--)this.data.shapes[c].collisionMask=b;else a.collisionMask=b},setCollisionGroup:function(a,b){var c=this.getCollisionMask();if(void 0===b)for(var d=this.data.shapes.length-1;d>=0;d--)this.data.shapes[d].collisionGroup=a.mask,this.data.shapes[d].collisionMask=c;else b.collisionGroup=a.mask,b.collisionMask=c},clearCollision:function(a,b,c){if(void 0===a&&(a=!0),void 0===b&&(b=!0),void 0===c)for(var d=this.data.shapes.length-1;d>=0;d--)a&&(this.data.shapes[d].collisionGroup=null),b&&(this.data.shapes[d].collisionMask=null);else a&&(c.collisionGroup=null),b&&(c.collisionMask=null);a&&(this.collidesWith.length=0)},removeCollisionGroup:function(a,b,c){void 0===b&&(b=!0);var d;if(Array.isArray(a))for(var e=0;e-1&&(this.collidesWith.splice(d,1),b&&(delete this._groupCallbacks[a.mask],delete this._groupCallbackContext[a.mask]));else(d=this.collidesWith.indexOf(a))>-1&&(this.collidesWith.splice(d,1),b&&(delete this._groupCallbacks[a.mask],delete this._groupCallbackContext[a.mask]));var f=this.getCollisionMask();if(void 0===c)for(var e=this.data.shapes.length-1;e>=0;e--)this.data.shapes[e].collisionMask=f;else c.collisionMask=f},collides:function(a,b,c,d){if(Array.isArray(a))for(var e=0;e=0;e--)this.data.shapes[e].collisionMask=f;else d.collisionMask=f},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(a,b){return this.data.getVelocityAtPoint(a,b)},applyDamping:function(a){this.data.applyDamping(a)},applyImpulse:function(a,b,c){this.data.applyImpulse(a,[this.world.pxmi(b),this.world.pxmi(c)])},applyImpulseLocal:function(a,b,c){this.data.applyImpulseLocal(a,[this.world.pxmi(b),this.world.pxmi(c)])},applyForce:function(a,b,c){this.data.applyForce(a,[this.world.pxmi(b),this.world.pxmi(c)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(a,b){return this.data.toLocalFrame(a,b)},toWorldFrame:function(a,b){return this.data.toWorldFrame(a,b)},rotateLeft:function(a){this.data.angularVelocity=this.world.pxm(-a)},rotateRight:function(a){this.data.angularVelocity=this.world.pxm(a)},moveForward:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.velocity[0]=b*Math.cos(c),this.data.velocity[1]=b*Math.sin(c)},moveBackward:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.velocity[0]=-(b*Math.cos(c)),this.data.velocity[1]=-(b*Math.sin(c))},thrust:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.force[0]+=b*Math.cos(c),this.data.force[1]+=b*Math.sin(c)},thrustLeft:function(a){var b=this.world.pxmi(-a),c=this.data.angle;this.data.force[0]+=b*Math.cos(c),this.data.force[1]+=b*Math.sin(c)},thrustRight:function(a){var b=this.world.pxmi(-a),c=this.data.angle;this.data.force[0]-=b*Math.cos(c),this.data.force[1]-=b*Math.sin(c)},reverse:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.force[0]-=b*Math.cos(c),this.data.force[1]-=b*Math.sin(c)},moveLeft:function(a){this.data.velocity[0]=this.world.pxmi(-a)},moveRight:function(a){this.data.velocity[0]=this.world.pxmi(a)},moveUp:function(a){this.data.velocity[1]=this.world.pxmi(-a)},moveDown:function(a){this.data.velocity[1]=this.world.pxmi(a)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(a,b,c,d){void 0===c&&(c=!1),void 0===d&&(d=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),c&&this.setZeroDamping(),d&&(this.mass=1),this.x=a,this.y=b},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var a=0;a=0;c--)this.data.shapes[c].material=a;else b.material=a},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(a,b){for(var c=this.game.cache.getPhysicsData(a,b),d=[],e=0;eo;e=0<=o?++n:--n)k=b.vertices[e],p2.vec2.rotate(m,k,a),l.push([(m[0]+i[0])*this.ppu,-(m[1]+i[1])*this.ppu]);this.drawConvex(j,l,b.triangles,f,c,g,this.settings.debugPolygons,[i[0]*this.ppu,-i[1]*this.ppu])}d++}}},drawRectangle:function(a,b,c,d,e,f,g,h,i){void 0===i&&(i=1),void 0===g&&(g=0),a.lineStyle(i,g,1),a.beginFill(h),a.drawRect(b-e/2,c-f/2,e,f)},drawCircle:function(a,b,c,d,e,f,g){void 0===g&&(g=1),void 0===f&&(f=16777215),a.lineStyle(g,0,1),a.beginFill(f,1),a.drawCircle(b,c,2*-e),a.endFill(),a.moveTo(b,c),a.lineTo(b+e*Math.cos(-d),c+e*Math.sin(-d))},drawLine:function(a,b,c,d){void 0===d&&(d=1),void 0===c&&(c=0),a.lineStyle(5*d,c,1),a.moveTo(-b/2,0),a.lineTo(b/2,0)},drawConvex:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r,s;if(void 0===f&&(f=1),void 0===d&&(d=0),g){for(i=[16711680,65280,255],j=0;j!==b.length+1;)l=b[j%b.length],m=b[(j+1)%b.length],o=l[0],r=l[1],p=m[0],s=m[1],a.lineStyle(f,i[j%i.length],1),a.moveTo(o,-r),a.lineTo(p,-s),a.drawCircle(o,-r,2*f),j++;return a.lineStyle(f,0,1),a.drawCircle(h[0],h[1],2*f)}for(a.lineStyle(f,d,1),a.beginFill(e),j=0;j!==b.length;)k=b[j],n=k[0],q=k[1],0===j?a.moveTo(n,-q):a.lineTo(n,-q),j++;if(a.endFill(),b.length>2)return a.moveTo(b[b.length-1][0],-b[b.length-1][1]),a.lineTo(b[0][0],-b[0][1])},drawPath:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q;for(void 0===e&&(e=1),void 0===c&&(c=0),a.lineStyle(e,c,1),"number"==typeof d&&a.beginFill(d),g=null,h=null,f=0;f2&&"number"==typeof d&&(a.moveTo(b[b.length-1][0],b[b.length-1][1]),a.lineTo(b[0][0],b[0][1]))},drawPlane:function(a,b,c,d,e,f,g,h,i,j){var k,l;void 0===f&&(f=1),void 0===d&&(d=16777215),a.lineStyle(f,e,11),a.beginFill(d),a.moveTo(b,-c),k=b+Math.cos(j)*this.game.width,l=c+Math.sin(j)*this.game.height,a.lineTo(k,-l),a.moveTo(b,-c),k=b+Math.cos(j)*-this.game.width,l=c+Math.sin(j)*-this.game.height,a.lineTo(k,-l)},drawCapsule:function(a,b,c,d,e,f,g,h,i){void 0===i&&(i=1),void 0===g&&(g=0),a.lineStyle(i,g,1);var j=Math.cos(d),k=Math.sin(d);a.beginFill(h,1),a.drawCircle(-e/2*j+b,-e/2*k+c,2*-f),a.drawCircle(e/2*j+b,e/2*k+c,2*-f),a.endFill(),a.lineStyle(i,g,0),a.beginFill(h,1),a.moveTo(-e/2*j+f*k+b,-e/2*k+f*j+c),a.lineTo(e/2*j+f*k+b,e/2*k+f*j+c),a.lineTo(e/2*j-f*k+b,e/2*k-f*j+c),a.lineTo(-e/2*j-f*k+b,-e/2*k-f*j+c),a.endFill(),a.lineStyle(i,g,1),a.moveTo(-e/2*j+f*k+b,-e/2*k+f*j+c),a.lineTo(e/2*j+f*k+b,e/2*k+f*j+c),a.moveTo(-e/2*j-f*k+b,-e/2*k-f*j+c),a.lineTo(e/2*j-f*k+b,e/2*k-f*j+c)},randomPastelHex:function(){var a,b,c,d;return c=[255,255,255],d=Math.floor(256*Math.random()),b=Math.floor(256*Math.random()),a=Math.floor(256*Math.random()),d=Math.floor((d+3*c[0])/4),b=Math.floor((b+3*c[1])/4),a=Math.floor((a+3*c[2])/4),this.rgbToHex(d,b,a)},rgbToHex:function(a,b,c){return this.componentToHex(a)+this.componentToHex(b)+this.componentToHex(c)},componentToHex:function(a){var b;return b=a.toString(16),2===b.length?b:b+"0"}}),c.Physics.P2.Spring=function(a,b,c,d,e,f,g,h,i,j){this.game=a.game,this.world=a,void 0===d&&(d=1),void 0===e&&(e=100),void 0===f&&(f=1),d=a.pxm(d);var k={restLength:d,stiffness:e,damping:f};void 0!==g&&null!==g&&(k.worldAnchorA=[a.pxm(g[0]),a.pxm(g[1])]),void 0!==h&&null!==h&&(k.worldAnchorB=[a.pxm(h[0]),a.pxm(h[1])]),void 0!==i&&null!==i&&(k.localAnchorA=[a.pxm(i[0]),a.pxm(i[1])]),void 0!==j&&null!==j&&(k.localAnchorB=[a.pxm(j[0]),a.pxm(j[1])]),this.data=new p2.LinearSpring(b,c,k),this.data.parent=this},c.Physics.P2.Spring.prototype.constructor=c.Physics.P2.Spring,c.Physics.P2.RotationalSpring=function(a,b,c,d,e,f){this.game=a.game,this.world=a,void 0===d&&(d=null),void 0===e&&(e=100),void 0===f&&(f=1),d&&(d=a.pxm(d));var g={restAngle:d,stiffness:e,damping:f};this.data=new p2.RotationalSpring(b,c,g),this.data.parent=this},c.Physics.P2.Spring.prototype.constructor=c.Physics.P2.Spring,c.Physics.P2.Material=function(a){this.name=a,p2.Material.call(this)},c.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),c.Physics.P2.Material.prototype.constructor=c.Physics.P2.Material,c.Physics.P2.ContactMaterial=function(a,b,c){p2.ContactMaterial.call(this,a,b,c)},c.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),c.Physics.P2.ContactMaterial.prototype.constructor=c.Physics.P2.ContactMaterial,c.Physics.P2.CollisionGroup=function(a){this.mask=a},c.Physics.P2.DistanceConstraint=function(a,b,c,d,e,f,g){void 0===d&&(d=100),void 0===e&&(e=[0,0]),void 0===f&&(f=[0,0]),void 0===g&&(g=Number.MAX_VALUE),this.game=a.game,this.world=a,d=a.pxm(d),e=[a.pxmi(e[0]),a.pxmi(e[1])],f=[a.pxmi(f[0]),a.pxmi(f[1])];var h={distance:d,localAnchorA:e,localAnchorB:f,maxForce:g};p2.DistanceConstraint.call(this,b,c,h)},c.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),c.Physics.P2.DistanceConstraint.prototype.constructor=c.Physics.P2.DistanceConstraint,c.Physics.P2.GearConstraint=function(a,b,c,d,e){void 0===d&&(d=0),void 0===e&&(e=1),this.game=a.game,this.world=a;var f={angle:d,ratio:e};p2.GearConstraint.call(this,b,c,f)},c.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),c.Physics.P2.GearConstraint.prototype.constructor=c.Physics.P2.GearConstraint,c.Physics.P2.LockConstraint=function(a,b,c,d,e,f){void 0===d&&(d=[0,0]),void 0===e&&(e=0),void 0===f&&(f=Number.MAX_VALUE),this.game=a.game,this.world=a,d=[a.pxm(d[0]),a.pxm(d[1])];var g={localOffsetB:d,localAngleB:e,maxForce:f};p2.LockConstraint.call(this,b,c,g)},c.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),c.Physics.P2.LockConstraint.prototype.constructor=c.Physics.P2.LockConstraint,c.Physics.P2.PrismaticConstraint=function(a,b,c,d,e,f,g,h){void 0===d&&(d=!0),void 0===e&&(e=[0,0]),void 0===f&&(f=[0,0]),void 0===g&&(g=[0,0]),void 0===h&&(h=Number.MAX_VALUE),this.game=a.game,this.world=a,e=[a.pxmi(e[0]),a.pxmi(e[1])],f=[a.pxmi(f[0]),a.pxmi(f[1])];var i={localAnchorA:e,localAnchorB:f,localAxisA:g,maxForce:h,disableRotationalLock:!d};p2.PrismaticConstraint.call(this,b,c,i)},c.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),c.Physics.P2.PrismaticConstraint.prototype.constructor=c.Physics.P2.PrismaticConstraint,c.Physics.P2.RevoluteConstraint=function(a,b,c,d,e,f,g){void 0===f&&(f=Number.MAX_VALUE),void 0===g&&(g=null),this.game=a.game,this.world=a,c=[a.pxmi(c[0]),a.pxmi(c[1])],e=[a.pxmi(e[0]),a.pxmi(e[1])],g&&(g=[a.pxmi(g[0]),a.pxmi(g[1])]);var h={worldPivot:g,localPivotA:c,localPivotB:e,maxForce:f};p2.RevoluteConstraint.call(this,b,d,h)},c.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),c.Physics.P2.RevoluteConstraint.prototype.constructor=c.Physics.P2.RevoluteConstraint,c.ImageCollection=function(a,b,c,d,e,f,g){(void 0===c||c<=0)&&(c=32),(void 0===d||d<=0)&&(d=32),void 0===e&&(e=0),void 0===f&&(f=0),this.name=a,this.firstgid=0|b,this.imageWidth=0|c,this.imageHeight=0|d,this.imageMargin=0|e,this.imageSpacing=0|f,this.properties=g||{},this.images=[],this.total=0},c.ImageCollection.prototype={containsImageIndex:function(a){return a>=this.firstgid&&athis.right||b>this.bottom)},intersects:function(a,b,c,d){return!(c<=this.worldX)&&(!(d<=this.worldY)&&(!(a>=this.worldX+this.width)&&!(b>=this.worldY+this.height)))},setCollisionCallback:function(a,b){this.collisionCallback=a,this.collisionCallbackContext=b},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(a,b,c,d){this.collideLeft=a,this.collideRight=b,this.collideUp=c,this.collideDown=d,this.faceLeft=a,this.faceRight=b,this.faceTop=c,this.faceBottom=d},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(a,b){return a&&b?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:a?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!b&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(a){this.index=a.index,this.alpha=a.alpha,this.properties=a.properties,this.collideUp=a.collideUp,this.collideDown=a.collideDown,this.collideLeft=a.collideLeft,this.collideRight=a.collideRight,this.collisionCallback=a.collisionCallback,this.collisionCallbackContext=a.collisionCallbackContext}},c.Tile.prototype.constructor=c.Tile,Object.defineProperty(c.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(c.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(c.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(c.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(c.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(c.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),c.Tilemap=function(a,b,d,e,f,g){this.game=a,this.key=b;var h=c.TilemapParser.parse(this.game,b,d,e,f,g);null!==h&&(this.width=h.width,this.height=h.height,this.tileWidth=h.tileWidth,this.tileHeight=h.tileHeight,this.orientation=h.orientation,this.format=h.format,this.version=h.version,this.properties=h.properties,this.widthInPixels=h.widthInPixels,this.heightInPixels=h.heightInPixels,this.layers=h.layers,this.tilesets=h.tilesets,this.imagecollections=h.imagecollections,this.tiles=h.tiles,this.objects=h.objects,this.collideIndexes=[],this.collision=h.collision,this.images=h.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},c.Tilemap.CSV=0,c.Tilemap.TILED_JSON=1,c.Tilemap.NORTH=0,c.Tilemap.EAST=1,c.Tilemap.SOUTH=2,c.Tilemap.WEST=3,c.Tilemap.prototype={create:function(a,b,c,d,e,f){return void 0===f&&(f=this.game.world),this.width=b,this.height=c,this.setTileSize(d,e),this.layers.length=0,this.createBlankLayer(a,b,c,d,e,f)},setTileSize:function(a,b){this.tileWidth=a,this.tileHeight=b,this.widthInPixels=this.width*a,this.heightInPixels=this.height*b},addTilesetImage:function(a,b,d,e,f,g,h){if(void 0===a)return null;void 0===d&&(d=this.tileWidth),void 0===e&&(e=this.tileHeight),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=0),0===d&&(d=32),0===e&&(e=32);var i=null;if(void 0!==b&&null!==b||(b=a),b instanceof c.BitmapData)i=b.canvas;else{if(!this.game.cache.checkImageKey(b))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+b+'"'),null;i=this.game.cache.getImage(b)}var j=this.getTilesetIndex(a);if(null===j&&this.format===c.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+a+'"'),null;if(this.tilesets[j])return this.tilesets[j].setImage(i),this.tilesets[j];var k=new c.Tileset(a,h,d,e,f,g,{});k.setImage(i),this.tilesets.push(k);for(var l=this.tilesets.length-1,m=f,n=f,o=0,p=0,q=0,r=h;r1)for(l=0;lthis.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;kthis.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;cb)){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-1&&this.collideIndexes.splice(e,1)}for(var f=0;f0?this.layers[a].data[c-1][b]:null},getTileBelow:function(a,b,c){return c0?this.layers[a].data[c][b-1]:null},getTileRight:function(a,b,c){return b-1},removeTile:function(a,b,d){if(d=this.getLayer(d),a>=0&&a=0&&b=0&&b=0&&d-1?this.layers[e].data[d][b].setCollision(!0,!0,!0,!0):this.layers[e].data[d][b].resetCollision(),this.layers[e].dirty=!0,this.calculateFaces(e),this.layers[e].data[d][b]}return null},putTileWorldXY:function(a,b,c,d,e,f){return f=this.getLayer(f),b=this.game.math.snapToFloor(b,d)/d,c=this.game.math.snapToFloor(c,e)/e,this.putTile(a,b,c,f)},searchTileIndex:function(a,b,c,d){void 0===b&&(b=0),void 0===c&&(c=!1),d=this.getLayer(d);var e=0;if(c){for(var f=this.layers[d].height-1;f>=0;f--)for(var g=this.layers[d].width-1;g>=0;g--)if(this.layers[d].data[f][g].index===a){if(e===b)return this.layers[d].data[f][g];e++}}else for(var f=0;f=0&&a=0&&bthis.layers[e].width&&(c=this.layers[e].width),d>this.layers[e].height&&(d=this.layers[e].height),this._results.length=0,this._results.push({x:a,y:b,width:c,height:d,layer:e});for(var f=b;f1?this.debugMap[this.layers[this.currentLayer].data[c][d]]?b.push("background: "+this.debugMap[this.layers[this.currentLayer].data[c][d]]):b.push("background: #ffffff"):b.push("background: rgb(0, 0, 0)");a+="\n"}b[0]=a,console.log.apply(console,b)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},c.Tilemap.prototype.constructor=c.Tilemap,Object.defineProperty(c.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(a){a!==this.currentLayer&&this.setLayer(a)}}),c.TilemapLayer=function(a,b,d,e,f){e|=0,f|=0,c.Sprite.call(this,a,0,0),this.map=b,this.index=d,this.layer=b.layers[d],this.canvas=c.CanvasPool.create(this,e,f),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=c.TILEMAPLAYER,this.physicsType=c.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:b.tileWidth,tileHeight:b.tileHeight,cw:b.tileWidth,ch:b.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new c.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],a.device.canvasBitBltShift||(this.renderSettings.copyCanvas=c.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},c.TilemapLayer.prototype=Object.create(c.Sprite.prototype),c.TilemapLayer.prototype.constructor=c.TilemapLayer,c.TilemapLayer.prototype.preUpdateCore=c.Component.Core.preUpdate,c.TilemapLayer.sharedCopyCanvas=null,c.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=c.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},c.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},c.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},c.TilemapLayer.prototype._renderCanvas=function(a){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,a)},c.TilemapLayer.prototype._renderWebGL=function(a){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,a)},c.TilemapLayer.prototype.destroy=function(){c.CanvasPool.remove(this),c.Component.Destroy.prototype.destroy.call(this)},c.TilemapLayer.prototype.resize=function(a,b){this.canvas.width=a,this.canvas.height=b,this.texture.frame.resize(a,b),this.texture.width=a,this.texture.height=b,this.texture.crop.width=a,this.texture.crop.height=b,this.texture.baseTexture.width=a,this.texture.baseTexture.height=b,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},c.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},c.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},c.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},c.TilemapLayer.prototype._fixX=function(a){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?a:0===this.scrollFactorX&&0!==this.position.x?a-this.position.x:this._scrollX+(a-this._scrollX/this.scrollFactorX)},c.TilemapLayer.prototype._unfixX=function(a){return 1===this.scrollFactorX?a:this._scrollX/this.scrollFactorX+(a-this._scrollX)},c.TilemapLayer.prototype._fixY=function(a){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?a:0===this.scrollFactorY&&0!==this.position.y?a-this.position.y:this._scrollY+(a-this._scrollY/this.scrollFactorY)},c.TilemapLayer.prototype._unfixY=function(a){return 1===this.scrollFactorY?a:this._scrollY/this.scrollFactorY+(a-this._scrollY)},c.TilemapLayer.prototype.getTileX=function(a){return Math.floor(this._fixX(a)/this._mc.tileWidth)},c.TilemapLayer.prototype.getTileY=function(a){return Math.floor(this._fixY(a)/this._mc.tileHeight)},c.TilemapLayer.prototype.getTileXY=function(a,b,c){return c.x=this.getTileX(a),c.y=this.getTileY(b),c},c.TilemapLayer.prototype.getRayCastTiles=function(a,b,c,d){b||(b=this.rayStepRate),void 0===c&&(c=!1),void 0===d&&(d=!1);var e=this.getTiles(a.x,a.y,a.width,a.height,c,d);if(0===e.length)return[];for(var f=a.coordinatesOnLine(b),g=[],h=0;h=0;q++,s--,o+=k){q>=i&&(q-=i);var x=this.layer.data[q];for(p=v,r=e-c,n=t;r>=0;p++,r--,n+=j){p>=h&&(p-=h);var y=x[p];if(y&&!(y.index<0)){var z=y.index,A=l[z];void 0===A&&(A=this.resolveTileset(z)),y.alpha===m||this.debug||(g.globalAlpha=y.alpha,m=y.alpha),A?y.rotation||y.flipped?(g.save(),g.translate(n+y.centerX,o+y.centerY),g.rotate(y.rotation),y.flipped&&g.scale(-1,1),A.draw(g,-y.centerX,-y.centerY,z),g.restore()):A.draw(g,n,o,z):this.debugSettings.missingImageFill&&(g.fillStyle=this.debugSettings.missingImageFill,g.fillRect(n,o,j,k)),y.debug&&this.debugSettings.debuggedTileOverfill&&(g.fillStyle=this.debugSettings.debuggedTileOverfill,g.fillRect(n,o,j,k))}}}},c.TilemapLayer.prototype.renderDeltaScroll=function(a,b){var c=this._mc.scrollX,d=this._mc.scrollY,e=this.canvas.width,f=this.canvas.height,g=this._mc.tileWidth,h=this._mc.tileHeight,i=0,j=-g,k=0,l=-h;if(a<0?(i=e+a,j=e-1):a>0&&(j=a),b<0?(k=f+b,l=f-1):b>0&&(l=b),this.shiftCanvas(this.context,a,b),i=Math.floor((i+c)/g),j=Math.floor((j+c)/g),k=Math.floor((k+d)/h),l=Math.floor((l+d)/h),i<=j){this.context.clearRect(i*g-c,0,(j-i+1)*g,f);var m=Math.floor((0+d)/h),n=Math.floor((f-1+d)/h);this.renderRegion(c,d,i,m,j,n)}if(k<=l){this.context.clearRect(0,k*h-d,e,(l-k+1)*h);var o=Math.floor((0+c)/g),p=Math.floor((e-1+c)/g);this.renderRegion(c,d,o,k,p,l)}},c.TilemapLayer.prototype.renderFull=function(){var a=this._mc.scrollX,b=this._mc.scrollY,c=this.canvas.width,d=this.canvas.height,e=this._mc.tileWidth,f=this._mc.tileHeight,g=Math.floor(a/e),h=Math.floor((c-1+a)/e),i=Math.floor(b/f),j=Math.floor((d-1+b)/f);this.context.clearRect(0,0,c,d),this.renderRegion(a,b,g,i,h,j)},c.TilemapLayer.prototype.render=function(){var a=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,a=!0);var b=this.canvas.width,c=this.canvas.height,d=0|this._scrollX,e=0|this._scrollY,f=this._mc,g=f.scrollX-d,h=f.scrollY-e;if(a||0!==g||0!==h||f.renderWidth!==b||f.renderHeight!==c)return this.context.save(),f.scrollX=d,f.scrollY=e,f.renderWidth===b&&f.renderHeight===c||(f.renderWidth=b,f.renderHeight=c),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(a=!0)),!a&&this.renderSettings.enableScrollDelta&&Math.abs(g)+Math.abs(h)=0;d++,f--,b+=o){d>=m&&(d-=m);var x=this.layer.data[d];for(c=v,e=q-p,a=t;e>=0;c++,e--,a+=n){c>=l&&(c-=l);var y=x[c];!y||y.index<0||!y.collides||(this.debugSettings.collidingTileOverfill&&(i.fillStyle=this.debugSettings.collidingTileOverfill,i.fillRect(a,b,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(i.beginPath(),y.faceTop&&(i.moveTo(a,b),i.lineTo(a+this._mc.cw,b)),y.faceBottom&&(i.moveTo(a,b+this._mc.ch),i.lineTo(a+this._mc.cw,b+this._mc.ch)),y.faceLeft&&(i.moveTo(a,b),i.lineTo(a,b+this._mc.ch)),y.faceRight&&(i.moveTo(a+this._mc.cw,b),i.lineTo(a+this._mc.cw,b+this._mc.ch)),i.closePath(),i.stroke()))}}},Object.defineProperty(c.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(a){this._wrap=a,this.dirty=!0}}),Object.defineProperty(c.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(a){this._scrollX=a}}),Object.defineProperty(c.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(a){this._scrollY=a}}),Object.defineProperty(c.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(a){this._mc.cw=0|a,this.dirty=!0}}),Object.defineProperty(c.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(a){this._mc.ch=0|a,this.dirty=!0}}),c.TilemapParser={INSERT_NULL:!1,parse:function(a,b,d,e,f,g){if(void 0===d&&(d=32),void 0===e&&(e=32),void 0===f&&(f=10),void 0===g&&(g=10),void 0===b)return this.getEmptyData();if(null===b)return this.getEmptyData(d,e,f,g);var h=a.cache.getTilemapData(b);if(h){if(h.format===c.Tilemap.CSV)return this.parseCSV(b,h.data,d,e);if(!h.format||h.format===c.Tilemap.TILED_JSON)return this.parseTiledJSON(h.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+b)},parseCSV:function(a,b,d,e){var f=this.getEmptyData();b=b.trim();for(var g=[],h=b.split("\n"),i=h.length,j=0,k=0;k>>0;g.data=j,delete g.encoding}else if(g.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+g.name+"'");continue}var l={name:g.name,x:g.x,y:g.y,width:g.width,height:g.height,widthInPixels:g.width*a.tilewidth,heightInPixels:g.height*a.tileheight,alpha:g.opacity,offsetX:g.offsetx,offsetY:g.offsety,visible:g.visible,properties:{},indexes:[],callbacks:[],bodies:[]};g.properties&&(l.properties=g.properties);for(var m,n,o,p,q=0,r=[],s=[],t=0,i=g.data.length;t536870912)switch(p>2147483648&&(p-=2147483648,o+=4),p>1073741824&&(p-=1073741824,o+=2),p>536870912&&(p-=536870912,o+=1),o){case 5:m=Math.PI/2;break;case 6:m=Math.PI;break;case 3:m=3*Math.PI/2;break;case 4:m=0,n=!0;break;case 7:m=Math.PI/2,n=!0;break;case 2:m=Math.PI,n=!0;break;case 1:m=3*Math.PI/2,n=!0}if(p>0){var u=new c.Tile(l,p,q,s.length,a.tilewidth,a.tileheight);u.rotation=m,u.flipped=n,0!==o&&(u.flippedVal=o),r.push(u)}else c.TilemapParser.INSERT_NULL?r.push(null):r.push(new c.Tile(l,-1,q,s.length,a.tilewidth,a.tileheight));q++,q===g.width&&(s.push(r),q=0,r=[])}l.data=s,e.push(l)}d.layers=e;for(var v=[],f=0;f=0&&e+1=this.firstgid&&a=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._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,f){void 0===b&&(b=0),void 0===c&&(c=this.maxParticles),void 0===d&&(d=!1),void 0===e&&(e=!1),void 0===f&&(f=null);var g,h=0,i=a,j=b;for(this._frames=b,c>this.maxParticles&&(this.maxParticles=c);hthis.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;f1&&(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=0,e.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(e):this.particleSendToBack&&this.sendToBack(e),this.autoScale?e.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?e.scale.set(f.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x===this._maxParticleScale.x&&this._minParticleScale.y===this._maxParticleScale.y||e.scale.set(f.realInRange(this._minParticleScale.x,this._maxParticleScale.x),f.realInRange(this._minParticleScale.y,this._maxParticleScale.y)),void 0===d&&(Array.isArray(this._frames)?e.frame=this.game.rnd.pick(this._frames):e.frame=this._frames),this.autoAlpha?e.setAlphaData(this.alphaData):e.alpha=f.realInRange(this.minParticleAlpha,this.maxParticleAlpha),e.blendMode=this.blendMode;var i=e.body;return i.updateBounds(),i.bounce.copyFrom(this.bounce),i.drag.copyFrom(this.particleDrag),i.velocity.x=f.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),i.velocity.y=f.between(this.minParticleSpeed.y,this.maxParticleSpeed.y),i.angularVelocity=f.between(this.minRotation,this.maxRotation),i.gravity=this.gravity,i.angularDrag=this.angularDrag,e.onEmit(),!0},c.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),c.Group.prototype.destroy.call(this,!0,!1)},c.Particles.Arcade.Emitter.prototype.setSize=function(a,b){return this.area.width=a,this.area.height=b,this},c.Particles.Arcade.Emitter.prototype.setXSpeed=function(a,b){return a=a||0,b=b||0,this.minParticleSpeed.x=a,this.maxParticleSpeed.x=b,this},c.Particles.Arcade.Emitter.prototype.setYSpeed=function(a,b){return a=a||0,b=b||0,this.minParticleSpeed.y=a,this.maxParticleSpeed.y=b,this},c.Particles.Arcade.Emitter.prototype.setRotation=function(a,b){return a=a||0,b=b||0,this.minRotation=a,this.maxRotation=b,this},c.Particles.Arcade.Emitter.prototype.setAlpha=function(a,b,d,e,f){if(void 0===a&&(a=1),void 0===b&&(b=1),void 0===d&&(d=0),void 0===e&&(e=c.Easing.Linear.None),void 0===f&&(f=!1),this.minParticleAlpha=a,this.maxParticleAlpha=b,this.autoAlpha=!1,d>0&&a!==b){var g={v:a},h=this.game.make.tween(g).to({v:b},d,e);h.yoyo(f),this.alphaData=h.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},c.Particles.Arcade.Emitter.prototype.setScale=function(a,b,d,e,f,g,h){if(void 0===a&&(a=1),void 0===b&&(b=1),void 0===d&&(d=1),void 0===e&&(e=1),void 0===f&&(f=0),void 0===g&&(g=c.Easing.Linear.None),void 0===h&&(h=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(a,d),this._maxParticleScale.set(b,e),this.autoScale=!1,f>0&&(a!==b||d!==e)){var i={x:a,y:d},j=this.game.make.tween(i).to({x:b,y:e},f,g);j.yoyo(h),this.scaleData=j.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},c.Particles.Arcade.Emitter.prototype.at=function(a){return a.center?(this.emitX=a.center.x,this.emitY=a.center.y):(this.emitX=a.world.x+a.anchor.x*a.width,this.emitY=a.world.y+a.anchor.y*a.height),this},Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(a){this.area.width=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(a){this.area.height=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(a){this.emitX=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(a){this.emitY=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),c.Weapon=function(a,b){c.Plugin.call(this,a,b),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new c.Rectangle(0,0,1,1),this.fireAngle=c.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new c.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=c.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=c.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new c.Rectangle,this.bulletBounds=a.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new c.Signal,this.onKill=new c.Signal,this.onFireLimit=new c.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new c.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new c.Point},c.Weapon.prototype=Object.create(c.Plugin.prototype),c.Weapon.prototype.constructor=c.Weapon,c.Weapon.KILL_NEVER=0,c.Weapon.KILL_LIFESPAN=1,c.Weapon.KILL_DISTANCE=2,c.Weapon.KILL_WEAPON_BOUNDS=3,c.Weapon.KILL_CAMERA_BOUNDS=4,c.Weapon.KILL_WORLD_BOUNDS=5,c.Weapon.KILL_STATIC_BOUNDS=6,c.Weapon.prototype.createBullets=function(a,b,d,e){return void 0===a&&(a=1),void 0===e&&(e=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(c.Physics.ARCADE,e),this.bullets.classType=this._bulletClass),0!==a&&(a===-1&&(this.autoExpandBulletsGroup=!0,a=1),this.bullets.createMultiple(a,b,d),this.bullets.setAll("data.bulletManager",this),this.bulletKey=b,this.bulletFrame=d),this},c.Weapon.prototype.forEach=function(a,b){return this.bullets.forEachExists(a,b,arguments),this},c.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},c.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},c.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},c.Weapon.prototype.resetShots=function(a){return this.shots=0,void 0!==a&&(this.fireLimit=a),this},c.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},c.Weapon.prototype.update=function(){this._bulletKillType===c.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},c.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},c.Weapon.prototype.trackSprite=function(a,b,c,d){return void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=!1),this.trackedPointer=null,this.trackedSprite=a,this.trackRotation=d,this.trackOffset.set(b,c),this},c.Weapon.prototype.trackPointer=function(a,b,c){return void 0===a&&(a=this.game.input.activePointer),void 0===b&&(b=0),void 0===c&&(c=0),this.trackedPointer=a,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(b,c),this},c.Weapon.prototype.fireMany=function(a,b){this.multiFire=!0;var c=[],d=this;return b||this.trackedSprite||this.trackedPointer?a.forEach(function(a){c.push(d.fire(b,null,null,a.x,a.y))}):a.forEach(function(a){c.push(d.fire(a))}),c},c.Weapon.prototype.fireOffset=function(a,b){return void 0===a&&(a=0),void 0===b&&(b=0),this.fire(null,null,null,a,b)},c.Weapon.prototype.fire=function(a,b,d,e,f){if(void 0===b&&(b=null),void 0===d&&(d=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var g=this.bulletSpeed;0!==this.bulletSpeedVariance&&(g+=c.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),a?this.fireFrom.width>1?this.fireFrom.centerOn(a.x,a.y):(this.fireFrom.x=a.x,this.fireFrom.y=a.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(g+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==e&&(this.fireFrom.x+=e),void 0!==f&&(this.fireFrom.y+=f);var h=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,i=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,j=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==b&&null!==d&&(j=this.game.math.radToDeg(Math.atan2(d-i,b-h))),0!==this.bulletAngleVariance&&(j+=c.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var k=0,l=0;0===j||180===j?k=Math.cos(this.game.math.degToRad(j))*g:90===j||270===j?l=Math.sin(this.game.math.degToRad(j))*g:(k=Math.cos(this.game.math.degToRad(j))*g,l=Math.sin(this.game.math.degToRad(j))*g);var m=null;if(this.autoExpandBulletsGroup?(m=this.bullets.getFirstExists(!1,!0,h,i,this.bulletKey,this.bulletFrame),m.data.bulletManager=this):m=this.bullets.getFirstExists(!1),m){if(m.reset(h,i),m.data.fromX=h,m.data.fromY=i,m.data.killType=this.bulletKillType,m.data.killDistance=this.bulletKillDistance,m.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===c.Weapon.KILL_LIFESPAN&&(m.lifespan=this.bulletLifespan),m.angle=j+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===m.animations.getAnimation(this.bulletAnimation)){var n=this.anims[this.bulletAnimation];m.animations.add(n.name,n.frames,n.frameRate,n.loop,n.useNumericIndex)}m.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(m.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(m.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);m.data.bodyDirty&&(this._data.customBody&&m.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),m.body.collideWorldBounds=this.bulletCollideWorldBounds,m.data.bodyDirty=!1),m.body.velocity.set(k,l),m.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var o=0;if(0!==this.bulletSpeedVariance){var p=this.fireRate;p+=c.Math.between(-this.fireRateVariance,this.fireRateVariance),p<0&&(p=0),o=this.game.time.now+p}else o=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=o,this.shots++):(this._nextFire=o,this.shots++),this.onFire.dispatch(m,this,g),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return m},c.Weapon.prototype.fireAtPointer=function(a){return void 0===a&&(a=this.game.input.activePointer),this.fire(null,a.worldX,a.worldY)},c.Weapon.prototype.fireAtSprite=function(a){return this.fire(null,a.world.x,a.world.y)},c.Weapon.prototype.fireAtXY=function(a,b){return this.fire(null,a,b)},c.Weapon.prototype.setBulletBodyOffset=function(a,b,c,d){return void 0===c&&(c=0),void 0===d&&(d=0),this._data.customBody=!0,this._data.width=a,this._data.height=b,this._data.offsetX=c,this._data.offsetY=d,this.bullets.callAll("body.setSize","body",a,b,c,d),this.bullets.setAll("data.bodyDirty",!1),this},c.Weapon.prototype.setBulletFrames=function(a,b,d,e){return void 0===d&&(d=!0),void 0===e&&(e=!1),this.bulletFrames=c.ArrayUtils.numberArray(a,b),this.bulletFrameIndex=0,this.bulletFrameCycle=d,this.bulletFrameRandom=e,this},c.Weapon.prototype.addBulletAnimation=function(a,b,c,d,e){return this.anims[a]={name:a,frames:b,frameRate:c,loop:d,useNumericIndex:e},this.bullets.callAll("animations.add","animations",a,b,c,d,e),this.bulletAnimation=a,this},c.Weapon.prototype.debug=function(a,b,c){void 0===a&&(a=16),void 0===b&&(b=32),void 0===c&&(c=!1),this.game.debug.text("Weapon Plugin",a,b),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,a,b+24),c&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(c.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(a){this._bulletClass=a,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(c.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(a){switch(a){case c.Weapon.KILL_STATIC_BOUNDS:case c.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case c.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case c.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=a}}),Object.defineProperty(c.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(a){this._bulletCollideWorldBounds=a,this.bullets.setAll("body.collideWorldBounds",a),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(c.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(a){this.fireFrom.x=a}}),Object.defineProperty(c.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(a){this.fireFrom.y=a}}),c.Bullet=function(a,b,d,e,f){c.Sprite.call(this,a,b,d,e,f),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},c.Bullet.prototype=Object.create(c.Sprite.prototype),c.Bullet.prototype.constructor=c.Bullet,c.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},c.Bullet.prototype.update=function(){this.exists&&(this.data.killType>c.Weapon.KILL_LIFESPAN&&(this.data.killType===c.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},c.Video=function(a,b,d){if(void 0===b&&(b=null),void 0===d&&(d=null),this.game=a,this.key=b,this.width=0,this.height=0,this.type=c.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new c.Signal,this.onChangeSource=new c.Signal,this.onComplete=new c.Signal,this.onAccess=new c.Signal,this.onError=new c.Signal,this.onTimeout=new c.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,b&&this.game.cache.checkVideoKey(b)){var e=this.game.cache.getVideo(b);e.isBlob?this.createVideoFromBlob(e.data):this.video=e.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else d&&this.createVideoFromURL(d,!1);this.video&&!d?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(c.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new c.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==b&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,c.BitmapData&&(this.snapshot=new c.BitmapData(this.game,"",this.width,this.height)),!this.game.device.cocoonJS&&(this.game.device.iOS||this.game.device.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock?this.setTouchLock():e&&(e.locked=!1)},c.Video.prototype={connectToMediaStream:function(a,b){return a&&b&&(this.video=a,this.videoStream=b,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(a,b,c){if(void 0===a&&(a=!1),void 0===b&&(b=null),void 0===c&&(c=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==b&&(this.video.width=b),null!==c&&(this.video.height=c),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:a,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(a){this.getUserMediaError(a)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(a){clearTimeout(this._timeOutID),this.onError.dispatch(this,a)},getUserMediaSuccess:function(a){clearTimeout(this._timeOutID),this.videoStream=a,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=a:this.video.src=window.URL&&window.URL.createObjectURL(a)||a;var b=this;this.video.onloadeddata=function(){function a(){if(c>0)if(b.video.videoWidth>0){var d=b.video.videoWidth,e=b.video.videoHeight;isNaN(b.video.videoHeight)&&(e=d/(4/3)),b.video.play(),b.isStreaming=!0,b.baseTexture.source=b.video,b.updateTexture(null,d,e),b.onAccess.dispatch(b)}else window.setTimeout(a,500);else console.warn("Unable to connect to video stream. Webcam error?");c--}var c=10;a()}},createVideoFromBlob:function(a){var b=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(a){b.updateTexture(a)},!0),this.video.src=window.URL.createObjectURL(a),this.video.canplay=!0,this},createVideoFromURL:function(a,b){return void 0===b&&(b=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,b&&this.video.setAttribute("autoplay","autoplay"),this.video.src=a,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=a,this},updateTexture:function(a,b,c){var d=!1;void 0!==b&&null!==b||(b=this.video.videoWidth,d=!0),void 0!==c&&null!==c||(c=this.video.videoHeight),this.width=b,this.height=c,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(b,c),this.texture.frame.resize(b,c),this.texture.width=b,this.texture.height=c,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(b,c),d&&null!==this.key&&(this.onChangeSource.dispatch(this,b,c),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(a,b){return this._pendingChangeSource?this:(void 0===a&&(a=!1),void 0===b&&(b=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=a?"loop":"",this.video.playbackRate=b,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,a,b)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(a){a.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(a){if(Array.isArray(a))for(var b=0;b0?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),exports.Phaser=c):"undefined"!=typeof define&&define.amd?define("Phaser",function(){return b.Phaser=c}()):b.Phaser=c,c}.call(this); //# sourceMappingURL=phaser.map \ No newline at end of file diff --git a/src/content/index_fr.md b/src/content/index_fr.md new file mode 100644 index 0000000..7b6ef29 --- /dev/null +++ b/src/content/index_fr.md @@ -0,0 +1,21 @@ +--- +title: Page d'accueil +permalink: false +collection_base: platformer +layout: default_fr.pug +--- + +Apprendre à créer des **jeux HTML5** avec JavaScript et Phaser ! + +# Pour les étudiants + +1. [Installation sur votre machine](/fr/guides/installation/installation-sur-votre-machine) +2. [Créer un jeu de type plateforme](/fr/guides/plateforme/demarrer/) + +Matériel bonus : + +- [Ressources](/fr/cadeaux/ressources/) + +# Pour les enseignants + +- [Guide de l'atelier](/fr/guides/enseignant/) diff --git a/src/content/platformer/index_en.md b/src/content/platformer/index_en.md index b7306a1..409d158 100644 --- a/src/content/platformer/index_en.md +++ b/src/content/platformer/index_en.md @@ -29,7 +29,7 @@ That said, if _you_ are familiar with this tools/concepts and want to use them i ## Important! -This guide uses [Phaser version **2.6.2 "Kore Springs"**](http://phaser.io/docs/2.6.2/index). This version is what it's included in the project template provided in the next step. +This guide uses [Phaser CE version **2.7.7**](https://photonstorm.github.io/phaser-ce/). This version is what it's included in the project template provided in the next step. It is possible that later on some changes in Phaser API in future versions might make this guide not 100% compatible with the latest Phaser version. We will try to keep this updated, though. diff --git a/src/content/platformer/index_fr.md b/src/content/platformer/index_fr.md new file mode 100644 index 0000000..afeb468 --- /dev/null +++ b/src/content/platformer/index_fr.md @@ -0,0 +1,40 @@ +--- +title: Démarrer +layout: guide_index_fr.pug +collection_base: platformer +author_twitter: ladybenko +author_name: Belén "Benko" Albeza" +--- + +Nous allons créer un classique jeu de plateforme. Notre héros ou héroïne pourra courir, sauter sur des plateforme avec pour objectif de récolter une clé ouvrant la porte vers le niveau suivant. Des ennemis devront être évités, ou tués. + +[![Capture d'écran](/assets/platformer/platformer_screenshot.png)](/platformer/) + +Testez le jeu sur [la page suivante](/platformer/). + +Nous allons réaliser les différentes étapes: + +- **chargement** d'images, de ressources externes; +- gestion des **états** du jeu; +- afficher des **images** à l'écran; +- réalisation des **_sprites_**; +- lire les **actions** du joueur, de la joueuse depuis le clavier +- utiliser le moteur physique pour déplacer les éléments et gérer les collision; +- écrire du texte à l'aide d'une police de type bitmap; +- jouer une musique de fond ainsi que des effets sonores + +Nous allons nous concentrer sur l'utilisation de l'interface offerte par [Phaser](http://phaser.io/). Le développement JavaScript moderne et avancé ne sera pas couvert. + +Cependant rien ne vous empêche de vous servir des concepts avancés que vous connaissez déjà. + +# Phaser + +Ce guide utilise Phaser CE 2.7.7\. Si d'aventure l'API de cette bibliothèque devait dans le futur, il est possible que les exemples fournis ne soient plus 100% corrects. + +# Rendons à César + +Les fichiers d'images et de sons, ils sont disponible dans le domaine public sous la licence CC0. + +- les images ont été créé par le fameux [Kenney](http://www.kenney.nl/); +- les sons d'arrière-plan provient a été créé par [Rick Hoppmann](http://www.tinyworlds.org/); +- et les effets sonores à l'aide de [bfxr](http://www.bfxr.net/). diff --git a/src/content/platformer/step01_fr.md b/src/content/platformer/step01_fr.md new file mode 100644 index 0000000..2db43aa --- /dev/null +++ b/src/content/platformer/step01_fr.md @@ -0,0 +1,51 @@ +--- +title: Démarrer avec Phaser +layout: guide_step_fr.pug +download: /assets/platformer/steps/step01.js +--- + +# Tâches + +## Créer le squelette du projet + +1. Créer un répertoire pour votre jeu + +2. Télécharger et décompressez le [projet de base](/assets/platformer/start.zip). L'arborescence doit ressembler à celle-ci. + + ```bash + jeu + ├── audio + ├── data + ├── images + ├── index.html + └── js + ``` + +3. Lancer le serveur web local dans le répertoire racine (voir [install guide](/fr/guides/installation/) et consulter la page dans un navigateur. + + Si vous utilisez l'éditeur _Brackets_, le module _Aperçu en direct_ est amplement suffisant. + +## Initialiser Phaser + +1. Notre jeu HTML5 va se servir de l'élément `` pour dessiner. Phaser peut en créer un pour nous au démarrage. Il nous faut lui fournir l'élément conteneur ainsi que les dimensions de la zone de dessin (960✕600). + + Pour ce faire, modifier `js/main.js` et y ajouter la portion suivante qui va initialiser Phaser. + + ```javascript + window.onload = function () { + let game = new Phaser.Game(960, 600, Phaser.AUTO, 'game'); + }; + ``` + + `Phaser.AUTO` va tenter d'utiliser un contexte de type _WebGL_ plus performant qu'un simple canvas 2D. + +2. Rafraîchir le navigateur, un carré noir devrait apparaître. + + ![Empy canvas on the screen](/assets/platformer/step00_check.png) + +# Vérifications + +Avant de passer à l'étape suivante, vérifiez que: + +- Vous pouvez accéder au fichier `index.html` depuis votre navigateur +- et qu'un carré noir apparait dans la page. diff --git a/src/content/platformer/step02_fr.md b/src/content/platformer/step02_fr.md new file mode 100644 index 0000000..758316e --- /dev/null +++ b/src/content/platformer/step02_fr.md @@ -0,0 +1,74 @@ +--- +title: La boucle principale +layout: guide_step.pug +download: /assets/platformer/steps/step02.js +--- + +Le cœur de tout jeu est composé d'une boucle. Au sein de cette boucle sont traités les évènements externes (souris ou clavier), la modification de l'état du jeu (`update`) puis le dessin (`render`). + +![The game loop](/assets/platformer/game_loop.png) + +Au sein de Phaser, la boucle principale est générée automatiquement via les états du jeu. Un état correspond àà un « écran » dans notre jeu. Par exemple, l'écran de chargement, le menu principal, un niveau, etc. Chaque état est divisé en différentes étapes. Les importantes étant les suivantes. + +![Game state](/assets/platformer/game_state.png) + +Les phases `update` (mise à jour) et `render` (affichage) sont **appelées** automatiquement à chaque frame, ainsi il ne nous est pas nécessaire de gérer le temps. + +Un état dans Phaser est un `Object` JavaScript possédant des méthodes spécifiques. Nous allons voir comment précharger et afficher une image de fond. + +# Tâches + +## Créer un état + +1. Comme prédédamment, modifier `js/index.js` pour y ajouter un état nommé `play`. + + ```javascript + const PlayState = {}; + + window.onload = function () { + let game = new Phaser.Game(960, 600, Phaser.AUTO, 'game'); + game.state.add('play', PlayState); + game.state.start('play'); + }; + ``` + +## Charger et afficher une image + +1. Afin de **charger une image**, nous allons utiliser la phase `preload` de notre état. Dans cette phase, toutes les _assets_ (images, sons, etc.) vont être chargés. + + Pour utiliser cette phase, il faut créer une méthode du même nom. + + ```javascript + const PlayState = {}; + + PlayState.preload = function () { + this.game.load.image('background', 'images/background.png'); + }; + ``` + + Points importants : + + 1. Notre état possède une référence au jeu en cours via la propriété `game`. + 2. Au chargement d'un asset, il est possible de lui donner un nom qui est réutilisé par la suite. + +2. Pour **afficher une image**, nous devons créer une instance de `Phaser.Image`. La méthode `game.add` s'occupe de créer ajouter l'image à notre univers. Ainsi, l'élément est dessiné automatiquement. + + Ajouter la phase `create` à l'état du jeu. + + ```javascript + PlayState.create = function () { + this.game.add.image(0, 0, 'background'); + }; + ``` + + `0, 0` correspondent aux coordonnées X et Y. En informatique, contrairement aux mathématiques, l'origine se trouve en haut à gauche, l'axe X va à droite et l'axe Y vers le bas. + +Votre page doit afficher un superbe fond d'écran bleuté. + +![A background, rendered](/assets/platformer/step01_check.png) + +# Vérifications + +- Un fond d'écran bleuté remplace le fond noir. + +Être capable d'afficher des images est la première étape vers la construction d'un jeu vidéo. Préparez-vous pour les étapes suivantes! diff --git a/src/content/platformer/step03_fr.md b/src/content/platformer/step03_fr.md new file mode 100644 index 0000000..dd248d4 --- /dev/null +++ b/src/content/platformer/step03_fr.md @@ -0,0 +1,98 @@ +--- +title: Création des plateformes +layout: guide_step_fr.pug +download: /assets/platformer/steps/step03.js +--- + +Un jeu de plateforme à besoin de... plateformes, juste? Il existe plusieurs techniques pour gérer des plateformes and la physique y relative. Dans cet atelier, nous allons considérer les plateformes comme des **sprites**, comme n'importe quel autre caractère dans le jeu. + +Si c'est la méthode la plus simple, c'est loin d'être la plus efficace. + +Une plateforme de taille 4×1 et 1×1 ressembleront à ceci. + +![4x1 grass platform](/assets/platformer/grass_4x1.png) ![1x1 grass platform](/assets/platformer/grass_1x1.png) + +Comme pour les images, il y a une méthode pour créer des _sprites_ (dans ce cas des `Phaser.Sprite`) et les ajouter automatiquement + +Comment séparer la logique du jeu, d'une carte et de notre jeu? L'idée est d'utiliser des fichiers **JSON** représentant chaque niveau. Le répertoire `data` en contient deux pour débuter. + +Idéalement ces fichiers sont à générer à l'aide d'un éditeur ad hoc, tel que Tiled. + +Si vous ouvrez un de ces fichiers, on peut y voir les plateformes stockées dans un tableau (`[]`). + +```javascript +{ + "platforms": [ + {"image": "ground", "x": 0, "y": 546}, + {"image": "grass:4x1", "x": 420, "y": 420} + ], + // .... +} +``` + +# Tâches + +## Charger les données des niveaux + +1. Phaser considère les fichiers JSON comme un type d'asset, tel qu'une image. Nous devons donc précharger le fichier de manière similaire. + + ```javascript + PlayState.preload = function () { + // ... + this.game.load.json('level:1', 'data/level01.json'); + }; + ``` + + Comme pour l'image, on donne un nom à l'élément pour pouvoir s'en reservir par la suite. + +2. À présent, pour pouvons y accéder dans l'étape `create`. + + ```javascript + PlayState.create = function () { + //... + this.loadLevel(this.game.cache.getJSON('level:1')); + }; + + PlayState.loadLevel = function (data) { + console.log(data); + }; + ``` + + `console.log()` va afficher le contenu du niveau dans la console du développeur qu'on peut afficher depuis la touche F12 du navigateur. + +## Dessiner les plateformes à l'aide de _sprites_ + +1. Avant de créer les _sprites_, nous devons précharger toutes les images requises. Et ceci, va dans l'étape `preload`. + + ```javascript + PlayState.preload = function () { + // ... + this.game.load.image('ground', 'images/ground.png'); + this.game.load.image('grass:8x1', 'images/grass_8x1.png'); + this.game.load.image('grass:6x1', 'images/grass_6x1.png'); + this.game.load.image('grass:4x1', 'images/grass_4x1.png'); + this.game.load.image('grass:2x1', 'images/grass_2x1.png'); + this.game.load.image('grass:1x1', 'images/grass_1x1.png'); + }; + ``` + +2. À présent, nous pouvons compléter la méthode de chargement du niveau `loadLevel` afin de dessiner les plateformes. Le tableau de plateformes se parcourse à l'aide d'un `forEach`. Le `this` tout seul est lié à comment JavaScript fonctionne en interne. + + ```javascript + PlayState.loadLevel = function (data) { + data.platforms.forEach(this.spawnPlatform, this); + }; + + PlayState.spawnPlatform = function(platform) { + this.game.add.sprite(platform.x, platform.y, platform.image); + }; + ``` + + Rafraîchir le navigateur va laisser apparaître les plateformes à l'écran. + +![Des plateformes](/assets/platformer/step02_check.png) + +# Vérifications + +- Vous pouvez voir les plateformes dessinées sur la fond d'écran; +- Assurez-vous de bien utiliser `game.add.sprite` et non `game.add.image`. diff --git a/src/content/platformer/step04_fr.md b/src/content/platformer/step04_fr.md new file mode 100644 index 0000000..0364421 --- /dev/null +++ b/src/content/platformer/step04_fr.md @@ -0,0 +1,92 @@ +--- +title: Le caractère principal +layout: guide_step_fr.pug +download: /assets/platformer/steps/step04.js +--- + +Le héro ou héroïne ne notre jeu sera un autre **sprite**. Cependant ce sprite est plus complexe que les plateformes. Il y a plus de logiques associées au joueur comme le déplacement, le saut, etc. + +Il semblerait judicieux d'ajouter des méthodes comme sauter (`jump`) ou se déplacer (`move`). On fait ceci est dérivant (appelé héritage) `Phaser.Sprite`. + +En JavaScript, le patron de conception suivant utilisé. Imaginons que nous devions créer une classe voiture (`Car`) spécialisant une classe véhicule (`Vehicle`). + +```javascript +function Car() { + // call parent constructor + Vehicle.call(this); +} + +// clone Vehicle's prototype into Car +Car.prototype = Object.create(Vehicle.prototype); +// restore the constructor at Car +Car.prototype.constructor = Car; +``` + +Nous allons nous en servir pour spécialiser `Phaser.Sprite`. + +# Tâches + +## Charger l'image du héro + +1. Dans l'étape `preload`, ajouter le chargement de l'image `hero_stopped.png`. + + ```javascript + PlayState.preload = function () { + // ... + this.game.load.image('hero', 'images/hero_stopped.png'); + }; + ``` + + ### Spécialiser `Phaser.Sprite` + +2. Ajoutez la définition du héro dans `main.js`. On suit le patron d'héritage utilisé en JavaScript. + + ```javascript + function Hero(game, x, y) { + // Appel le constructeur de Phaser.Sprite + Phaser.Sprite.call(this, game, x, y, 'hero'); + } + + // inherit from Phaser.Sprite + Hero.prototype = Object.create(Phaser.Sprite.prototype); + Hero.prototype.constructor = Hero; + ``` + +## Afficher le héro à la création + +1. Comme pour les plateformes, la position du héro est donnée dans le fichier JSON. Nous créons une nouvelle méthode permettant d'afficher les caractères. + + ```javascript + PlayState.loadLevel = function (data) { + //... + this.spawnCharacters({hero: data.hero}); + }; + ``` + + ```javascript + PlayState.spawnCharacters = function (data) { + this.hero = new Hero(this.game, data.hero.x, data.hero.y); + this.game.add.existing(this.hero); + }; + ``` + +2. Après rafraichissement de la page, le personnage apparaît... cependant il semble mal positionné. + + ![Un héro mal positionné](/assets/platformer/hero_bad_position.png) + +3. Phaser gère le positionnement d'un _sprite_ à l'aide d'un ancre (`anchor`). C'est un vecteur x, y allant de 0 à 1 (gauche - droite, haut - bas). Afin de center le héro, il faut le placer à la position `(0.5, 0.5)c)`. Modifier le constructeur du héro de la manière suivante. + + ```javascript + function Hero(game, x, y) { + // ... + this.anchor.set(0.5, 0.5); + } + ``` + +Et voilà, le héro à désormais les pieds sur terre. + +![Hero positioned correctly in the scenario](/assets/platformer/step03_check.png) + +# Vérifications + +- Il y a un personnage sur le sol positionné en bas à gauche du niveau. diff --git a/src/content/platformer/step05_fr.md b/src/content/platformer/step05_fr.md new file mode 100644 index 0000000..bf359b2 --- /dev/null +++ b/src/content/platformer/step05_fr.md @@ -0,0 +1,83 @@ +--- +title: Contrôles au clavier +layout: guide_step_fr.pug +download: /assets/platformer/steps/step05.js +--- + +La joueuse ou le joueur contrôlera le personnage principal à l'aide du claivier. Pour commencer, il se déplacera à gauche ou à droite en utilisant les flèches du clavier. + +Phaser gère l'état des touches avec des instances de la classe `Phaser.Key`. Chaque instance est lié à une touche spécifique. Comme tout le clavier ne nous intéresse, nous allors écouter uniquement les touches flèche gauche et droite. + +# Tâches + +## Créer les instances de `Phaser.Key` + +1. La création des `Phaser.Key` se fait via [`game.input.keyboard.addKeys`](http://phaser.io/docs/2.6.2/Phaser.Keyboard.html#addKeys) qui permet d'instancier plusieurs touches à la fois. Nous utilisons la phase `init` car il n'est pas nécessaire d'avoir les assets chargés avec `preload`. + + ```javascript + PlayState.init = function () { + this.keys = this.game.input.keyboard.addKeys({ + left: Phaser.KeyCode.LEFT, + right: Phaser.KeyCode.RIGHT + }); + }; + ``` + +## Ajouter le mouvement `move` au héros + +1. Ici, nous allons pouvoir bénéficier du fait d'avoir spécialisé le `Phaser.Sprite` pour le héros. Ajoutez la la méthode déplacer `move` qui recevra en argument `-1` pour gauche et `1` pour droite. + + ```javascript + Hero.prototype = Object.create(Phaser.Sprite.prototype); + Hero.prototype.constructor = Hero; + + Hero.prototype.move = function (direction) { + this.x += direction * 2.5; // 2.5 pixels each frame + }; + ``` + +## Lier les touches et le déplacement + +1. Rappelez-vous comment `update` et `render` opère dans la boucle principale. + + ```javascript + PlayState.update = function () { + this.handleInput(); + }; + ``` + + ```javascript + PlayState.handleInput = function () { + if (this.keys.left.isDown) { + this.hero.move(-1); + } + if (this.keys.right.isDown) { + this.hero.move(1); + } + }; + ``` + +## Problème d'_antialiasing_ + +1. Avec un œil de lynx, on peut distinguer que le héros et tantôt un peu flouté lorsqu'il se déplace. + + ![Blurry hero sprite](/assets/platformer/blurry_hero.png) + + Ceci est dû à l'_anti-aliasing_, une technique utilisée pour dessiner des images dans un système de coordonnées flottant (comme `100.27` au lieu de `100`). Pour la plupart des jeux, ce résultat est désiré pour un rendu plus lisse. Mais dans un jeu utilisant le style _pixel art_, c'est n'est pas ok d'avoir des flous, même légèrement. + + Heureusement pour nous, il existe un moyen de forcer Phaser à arrondir le dessin des images. + + Ceci peut se faire dans la phase d'initialisation `init` étant donné qu'elle est exécutée avant les autres. + + ```javascript + PlayState.init = function () { + this.game.renderer.renderSession.roundPixels = true; + // ... + }; + ``` + +# Vérifications + +- Le héros se déplace à gauche ou droite avec les flèches du clavier; +- Le dessin reste précis même après déplacement du héros. Vous pouvez vérifiez en zoomant dans le navigateur (`Ctrl`-`+` pour Windows/Linux, ou `⌘`- `+` sous macOS) + diff --git a/src/content/platformer/step06_fr.md b/src/content/platformer/step06_fr.md new file mode 100644 index 0000000..1c709cf --- /dev/null +++ b/src/content/platformer/step06_fr.md @@ -0,0 +1,74 @@ +--- +title: Utilisation de la physique +layout: guide_step_fr.pug +download: /assets/platformer/steps/step06.js +--- + +Dans les étapes précédentes, nous avons lié le mouvement à une valeur par image. Ce qui signifie que la vitesse du héros est liée à la fréquence de rafraîchissement du jeu. Le nombre d'images par seconde. Cependant, il serait plus judicieux d'utiliser le temps. + +Nous pourrions le faire à la main en calculant la **différence de temps** entre deux images, mais Phaser nous offre une solution bien plus élégante : **un moteur physique**. + +Les moteurs physiques sont généralement très coûteux en termes de calculs. Phaser utilise une solution petite et très rapide nommée Arcade Physics. Bien que limité à des formes rectangulaires sans rotation, il sera amplement suffisant pour les besoins d'un jeu comme le nôtre et sans créer de dégradation de performance. + +Nous utiliserons le moteur physique pour gérer les déplacements, mais aussi, par la suite, la gravité, les collisions, etc. + +Le point crucial à prendre en compte est que chaque sprite possède un corps physique `body`, et ce corps est déplaclé, tourné, etc. par le moteur. Phaser va automatiquement mettre à jour les propriétés de l'objet comme sa position (`x, y`) nous évitant d'avoir à le faire. + +# Tâches + +## Ajouter un corps physique au héros + +1. Pour ce faire, il suffit d'activer `enable` la physique du _sprite_. + + ```js + function Hero(game, x, y) { + // ... + this.game.physics.enable(this); + } + ``` + +2. La méthode de délacement `move` travaillant sur la position. Nous allons à présent laisser le moteur physique gérer celà pour nous et simplement agir sur la vitesse de déplacement. + + ```js + Hero.prototype.SPEED = 200; + + Hero.prototype.move = function (direction) { + this.body.velocity.x = direction * this.SPEED; + }; + ``` +3. Essayez dans le navigateur! Il bouge, oui? Mais il ne s'arrête pas. + +## Stopper le héros + +1. À présent que le héros possède une vitesse, il est important de remettre cette vitesse à zéro quand aucune touche n'est enfoncée. + + ```js + PlayState.handleInput = function () { + if (this.keys.left.isDown) { + // ... + } + else if (this.keys.right.isDown) { + // ... + } + else { + this.hero.move(0); + } + }; + ``` + +## Contraindre la héros aux limites de l'écran + +1. Un avant-goût de ce qu'un moteur physique peut faire pour nous presque gratuîtement est d'empêcher le héros de sortir des limites de l'écran. Dans Phaser, ceci se fait en activant un drapeau sur le corps physique. Modifiez donc le constructeur du héros pour activer la collision avec les limites du monde (`collideWorldBounds`). + + ```js + function Hero(game, x, y) { + // ... + this.body.collideWorldBounds = true; + } + ``` + +# Vérifications + +- Le héro se déplace toujours à gauche ou droite à l'aide des flèches +- Il stoppe au relâchement des touches +- Il ne peut sortir de l'écran diff --git a/src/content/platformer/step07_fr.md b/src/content/platformer/step07_fr.md new file mode 100644 index 0000000..9e04ddb --- /dev/null +++ b/src/content/platformer/step07_fr.md @@ -0,0 +1,108 @@ +--- +title: Gravitation +layout: guide_step_fr.pug +download: /assets/platformer/steps/step07.js +--- + +L'utilisation d'un moteur facilite la gestion des sauts et de la gravité. À présent, nous allons ajouter la force gravitationnelle au monde. Ainsi, le héros pourra marcher sur les plateformes. Un effet secondaire de ceci est que le héros ne pourra également plus passer à travers les murs. + +Nous pouvons définir la gravitation pour toutes les entités du monde. Dans un jeu de plateforme, on désire que les caractères tels que le héros et les ennemis soient affectée par elle. Cependant, les autres éléments comme les murs ou pièces devraient rester immobiles et non soumise à la gravitation. + +Un élément important que nous introduisons ici est de regrouper les sprites d'un même type ensemble. Dans Phaser, il faut créer une instance de `Phaser.Group`. À partir de là, nous pouvons gérer les collisions entre éléments individuels, ainsi que vis-à-vis de groupes. + +# Tâches + +## Activer la gravitation globale + +1. Modifier la méthode de chargement du niveau `loadLevel` pour activer la gravitation. + + ```javascript + const PlayState = { + GRAVITY: 1200 + } + + PlayState.loadLevel = function (data) { + // ... + this.game.physics.arcade.gravity.y = this.GRAVITY; + }; + ``` + +Faire ceci dans le chargement du niveau permettrait d'avoir de modifier la gravité en fonction de l'univers en cours. Pourquoi ne pas avoir un niveau se déroulant sur la Lune? + +2. Vérifiez dans le navigateur. Le héros est sensé tomber et les autres éléments ne bougent pas, car il ne possède pas encore de corps physique. + + ![Main character falling down](/assets/platformer/hero_fall_bottom.png) + +## Permettre au héros d'entrer en collision avec les plateformes + +1. Notre héros de devrait pas, tel un fantôme, passer à travers les murs. Pour nous simplifier la tâche, nous allons placer les plateformes dans un groupe. + + ```javascript + PlayState.loadLevel = function (data) { + this.platforms = this.game.add.group(); + + // ... + }; + ``` + +2. À présent, la création d'une plateform, d'un `Phaser.Sprite`, va se faire au travers du groupe. Et comme pour le héros, il est indispensable d'activer la physique. + + ```javascript + PlayState.spawnPlatform = function (platform) { + let sprite = this.platforms.create( + platform.x, platform.y, platform.image); + + this.game.physics.enable(sprite); + }; + ``` + +3. Le héros et les plateformes n'entrent pas en collision encore. Il faut explicitement générer la collision à chaque mise à jour `update` de l'état du jeu. + + ```js + PlayState.update = function () { + this.handleCollisions(); + this.handleInput(); + }; + + PlayState.handleCollisions = function () { + this.game.physics.arcade.collide(this.hero, this.platforms); + }; + ``` + +4. Si on essaie, les plateformes tombent et une persiste en restant sur la tête du héros. Le héros reste car nous l'avons empêcher de sortir de l'écran. + + ![Platforms falling](/assets/platformer/platforms_falling.gif) + +## Corriger la gravitation des éléments fixes + +1. Si les collisions sont importantes pour les plateformes, la gravitation ne l'est pas. Désactivons-la. + + ```js + PlayState.spawnPlatform = function (platform) { + // ... + sprite.body.allowGravity = false; + }; + ``` + +2. On rafraichit le jeu et les plateformes restent en place... sauf le sol. Ceci se produit car le poids du héros va être appliqué sur le sol et le faire tomber. + +3. Pour corriger ce dernier point, nous devons rendre notre plateformes immuables en cas de collision. + + ```js + PlayState._spawnPlatform = function (platform) { + // ... + sprite.body.immovable = true; + }; + ``` + +Tout devrait fonctionner à merveilles à présent. En bonus, le héros n'est plus capable de traverser les murs et va rester bloqué au milieu par le petit bloc. + +![Character vs Wall](/assets/platformer/step06_check.png) + +# Vérifications + +- Les plateformes restent en place +- Le héros ne tombent pas à travers du sol +- Le héros ne peut pas traverser le petit mur posé sur le sol + +À présent, il est temps de sauter! diff --git a/src/content/platformer/step08_fr.md b/src/content/platformer/step08_fr.md new file mode 100644 index 0000000..993f494 --- /dev/null +++ b/src/content/platformer/step08_fr.md @@ -0,0 +1,111 @@ +--- +title: Sauts +layout: guide_step_fr.pug +download: /assets/platformer/steps/step08.js +--- + +La gravité en place, il est quasiment trivial de gérer le saut du héros. En cours de physique, vous avez peut-être vu qu'un mouvement uniformément accéléré, tel que celui donc l'accéleration est une force de gravité, produit un mouvement parabolique. + +À la pression de la touche flèche haut, le héros a sauter en lui donnant une vitesse verticale. Nous allons également jouer un jon quand ceci se produit. Dans un jeu, le son est critique pour fournir un retour à la joueuse ou au joueur. + +# Tâches + +## Détecter la touche flèche haut + +1. Comme pour les touches gauche et droite, nous ajoutons la touche flèche haut. + + ```js + PlayState.init = function () { + // ... + this.keys = this.game.input.keyboard.addKeys({ + left: Phaser.KeyCode.LEFT, + right: Phaser.KeyCode.RIGHT, + up: Phaser.KeyCode.UP + }); + }; + ``` +2. Auparavant, nous vérifions l'état d'une touche lors de la mise à jour `update`. Pour le saut, nous allons utiliser une solution alternative. Il est possible d'effectuer une action au moment où la touche est pressée. + + ```js + this.keys.up.onDown.add(function () { + this.hero.jump(); + }, this); + ``` + +L'argument supplémentaire donné au `add`, ici `this` sert à donner un contexte à la fonction créée. Une spécialité liée au fonctionnement de JavaScript. + +## Réaliser la méthode de saut + +1. La méthode sauter `jump` peut être ajoutée à notre héros. + + ```js + Hero.prototype.JUMP_SPEED = 600; + + Hero.prototype.jump = function () { + this.body.velocity.y = -this.JUMP_SPEED; + }; + ``` + +2. Essayez dans le navigateur! Il saute. Mais il saute également en l'air, comme s'il savait voler. Cependant, si vous êtes un·e joueu·r.se aguéri, le double-saut ne vous est pas forcément inconnu. + +3. Nous allons imposer au héros un seul saut. Le moteur physique gérant les collisions peut nous informer des collisions en cours de notre objet. Tester la collision avec le sol implique qu'on peut sauter. + + ```js + Hero.prototype.jump = function () { + let canJump = this.body.touching.down; + + if (canJump) { + this.body.velocity.y = -this.JUMP_SPEED; + } + + return canJump; + }; + ``` + +Savoir si le saut a été possible, nous permettra de jouer un saut par la suite. + +## Jouer un son au saut + +1. Les sons sont des assets du jeu comme les autres, qu'il faut précharger. + + ```js + PlayState.preload = function () { + // ... + this.game.load.audio('sfx:jump', 'audio/jump.wav'); + }; + ``` + +2. La phase de création va créer l'instance d'un son `Phaser.Sound` dans notre jeu. Un son se crée de la même manière qu'une image mais via la fonction `audio`. + + ```js + PlayState.create = function () { + // ... + this.sfx = { + jump: this.game.add.audio('sfx:jump') + }; + }; + ``` + +3. Et finalement, jouons un saut lorsqu'un saut est fait en adaptant la fonction de la touche. + + ```js + PlayState.init = function () { + // ... + this.keys.up.onDown.add(function () { + let didJump = this.hero.jump(); + if (didJump) { + this.sfx.jump.play(); + } + }, this); + }; + ``` + +Et voilà, le héros se déplace et avec un peu d'entrainement, il sera possible d'atteindre toutes les plateformes. + +![Main character jumping](/assets/platformer/hero_jump.gif) + +# Vérifications + +- Le héros saute! +- Il ne peut pas sauter sans être sur une plateforme. +- Un son est joué au saut. diff --git a/src/content/platformer/step09_fr.md b/src/content/platformer/step09_fr.md new file mode 100644 index 0000000..d2e4d57 --- /dev/null +++ b/src/content/platformer/step09_fr.md @@ -0,0 +1,113 @@ +--- +title: Passe la monnaie +layout: guide_step_fr.pug +download: /assets/platformer/steps/step09.js +--- + +La mécanique de jeu principale est en place avec le saut. Il est venu temps de rendre le tout plus attrayant et ludique. Nous allons ajouter des pièces d'or pouvant être collectée par le héros. Ces pièces vont être animées et nous allons découvrir comment réaliser ces animations. + +Dans Phaser, les animations sont basés sur les images clés. Ainsi un sprite va changer d'image tout les tant de temps et un animation naitra. + +![Coin spritesheet](/assets/platformer/coin_spritesheet.png) + +Voici la feuille de sprites de la pièce et Phaser va grandement nous simplifier la vie quand il s'agira d'en faire usage. + +Pour collectionner les pièces d'or, il nous faudra détecter les collisions avec le héros. + +# Tâches + +## Chargement de la feuille de sprite + +1. Une feuille de sprites est un type d'asset particulier à charger à l'aide de `game.load.spritesheet` and non comme une simple image. Il est important de renseigner la taille de chaque sprite individuel, ici `22×22`. + + ```js + PlayState.preload = function () { + // ... + this.game.load.spritesheet('coin', 'images/coin_animated.png', 22, 22); + }; + ``` + +## Afficher les pièces + +1. Commes les plateformes, le niveau au format JSON contient l'emplacement de chaque pièce. Une fois chargée, il est important de créer un groupe, puis de générer chaque pièce. + + ```js + PlayState._loadLevel = function (data) { + this.platforms = this.game.add.group(); + this.coins = this.game.add.group(); + + // ... + + data.coins.forEach(this.spawnCoin, this); + + // ... + }; + ``` + +2. La méthode de création de pièce `spawnCoin` créer une pièce dans le groupe de pièces. Étant donné, qu'il n'y a pas de comportement particulier, une classe spécialisant `Phaser.Sprite` n'est pas nécessaire. + + ```js + PlayState.spawnCoin = function (coin) { + let sprite = this.coins.create(coin.x, coin.y, 'coin'); + sprite.anchor.set(0.5, 0.5); + }; + ``` + +3. Il est venu le temps de tester tout ceci. Des pièces, sans animations sont présentes. + + ![Static coins](/assets/platformer/static_coins.png) + +## Animer les pièces + +1. Afin d'ajouter une animation, il nous faut spécifier les images désirées. De manière optionelle, on peut renseigner la vitesse d'une animation (en images par seconde) et si l'animation tourne en boucle ou pas. Un sprite peut posséder plusieurs animations qu'il convient de nommer correctement afin de les jouer à notre guise avec `play`. + + ```js + PlayState._spawnCoin = function (coin) { + // ... + sprite.animations.add('rotate', [0, 1, 2, 1], 6, true); // 6fps, looped + sprite.animations.play('rotate'); + }; + ``` +2. Les pièces devraient être animées dans la scène à présent. + + ![Animated coin](/assets/platformer/animated_coin.gif) + +## Collectionner les pièces + +1. Le moteur physique et les collisions vont nous permettre de savoir quand une pièce est touchée. Il faut donc donner un corps physique aux pièces et désactiver la gravité pour qu'elles ne tombent pas comme des mouches. + + ```js + PlayState.spawnCoin = function (coin) { + // ... + this.game.physics.enable(sprite); + sprite.body.allowGravity = false; + }; + ``` + +2. Ensuite, la détection des collisions. Il est important d'utiliser un test de superposition `overlap` plutôt que de collision `collide` afin que les pièces ne bloquent pas les déplacements du héros. + + ```js + PlayState.handleCollisions = function () { + //... + this.game.physics.arcade.overlap(this.hero, this.coins, this.onHeroVsCoin, + null, this); + }; + ``` + +Le `null` permettrait de fournir une fonction pour filter les sprites à exclure. + +3. Et finalement, ce qu'il se passe quand un pièce est touchée, elle disparait `kill`. + + ```js + PlayState.onHeroVsCoin = function (hero, coin) { + coin.kill(); + }; + ``` + +À ce stade, vous devriez être capable de collecter toutes les pièces du jeu. + +# Vérifications + +- Les pièces sont affichées avec une animation. +- Le héros peut ramasser les pièces qui disparaissent. +- Un effet sonore est joué lorsqu'une pièce disparait. diff --git a/src/content/platformer/step10_fr.md b/src/content/platformer/step10_fr.md new file mode 100644 index 0000000..3ea8ca2 --- /dev/null +++ b/src/content/platformer/step10_fr.md @@ -0,0 +1,210 @@ +--- +title: Ennemis +layout: guide_step_fr.pug +download: /assets/platformer/steps/step10.js +--- + +Le seul challenge du jeu en l'état est de sauter correctement. Ni super fun, ni compliqué étant donné qu'il n'est pas possible de sortir de l'univers. Il est temps d'ajout du danger sous forme d'ennemis velus. + +Voici l'impressionnate araignée! + +![Walking spider](/assets/platformer/walking_spider.gif) + +Cet ennemi possède un comportement simple : il se déplace horizontalement de gauche à droite sans tomber des plateformes ou traverser les murs. + +L'araignée est animée à l'aide la feuille de sprite suivante. + +![Invisible walls](/assets/platformer/invisible_walls.png) + +Pour que l'araignée ne tombe pas des plateformes, nous allons utiliser un truc nommé **murs invisibles**. Ces murs seront des sprites, avec un corps physique, mais masqués. Le héros les ignorera complétement mais pas les araignées qui les toucheront et feront demi-tour. + +Voici à quoi ressembleraient les murs, s'il étaient affichés. Il y a un au bord +de chaque plateforme. + +![Invisible walls](/assets/platformer/invisible_walls.png) + +# Tâches + +## Créer le sprite pour l'ennemi + +1. Précharger l'image liée à l'araignée dont chaque sprite fait `42×32`. + + ```js + PlayState.preload = function () { + // ... + this.game.load.spritesheet('spider', 'images/spider.png', 42, 32); + }; + ``` + +2. Comme pour le héros, ne devons spécialiser un `Phaser.Sprite` gérant la vie d'une araignée. Dans le constructeur, nous activons la physique et ajoutons deux animations : une de marche et une autre de mort. + + ```js + function Spider(game, x, y) { + Phaser.Sprite.call(this, game, x, y, 'spider'); + + this.anchor.set(0.5, .5); + // animations + this.animations.add('crawl', [0, 1, 2], 8, true); + this.animations.play('crawl'); + + // physique + this.game.physics.enable(this); + this.body.collideWorldBounds = true; + this.body.velocity.x = -this.SPEED; + } + + // inherit from Phaser.Sprite + Spider.prototype = Object.create(Phaser.Sprite.prototype); + Spider.prototype.constructor = Spider; + Spider.prototype.SPEED = 100; + ``` + +## Afficher les araignées + +1. Le fichier JSON du niveau contient les informations des araignées `spiders` devant être crées. Il est important de créer un groupe pour elles afin de simplifier la gestion des collisions. + + ```js + PlayState._loadLevel = function (data) { + // ... + this.coins = this.game.add.group(); + this.spiders = this.game.add.group(); + // ... + + this.spawnCharacters({hero: data.hero, spiders: data.spiders}); + }; + ``` + +2. Depuis la création des caractères, créons chaque araignée avec un boucle `forEach`. + + ```js + PlayState._spawnCharacters = function (data) { + // ... + data.spiders.forEach(function (spider) { + let sprite = new Spider(this.game, spider.x, spider.y); + this.spiders.add(sprite); + }, this); + }; + ``` + +3. On essaie... et paf! C'est la catastrophe. + + ![Spiders affected by gravity](/assets/platformer/spider_disaster.gif) + + Les araignées se cassent la gueule car elles subissent la gravitation, sont restreintes par les limites du monde mais ne possède pas de collisions avec les plateformes. + +## Résoudre les collisions + +1. La première étape est d'ajoute une collision entre araignées et plateformes. + + ```js + PlayState._handleCollisions = function () { + this.game.physics.arcade.collide(this.spiders, this.platforms); + // ... + }; + ``` + + Les araignées tombent des plateformes à présent. + +## Ajouter les murs invisibles + +1. Ajoutons les murs invisibles pour prévenir d'horribles chutes aux araignées. Il est important de précharger l'image, qui ne sera pas affichée mais servira a définir la taille des murs. + + ```js + PlayState.preload = function () { + // ... + this.game.load.image('invisible-wall', 'images/invisible_wall.png'); + // ... + }; + ``` + +2. Ajouter ces murs à un groupe permettra de gérer les collisions avec les araignées. + + ```js + PlayState._loadLevel = function (data) { + // ... + this.spiders = this.game.add.group(); + this.enemyWalls = this.game.add.group(); + // ... + }; + ``` + +3. Pour chaque plateforme, il faut créer deux faux murs à gauche et droite de la plateforme. L'ancre en x vallant parfois `0`, parfois `1` va permettre d'aligne à gauche ou droite le mur par rapport au bord de la plateform. + + ```js + PlayState.spawnPlatform = function (platform) { + // ... + this.spawnEnemyWall(platform.x, platform.y, 'left'); + this.spawnEnemyWall(platform.x + sprite.width, platform.y, 'right'); + }; + ``` + + ```js + PlayState._spawnEnemyWall = function (x, y, side) { + let sprite = this.enemyWalls.create(x, y, 'invisible-wall'); + // ancrage en y et décalage en x. + sprite.anchor.set(side === 'left' ? 1 : 0, 1); + + // physique + this.game.physics.enable(sprite); + sprite.body.immovable = true; + sprite.body.allowGravity = false; + }; + ``` + +4. Ajoutons les collisions entre les faux-murs et les araignées afin qu'elles ne puissent les traverser. + + ```js + PlayState.handleCollisions = function () { + this.game.physics.arcade.collide(this.spiders, this.platforms); + this.game.physics.arcade.collide(this.spiders, this.enemyWalls); + // ... + }; + ``` + +5. À présent, les araignées se bloquent contre les plateformes. + + ![Spider blocked by wall](/assets/platformer/spider_vs_wall.png) + +6. Il semble qu'on peut masquer les faux-murs en mettant la propriété `visible` à faux `false`. + + ```js + PlayState._loadLevel = function (data) { + // ... + this.enemyWalls = this.game.add.group(); + this.enemyWalls.visible = false; + // ... + }; + ``` + +## Débloquer les araignées + +1. Nous avons vu qu'il existe un valeur nommée `touching` permettant de savoir si le corps physique touche un autre élément. Ce que nous allons utiliser pour changer de sens l'araignée bloquée. + + Cependant, nous devons également effectué un autre test avec bloqué `blocked` pour savoir si l'araignée est face aux limites du monde. + + Ajoutons une méthode mise-à-jour `update` à l'araignée. Cette méthode est appelée **automatiquement** par Phaser chaque frame. Il est important de placer ceci *après* avoir copié le `prototype` du parent. + + ```js + Spider.prototype.update = function () { + // check against walls and reverse direction if necessary + if (this.body.touching.right || this.body.blocked.right) { + this.body.velocity.x = -this.SPEED; + this.scale.x *= -1 + } + else if (this.body.touching.left || this.body.blocked.left) { + this.body.velocity.x = this.SPEED; + this.scale.x *= -1 + } + }; + ``` + +Et voilà, les araignées se déplacent et se retournent au changement de sens. + +![Spider turning into the opposite direction](/assets/platformer/spider_turning.gif) + + +# Vérifications + +- Trois araignées toutes mignonnes se déplacent sur les plateforme sans en choïr ni passer à travers. +- Les araignées font demi-tour si elle rencontre un obstacle ou le bord d'une plateforme. +- Le héros n'influe aucunement sur la vie des araignées. diff --git a/src/content/platformer/step11_fr.md b/src/content/platformer/step11_fr.md new file mode 100644 index 0000000..55b32e7 --- /dev/null +++ b/src/content/platformer/step11_fr.md @@ -0,0 +1,143 @@ +--- +title: Mort +layout: guide_step_fr.pug +download: /assets/platformer/steps/step11.js +--- + +Si nous avons des ennemis, il n'y a aucune intéraction entre eux et le héros. Il est temps de leur permettre de s'entretuer. + +- Les araignées vont tuer le héros en le touchant simplement. +_ Le héros ne pourra tuer les araignées que s'il leur saute ou tombe sur la tête. + +Comme pour les piècettes d'or, un simple test de chevauchement `overlap` suffira sans devoir gérer une collision complexe. + +# Tâches + +## Faire que les araignées tues le héros + +1. Tuer ou être tuer est un évènement très importan et il est nécessaire de fournir le plus de feedback possible. + + ```js + PlayState.create = function () { + this.sfx = { + // ... + stomp: this.game.add.audio('sfx:stomp') + }; + // ... + }; + ``` + + ```js + PlayState.preload = function () { + // ... + this.game.load.audio('sfx:stomp', 'audio/stomp.wav'); + }; + ``` + +2. Pour gérer le massacre, il nous faut détecter quand une araignée touche le héros. Comme pour les pièces, le mieux est de le faire par chevauchement. + + ```js + PlayState._handleCollisions = function () { + // ... + this.game.physics.arcade.overlap(this.hero, this.spiders, + this.onHeroVsEnemy, null, this); + }; + ``` + +3. Il reste à ajouter le *callback* traitant le chevauchement d'une araignée et du héros. Pour le moment, nous pouvons tuer le héros et redémarrer le niveau. + + ```js + PlayState._onHeroVsEnemy = function (hero, enemy) { + this.sfx.stomp.play(); + this.game.state.restart(); + }; + ``` + +4. Essayez dans le navigateur et assurez-vous que le débute à nouveau. + +## Tuer les araignées + +1. Le caractère va tuer les araignées en leur tombant dessus. Du coup, un test possible est de consulter la vitesse verticale du héros à la collision. Si elle est positive, alors il tombe, sinon, c'est qu'il a percuté l'araignée. + + ```js + PlayState.onHeroVsEnemy = function (hero, enemy) { + if (hero.body.velocity.y > 0) { + enemy.kill(); + this.sfx.stomp.play(); + } + else { + this.sfx.stomp.play(); + this.game.state.restart(); + } + }; + ``` + +2. Essayez-le! Mais l'impression est étrange car le héros passe à travers des araignées. Lui donner un petit rebond aidera à améliorer les sensations offertes par le jeu. + + ```js + Hero.prototype.bounce = function () { + const BOUNCE_SPEED = 200; + this.body.velocity.y = -BOUNCE_SPEED; + }; + ``` + + ```js + PlayState.onHeroVsEnemy = function (hero, enemy) { + if (hero.body.velocity.y > 0) { + hero.bounce(); + // ... + } + // ... + }; + ``` + +3. Essayez à nouveau. C'est mieux! Non? + + ![Bouncing on enemies](/assets/platformer/enemy_bounce.gif) + +## Animations + +1. Tuer des ennemis sera encore plus satisfaisant en ajoutant une animation d'agonie. Nous utilisons les deux dernières _frames_ de la feuille de sprites pour celà. + + ```js + function Spider(game, x, y) { + // ... + this.animations.add('die', [0, 4, 0, 4, 0, 4, 3, 3, 3, 3, 3, 3], 12); + // ... + } + ``` + +2. Lorsqu'on appelle `kill` sur un sprite, il disparait immédiatement. En ajoutant une nouvelle méthode de mort `die`, nous pouvons désactiver le corps physique de l'ennemi (plus de collision), jouer l'animation puis effectivement supprimer le sprite avec `kill` + + ```js + Spider.prototype.die = function () { + this.body.enable = false; + + this.animations.play('die').onComplete.addOnce(function () { + this.kill(); + }, this); + }; + ``` + +3. Il nous reste à remplacer l'appel à `kill` par un appel à `die`. + + ```js + PlayState.onHeroVsEnemy = function (hero, enemy) { + // ... + if (hero.body.velocity.y > 0) { + enemy.die(); + } + // ... + }; + ``` + +4. L'animation devrait se jouer. + + ![Spider dying animation](/assets/platformer/enemy_dying.gif) + +# Vérifications + +- Le héros tue les araignées en leur sautant sur la tête +- Les araignées disparaissent après une petite animation +- Le héro meurt si une araignée lui fonce contre +- Le niveau recommence lors que le héros décède. diff --git a/src/content/platformer/step12_fr.md b/src/content/platformer/step12_fr.md new file mode 100644 index 0000000..17ab1a1 --- /dev/null +++ b/src/content/platformer/step12_fr.md @@ -0,0 +1,136 @@ +--- +title: Tableau des scores +layout: guide_step_fr.pug +download: /assets/platformer/steps/step12.js +--- + +Dans cette étape, nous allons afficher un tableau des score, nommé _Head-up display_ (HUD) en anglais, affichant la quantité de pièces collectées. + +![Coin scoreboard](/assets/platformer/coin_scoreboard.png) + +Nous devons être capable d'écrire du texte à l'écran. Dans un jeu, différentes techniques sont enviseagables. + +- Utiliser une police de caractères de type TTF comme Times New Roman. +- Utiliser une police de caractères bitmap, qui est en fait une feuille de sprites. + +Nous allons utiliser une police bitmap que Phaser nomme **retro fonts**. La police de caractères consiste des chiffres, d'un espace et d'un ×. La voici. + +![Bitmap font spritesheet](/assets/platformer/bitmap_font_sheet.png) + +Il est important de savoir que pour écrire avec une police bitmap, il faut deux instances: `Phaser.RetroFont` ainsi que `Phaser.Image`. La raison est que la police stocke les pixels de données de la fonte alors que l'image est utilisée pour l'affichage. + +# Tâches + +## Mémoriser les pièces collectées + +1. Il est simplement nécessaire d'ajouter une propriété à l'état du jeu. On l'initialise à zéro et augmentant à la collision entre le héros et une pièce. + + ```js + PlayState.init = function () { + // ... + this.coinPickupCount = 0; + }; + ``` + + ```js + PlayState.onHeroVsCoin = function (hero, coin) { + // ... + this.coinPickupCount++; + }; + ``` + +## Afficher l'icône des pièces + +1. Une nouvelle image est à charger représentant une image plus grande. + + ```js + PlayState.preload = function () { + // ... + this.game.load.image('icon:coin', 'images/coin_icon.png'); + // ... + }; + ``` + +2. Nous allons séparer la création des éléments de l'interface du reste. Et également créer un nouveau groupe pour stocker tout ça. + + ```js + PlayState.createHud = function () { + var coinIcon = this.game.make.image(0, 0, 'icon:coin'); + + this.hud = this.game.add.group(); + this.hud.add(coinIcon); + this.hud.position.set(10, 10); + }; + ``` + + Notons que toutes les éléments à l'intérieur du groupe sont affichés relativement à la position de celui-ci `10, 10`. + +3. Comme il doit être affiché par dessus tous les autres, il faut le créer en dernier. + + ```js + PlayState.create = function () { + // ... + this.createHud(); + } + ``` + +4. Vérifions que l'icône s'affiche correctement. + + ![HUD with coin icon](/assets/platformer/hud_icon_only.png) + +## Écrire le score + +1. Finalement, la partie intéressante. Il est temps de charger l'image de la police de caractères. Même si c'est une feuille de sprite, Phaser demande à ce qu'on charge en tant qu'image. + + ```js + PlayState.preload = function () { + // ... + this.game.load.image('font:numbers', 'images/numbers.png'); + // ... + }; + ``` + +2. Avoir une image permet de créer correctement un `Phaser.RetroFont`. + + ```js + PlayState.createHud = function () { + this.coinFont = this.game.add.retroFont('font:numbers', 20, 26, + '0123456789X ', 6); + // ... + }; + ``` + + Il est important de renseigner Phaser sur la taille de chaque caractères, quels caractères sont présents et le nombre par ligne qui est de 6 dans le cas qui nous intéresse. + +3. Une fois la police créée, il nous faut créer une entité pouvant être affichée dans le jeu. Une `Phaser.Image` fera l'affaire. + + ```js + PlayState.createHud = function () { + // var coinIcon = ... + var coinScoreImg = this.game.make.image( + coinIcon.x + coinIcon.width, + coinIcon.height / 2, + this.coinFont + ); + coinScoreImg.anchor.set(0, 0.5); + + // ... + this.hud.add(coinScoreImg); + }; + ``` + + on calcule les positions à partir de l'icône existante pour les avoir côte à côte. + +4. Et finalement, l'attribut `text` de la fonte va dessiner le texte tel que voulu. + + ```js + PlayState.update = function () { + // ... + this.coinFont.text = `x${this.coinPickupCount}`; + }; + ``` + +Le score devrait à présent s'afficher et être mis à jour. + +![Level with coin score board](/assets/platformer/level_coin_scoreboard.png) + diff --git a/src/content/platformer/step13_fr.md b/src/content/platformer/step13_fr.md new file mode 100644 index 0000000..6dfc75f --- /dev/null +++ b/src/content/platformer/step13_fr.md @@ -0,0 +1,118 @@ +--- +title: Animer le héros +layout: guide_step_fr.pug +download: /assets/platformer/steps/step13.js +--- + +Pour le moment, il y a peu de sprites animés dans le jeu : les pièces et les ennemis. Mais rien pour le héros! + +Voici la feuille de sprite et les animations liées. + +![Main character spritesheet](/assets/platformer/hero_spritesheet.png) + +- À l'arrêt, image 0 +- En course, images 1 et 2 +- En Saut, image 3 +- En Chute, image 4. + +Les images liées au décès du héros seront utilisées à l'étape suivante. + +L'approche utilisée pour gérer ceci est de vérifier à **chaque image** l'état du héros et choisir l'animation correspondante. + +# Tâches + +## Ajout des animations + +1. Auparavant nous utilisions l'image `hero_stopped.png` en tant qu'image. Il nous faut supprimer cette ligne. + + ```js + PlayState.preload = function () { + //this.game.load.image('hero', 'images/hero_stopped.png'); + }; + ``` + +2. Et charger la feuille de sprites à la place. De taille `36×42`. + + ```js + PlayState.preload = function () { + // ... + this.game.load.spritesheet('hero', 'images/hero.png', 36, 42); + // ... + }; + ``` + +3. Dans le constructeur du héros, nous pouvons ajouter les animations telles que décrites ci-dessus. + + ```js + function Hero(game, x, y) { + // ... + this.animations.add('stop', [0]); + this.animations.add('run', [1, 2], 8, true); // 8fps en boucle + this.animations.add('jump', [3]); + this.animations.add('fall', [4]); + } + ``` + +## Choix de l'animation en cours + +1. Calculer quelle animation doit être jouée. Une nouvelle méthode du héros va retourner le nom d'animation. + + ```js + Hero.prototype.getAnimationName = function () { + if (this.body.velocity.y < 0) { + return 'jump'; + } + + if (this.body.velocity.y >= 0 && !this.body.touching.down) { + return 'fall'; + } + + if (this.body.velocity.x !== 0 && this.body.touching.down) { + return 'run'; + } + + return 'stop' + }; + ``` + + Notons qu'il faut vérifier si le héros touche ou non le sol. En raison de la **force de gravité**, le héros possède une vitesse verticale même sans qu'il ne bouge. + +2. La méthode mise-à-jour `update` du héros va jouer l'animation voulue. Phaser gère pour nous le fait de savoir si l'animation doit être modifiée ou si l'animation en cours persiste. + + ```js + Hero.prototype.update = function () { + var animationName = this.getAnimationName(); + this.animations.play(animationName); + }; + ``` + +3. Essayons dans le navigateur! Courrons, sautons, etc. Les animations doivent changer. Mais, reste un petit problème, le héros de se tourne pas à gauche et fait un petit _moon-walk_. + + ![Animations… with a glitch!](/assets/platformer/hero_animation_glitch.gif) + +## Tourner le caractère dans la bonne direction + +1. Aussi bizarre que celà puisse paraître, retourner une image se fait en appliquant un zoom négatif sur une image. Un zoom de `-100%` va créer un miroir horizontal et faire que le héros regarde à gauche. + + Ajouter ceci à la méthode déplacer `move` puisse que la direction est connu à ce moment-là. + + ```js + Hero.prototype.move = function (direction) { + // ... + if (this.body.velocity.x < 0) { + this.scale.x = -1; + } + else if (this.body.velocity.x > 0) { + this.scale.x = 1; + } + }; + ``` + +Et voilà, le héros se déplace et s'anime correctement. + +![Main character, properly animated](/assets/platformer/hero_animations.gif) + +# Vérification + +- Le héros utilise des animations différentes ou images pour les actions à l'arrêt, course, saut et chute. +- Le héros s'oriente dans la direction de déplacement. diff --git a/src/content/platformer/step14_fr.md b/src/content/platformer/step14_fr.md new file mode 100644 index 0000000..17b7251 --- /dev/null +++ b/src/content/platformer/step14_fr.md @@ -0,0 +1,270 @@ +--- +title: Fin de partie +layout: guide_step_fr.pug +download: /assets/platformer/steps/step14.js +--- + +Actuellement, le joueur peut *perdre* une partie mais pas en gagner une. + +Pour corriger ceci nous allons ajouter une porte fermée et une clé. Le but du jeu va être de récupérer la clé afin d'ouvrir la porte vers le niveau suivant. Il faudra également ajouter un icône permettant d'indiquer au joueur si la clé a été ramassée ou non. + +Dans le fichier JSON du niveau, les positions de la porte et de la clé sont données. + +Voici à quoi ressemblera le niveau. + +![Level with the win condition elements](/assets/platformer/win_condition.png) + +# Tâches + +## Créer la porte + +1. La porte est une feuille de sprites ouverte ou fermée. + + ```js + PlayState.preload = function () { + // ... + this.game.load.spritesheet('door', 'images/door.png', 42, 66); + }; + ``` + +2. La porte va apparaître sous le héros, ou les ennemis. Il faut donc créer un groupe pour elle avant les autres qui contiendra également les clés et les autres décorations. + + ```js + PlayState.loadLevel = function (data) { + this.bgDecoration = this.game.add.group(); + // ... + }; + ``` + + L'ordre des créations des groupes défini l'ordre de dessin. Les derniers étant dessinés en dernier, donc par dessus les autres. + +3. Les créations de la porte et de la clé sont séparées. + + ```js + PlayState.spawnDoor = function (x, y) { + this.door = this.bgDecoration.create(x, y, 'door'); + this.door.anchor.set(0.5, 1); + this.game.physics.enable(this.door); + this.door.body.allowGravity = false; + }; + ``` + + Le corps physique est créé afin de pouvoir détecter les collisions par la suite. + +4. Cette méthode est appelée au chargement du niveau. + + ```js + PlayState.loadLevel = function (data) { + // ... + this.spawnDoor(data.door.x, data.door.y); + // ... + }; + ``` + +5. En rechargant le jeu, la porte apparait. + + ![Door](/assets/platformer/door_spawned.png) + +## Créer la clé + +1. Idem pour la clé qui est une simple image. + + ```js + LoadingState.preload = function () { + // ... + this.game.load.image('key', 'images/key.png'); + }; + ``` + +2. Et avec une méthode spécifique pour créer la clé. + + ```js + PlayState.spawnKey = function (x, y) { + this.key = this.bgDecoration.create(x, y, 'key'); + this.key.anchor.set(0.5, 0.5); + this.game.physics.enable(this.key); + this.key.body.allowGravity = false; + }; + ``` + + En plaçant la clé dans le même groupe que la porte, elle sera derrière tout le reste. + +3. Il nous reste à appeler cette méthode au chargement du niveau. + + ```js + PlayState._loadLevel = function (data) { + // ... + this.spawnKey(data.key.x, data.key.y); + // ... + }; + ``` + +4. Et voilà, la clé s'affiche en haut à droite. + + ![Static key](/assets/platformer/key_spawned.png) + +## Conditions de victoire + +1. La condition de la victoire d'atteindre la clé puis la porte. Stockons l'information indiquant si la clé a été récupérée dans l'état du jeu. + + ```js + PlayState.init = function () { + // ... + this.hasKey = false; + }; + ``` + + Ce drapeau va être placé à vrai `true` par la suite. + +2. Pour permettre au joueur d'avoir un retour intéressant, avoir des sons est primordial. Chargons les sons de la porte et de la clé. + + ```js + PlayState.preload = function () { + // ... + this.game.load.audio('sfx:key', 'audio/key.wav'); + this.game.load.audio('sfx:door', 'audio/door.wav'); + }; + ``` + + ```js + PlayState.create = function () { + this.sfx = { + key: this.game.add.audio('sfx:key'), + door: this.game.add.audio('sfx:door'), + // ... + }; + // ... + }; + ``` + +3. L'intéraction entre le héros et la clé se fait au chevauchement des deux. Le son est joué et le sprite de la clé ôté. Il est important de changer l'état permettant de mémoriser que la clé a été collectée. + + ```js + PlayState.handleCollisions = function () { + // ... + this.game.physics.arcade.overlap(this.hero, this.key, this.onHeroVsKey, + null, this) + }; + ``` + + ```js + PlayState.onHeroVsKey = function (hero, key) { + this.sfx.key.play(); + key.kill(); + this.hasKey = true; + }; + ``` + +4. Testons le jeu. Le clé doit disparaître et le son se jouer. + +5. Plus compliqué, la collision entre le héros et la porte qui implique de gérer une condition. + + ```js + PlayState.handleCollisions = function () { + // ... + this.game.physics.arcade.overlap(this.hero, this.door, this.onHeroVsDoor, + this.canHeroVsDoor, this); + }; + ``` + + ```js + PlayState.canHeroVsDoor(hero, door) { + return this.hasKey && hero.body.touching.down; + } + ``` + + La collision doit avoir lieu **si** la clé a été ramassée et le héros touche le sol. + +6. La collision entre le héros et la porte si les conditions le permettent joue le son et redémarre le niveau. + + ```js + PlayState.onHeroVsDoor = function (hero, door) { + this.sfx.door.play(); + this.game.state.restart(); + // TODO: go to the next level instead + }; + ``` + + Plus tard, il nous faudra passer au niveau suivant. + +7. Essayons! Le niveau devrait recommencer. + +## Animer la clé + +1. La clé, bien qu'étant l'élément important du jeu est relativement peu visible. Il n'y a pas de feuille de sprite mais il serait bien de pouvoir l'animer quand même. Créons une animation de mouvement. + + Phaser nous permet de faire ceci à l'aide d'un *Tween* qui vient de l'anglais *inbetween* signfiant interpolation. La bibliothèque jQuery permet des résultat similaires. + + ```js + PlayState.spawnKey = function (x, y) { + // ... + this.key.y -= 3; + this.game.add.tween(this.key) + .to({y: this.key.y + 6}, 800, Phaser.Easing.Sinusoidal.InOut) + .yoyo(true) + .loop() + .start(); + }; + ``` + + L'interpolation va déplacer la clé de haut en bas dans un mouvement sinusoïdal. + +2. La clé devrait à présent osciller de haut en bas de manière non-linéaire. + + ![Key tweening](/assets/platformer/key_tween.gif) + +## Icône + +1. Et finalement, nous allons ajouter un clé au _HUD_. Il nécessaire de charger le sprite. + + ```js + PlayState.preload = function () { + // ... + this.game.load.spritesheet('icon:key', 'images/key_icon.png', 34, 30); + } + ``` + +2. Puis de créer l'image et de l'ajouter à l'affichage. `19` permet de centrer l'image verticalement par rapport à la pièce d'or. + + ```js + PlayState.createHud = function () { + this.keyIcon = this.game.make.image(0, 19, 'icon:key'); + this.keyIcon.anchor.set(0, 0.5); + // ... + this.hud.add(this.keyIcon); + }; + ``` +3. La pièce d'or doit également être décalée vers la droite. + + ```js + PlayState.createHud = function () { + // ... + var coinIcon = this.game.make.image(this.keyIcon.width + 7, 0, 'icon:coin'); + // ... + }; + ``` + +4. En rechargeant la page, la clé s'affiche à côté de la pièce. + + ![Key icon (empty frame)](/assets/platformer/key_icon_empty.png) + +5. Dernière étape. Utiliser le bon sprite en fonction de si la clé a été capturée ou non. Un peu comme pour une animation, il est possible de spécifier une image (`frame`) pour le sprite. + + ```js + PlayState.update = function () { + // ... + this.keyIcon.frame = this.hasKey ? 1 : 0; + }; + ``` + +6. Tadaaa! + + ![Key icon (filled)](/assets/platformer/key_icon_filled.png) + +# Vérifications + +- La porte et la clé sont affichées +- Si le caractère ramasse la clé, elle disparaît et un effet sonore est joué +- Le niveau recommence quand le caractère passe la porte après voir ramassé la clé +- Rien ne se passe si le héros passe la porte sans avoir ramassé la clé +- Il y a un icône indiquant si la clé a été ramassée diff --git a/src/content/platformer/step15_fr.md b/src/content/platformer/step15_fr.md new file mode 100644 index 0000000..2598e58 --- /dev/null +++ b/src/content/platformer/step15_fr.md @@ -0,0 +1,97 @@ +--- +title: Changer de niveau +layout: guide_step_fr.pug +download: /assets/platformer/steps/step15.js +--- + +Nous avons les conditions de la victoire mais redémarrons le même niveau. Peu intéressant. Dans le répetoire `data`, il y a deux niveaux: `level00.json` et `level01.json`. Utilisons-les! + +Le jeu va commencer avec le niveau zéro puis passer au niveau un. + +À la fin du niveau deux, nous recommencerons au début, mais rien n'empêche de créer de nouveaux univers. + +Un moyen de passer d'un niveau à l'autre et de donner le niveau en cours à l'état du jeu `PlayState`. Nous allons passer des paramètres à `init`. + +# Tâches + +## Chargement de tous les niveaux + +1. Ajoutons le niveau zéro dans les fichiers à précharger. + + ```js + PlayState.preload = function () { + this.game.load.json('level:0', 'data/level00.json'); + // ... + }; + ``` + +2. Au démarrage de l'état `init`, la propriété niveau `level` contiendra le niveau en cours. + + ```js + PlayState.init = function (data) { + // ... + this.level = (data.level || 0) % 2; + }; + ``` + + Notez que `% 2` est nécessaire pour retourner à zéro si la valeur dépassait 2. Et le `|| 0` est la syntaxe utilisée en JavaScript pour définir une valeur par défaut. + +3. À la création du niveau `create`, la propriété niveau va permettre de charger le niveau en cours. + + ```js + PlayState.create = function () { + // ... + this.loadLevel(this.game.cache.getJSON("level:" + this.level)); + // ... + }; + ``` + +4. Maintenant, il suffit de donner le niveau en cours à `init` à la création. + + + ```js + window.onload = function () { + // ... + // change the line below for the new one! + // game.state.start('play'); + game.state.start('play', true, false, {level: 0}); + }; + ``` + + Le premier `true` indique à Phaser de conserver le cache. Et le second `false` indique de ne pas conserver les éléments existant. Il supprime touts les sprites, textes, groupes, etc. Ce sont les valeurs par défaut. + +5. Essayons, le niveau zéro doit s'afficher. + + ![The first level](/assets/platformer/level00_thumb.png) + +## Changer de niveau + +1. `init` demande un argument contenant le niveau, il faut donc le lui donner au redémarrage `restart`. + + ```js + PlayState.onHeroVsDoor = function (hero, door) { + // ... + this.game.state.restart(true, false, { level: this.level + 1 }); + }; + ``` + +2. Et également quand le héros décède mais sans passer au niveau suivant. + + ```js + PlayState._onHeroVsEnemy = function (hero, enemy) { + // ... + else { + // ... + this.game.state.restart(true, false, {level: this.level}); + } + }; + ``` + +Et voilà, il doit être possible de jouer aux deux univers. + +# Vérifications + +- Le jeu débute au niveau zéro +- Passer la porte change de niveau +- À la fin, on recommence au niveau zéro +- Quand le héros décède, le niveau actuel recommence. diff --git a/src/content/platformer/step16_fr.md b/src/content/platformer/step16_fr.md new file mode 100644 index 0000000..5b92699 --- /dev/null +++ b/src/content/platformer/step16_fr.md @@ -0,0 +1,19 @@ +--- +title: Aller plus loin… +layout: guide_step_fr.pug +--- + +**Félicitations!!** Nous avons terminé l'atelier et avons un jeu simple pouvant être partagé. + +Cependant, notons qu'il serait possible de peaufiner le jeu. Voici des pistes explorable. + +- Ajouter un état de chargement est utilie lorsqu'on publie un jeu sur Internet où télécharger n'est pas toujours super rapide. +- Ajouter de la musique en fond +- Permettre au joueur d'effectuer des sauts différents s'il presse longtemps ou non +- Ajouter une animation de mort au héros +- Ajouter une animation au héros lorsqu'il passe la porte +- Faire que la porte s'ouvre lorsque la clé a été récupérée +- Transition entre deux niveaux +- etc. + +Bonne chance! diff --git a/src/content/setup/index_fr.md b/src/content/setup/index_fr.md new file mode 100644 index 0000000..b5131f8 --- /dev/null +++ b/src/content/setup/index_fr.md @@ -0,0 +1,48 @@ +--- +title: Installation sur votre machine +layout: guide_index_fr.pug +collection_base: setup +author_twitter: ladybenko +author_name: Belén "Benko" Albeza +--- + +Pour réussir cet atelier, il est nécessaire de préparer votre machine pour le développement de jeux en HTML5. + +Cet atelier étant destiné à tout un chacun, seuls les outils absolument nécessaires seront donc requis. + +Le strict minimum demandé est : + +- un éditeur de texte +- une console (aussi appelé terminal) +- un serveur web local + +# Éditeur de texte + +Un éditeur de texte va nous permettre de programmer notre jeu. Il en existe une multitude et son choix est parfois élevé au rang d'une religion. En voici une liste non exhaustive: + +- [Atom](https://atom.io/); +- [Brackets](http://brackets.io/); +- [Visual Studio Code](https://code.visualstudio.com/); +- [Notepad++](https://notepad-plus-plus.org/); +- [Sublime](https://www.sublimetext.com/); +- et [Vim](http://www.vim.org/) ;-) + +Essayez-en plusieurs et expérimentez jusqu'à trouver chaussure à votre pied. + +# Console + +Une console est ce petit programme souvent sur fond noir qui permet d'exécuter des commandes de manière textuelle. + +## Sous Microsoft Windows + +Il y a plusieurs alternative sous Windows. La plus ancienne est l'utilitaire nommé `cmd`. Qui est une relicat de Microsoft DOS. Plus récemment, il est possible d'utiliser `PowerShell`. + +Si vous avez déjà fait du développement, peut-être possédez-vous [Git Bash](https://git-for-windows.github.io/). + +## Sous macOS + +Il faut lancer l'application nommée `Terminal`. + +## Sous GNU/Linux + +Il y a généralement une icône avec un petit écran noir. L'application se nomme `Terminal` ou `gnome-terminal` ou `xterm`, etc. diff --git a/src/content/setup/step00_fr.md b/src/content/setup/step00_fr.md new file mode 100644 index 0000000..233c0b5 --- /dev/null +++ b/src/content/setup/step00_fr.md @@ -0,0 +1,46 @@ +--- +title: Lancer un serveur local +layout: default_fr.pug +--- + +Pour des raisons de sécurité le navigateur web n'autorise pas le chargement de fichiers externe lorsqu'on consulte une page en utilise le protocole `file://`. Ainsi, il est nécessaire d'installer un serveur web pour servir notre jeu. + +En fonction des outils à disposition, plusieurs alternatives existes. + +# Node.js + +[Node.js](https://nodejs.org/) est un plateforme incontournable dès qu'on fait du développement web utilisant beaucoup de JavaScript. + +```console +$ npm install -g http-server +$ http-server +``` + +## Une meilleure alternative + +Le désavantage d'un simple serveur web est qu'il est nécessaire de rechercher manuellement une page pour bénéficier des modifications récentes. Le module [browser-sync](https://www.npmjs.com/package/browser-sync) permet de recharger automatiquement la page à chaque modification. + +```console +$ npm install -g browser-sync +$ browser-sync --start --server --files="**/*.js" +``` + +# Python (macOS ou GNU/Linux) + +Python est installé par défaut sur plusieurs systèmes d'exploitation et offre par défaut un serveur web. + +```console +# Python 2 +$ python -m SimpleHTTPServer + +# Python 3 +$ python -m http.server +``` + +# WAMP + +Si vous avez fait du développement en PHP avec [WAMP](http://www.wampserver.com/fr/), il vous suffit de placer vos fichiers dans le répertoire du serveur web. + +# Rien de tout ça + +Pas de panique, il y a des alternatives. Certains éditeurs, tel que [Brackets](http://brackets.io/), le font directement. diff --git a/src/layouts/default_fr.pug b/src/layouts/default_fr.pug new file mode 100644 index 0000000..9010aec --- /dev/null +++ b/src/layouts/default_fr.pug @@ -0,0 +1,38 @@ +doctype html +html(lang=fr) + head + title Atelier jeux HTML5 - #{title} + meta(charset='utf-8') + meta(name='viewport', content='width=device-width, initial-scale=1') + link(rel='stylesheet', href=relative('/css/styles.css')) + link(rel='stylesheet', href=relative('/vendor/prism/prism.css')) + script(src=relative('/vendor/prism/prism.js')) + body + header.main-header + - var url = relative(locale === defaultLocale ? '/' : `/${locale}/`); + h1: a(href=url) Atelier jeux HTML5 + + main: article + - let availableLocales = locales.filter(x => x !== locale && !!lang(x)) + if availableLocales.length > 0 + p Également disponible en#{' '} + each lc, index in availableLocales + a(href=relative(`/${lang(lc).path}/`))= lc + if index < availableLocales.length - 1 + |,#{' '} + |. + block content + h1= title + != contents + block extra + if next || previous + nav.paginated-nav: ul + if previous + li.previous « Prédédent:  + a(href=relative(`/${previous.path}/`)) #{previous.title} + if next + li.next Suivant:  + a(href=relative(`/${next.path}/`)) #{next.title} + | » + footer.main-footer + p Propulsé avec amour,
par les fées de chez Mozilla. diff --git a/src/layouts/guide_index_fr.pug b/src/layouts/guide_index_fr.pug new file mode 100644 index 0000000..78ad38b --- /dev/null +++ b/src/layouts/guide_index_fr.pug @@ -0,0 +1,17 @@ +extends default_fr.pug + +block content + h1= title + + aside.author + p Guide écrit par  + | #{author_name} ( + a(href='https://twitter.com/#{author_twitter}') @#{author_twitter} + |). + + != contents + + h1 Table des matières + ol.toc(start=0) + each step in collections[`${collection_base}_${locale}`] + li: a(href=relative(`/${step.path}/`))= step.title diff --git a/src/layouts/guide_step_fr.pug b/src/layouts/guide_step_fr.pug new file mode 100644 index 0000000..1e983aa --- /dev/null +++ b/src/layouts/guide_step_fr.pug @@ -0,0 +1,10 @@ +extends default_fr.pug + +block extra + h2 Téléchargement + if download + p Êtes-vous bloqué? Jetez un œil + = ' ' + a(href=relative(download), télécharger) au code source + = ' ' + | de cette étape.