From cbf40600c2c0cff6f986f45b4dcbda7aa39b1664 Mon Sep 17 00:00:00 2001 From: Tyrel Souza Date: Thu, 7 Apr 2016 23:02:05 -0400 Subject: [PATCH] Initial Commit --- assets/arrow_tileset.png | Bin 0 -> 2556 bytes assets/tilemaps/maps/Fall1.json | 74 +++++++++++++++ assets/tilemaps/maps/Fall2.json | 74 +++++++++++++++ assets/tilemaps/maps/Forest1.json | 74 +++++++++++++++ assets/tilemaps/maps/Forest2.json | 74 +++++++++++++++ assets/tilemaps/maps/Forest3.json | 74 +++++++++++++++ assets/tilemaps/tiles/tilesheet_complete.png | Bin 0 -> 167126 bytes index.html | 14 +++ lib/phaser.map | 1 + lib/phaser.min.js | 27 ++++++ src/game.js | 90 +++++++++++++++++++ 11 files changed, 502 insertions(+) create mode 100644 assets/arrow_tileset.png create mode 100644 assets/tilemaps/maps/Fall1.json create mode 100644 assets/tilemaps/maps/Fall2.json create mode 100644 assets/tilemaps/maps/Forest1.json create mode 100644 assets/tilemaps/maps/Forest2.json create mode 100644 assets/tilemaps/maps/Forest3.json create mode 100644 assets/tilemaps/tiles/tilesheet_complete.png create mode 100644 index.html create mode 100644 lib/phaser.map create mode 100644 lib/phaser.min.js create mode 100644 src/game.js diff --git a/assets/arrow_tileset.png b/assets/arrow_tileset.png new file mode 100644 index 0000000000000000000000000000000000000000..bb94e326d63709059b76a7963df07d2c6bee9480 GIT binary patch literal 2556 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 yd`UVrnGB{L-T)6*@9P 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 + + + + Top Down Stuff + + + + + + + + + \ No newline at end of file diff --git a/lib/phaser.map b/lib/phaser.map new file mode 100644 index 0000000..d2c3d28 --- /dev/null +++ b/lib/phaser.map @@ -0,0 +1 @@ +{"version":3,"file":"phaser.min.js","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","stage","worldAlpha","worldTransform","Matrix","worldScale","worldRotation","_sr","_cr","filterArea","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","item","isMask","_filters","passes","filterPasses","_filterBlock","blendMode","blendModes","MULTIPLY","NORMAL","_generateCachedSprite","updateTransform","tx","ty","pt","wt","rotationCache","atan2","transformCallback","transformCallbackContext","displayObjectUpdateTransform","getBounds","matrix","EmptyRectangle","getLocalBounds","identityMatrix","setStageReference","preUpdate","generateTexture","resolution","scaleMode","renderer","bounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","toGlobal","toLocal","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","gl","Sprite","_renderWebGL","_renderCanvas","texture","tempFilters","filters","anchor","DisplayObjectContainer","_width","_height","addChild","addChildAt","removeChild","swapChildren","child2","index1","getChildIndex","index2","setChildIndex","currentIndex","getChildAt","removeChildAt","removeStageReference","removeChildren","beginIndex","endIndex","begin","range","removed","displayObjectContainerUpdateTransform","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","matrixCache","spriteBatch","flush","filterManager","pushFilter","maskManager","pushMask","mask","popMask","popFilter","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","baseTexture","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","crop","currentBlendMode","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","scaleModes","LINEAR","trim","roundPixels","setTransform","cw","ch","requiresReTint","CanvasTinter","getTintedTexture","drawImage","source","fromFrame","frameId","TextureCache","fromImage","imageId","crossorigin","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","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","contextLost","viewport","bindFramebuffer","FRAMEBUFFER","clearColor","_bgColor","COLOR_BUFFER_BIT","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","BaseTextureCache","BaseTextureCacheIdGenerator","BaseTexture","complete","naturalWidth","naturalHeight","imageUrl","forceLoaded","_pixiId","unloadFromGPU","updateSourceImage","newSrc","glTexture","image","crossOrigin","fromCanvas","TextureCacheIdGenerator","FrameCache","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","addTextureToCache","removeTextureFromCache","textureBuffer","renderWebGL","renderCanvas","tempMatrix","updateBase","identity","translate","realResolution","getImage","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","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","trunc","Function","bind","thisArg","bound","args","boundArgs","concat","TypeError","F","proto","arg","forEach","fun","CheapArray","assert","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","contains","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","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","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","empty","inflatePoint","containsRaw","rx","ry","rw","rh","volume","sameDimensions","MIN_VALUE","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","_targetPosition","_edge","_position","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","follow","helper","unfollow","focusOn","setPosition","focusOnXY","updateTarget","checkBounds","setBoundsToWorld","setSize","State","make","camera","cache","input","load","math","sound","tweens","particles","physics","rnd","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","Signal","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","boot","onPause","pause","onResume","resume","state","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","dispatch","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","exists","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","webkitHidden","mozHidden","msHidden","hidden","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","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","SORT_ASCENDING","SORT_DESCENDING","silent","removeFromHash","addToHash","events","onAddedToGroup$dispatch","addMultiple","moveAll","addAt","updateZ","getAt","createMultiple","quantity","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","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","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","destroyPhase","onRemovedFromGroup$dispatch","group","removeBetween","destroyChildren","soft","_definedSize","stateChange","setBounds","useBounds","horizontal","vertical","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","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","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","addMoveCallback","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","limit","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","worldVisible","TileSprite","Graphics","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","defineProperties","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","duration","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","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","_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","dragStartPoint","snapPoint","_dragPoint","_dragPhase","_wasEnabled","_tempPoint","_pointerData","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","flagged","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","startDrag","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","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","_rawPad","_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","BringToTop","Core","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","Delta","Destroy","destroyTexture","onDestroy$dispatch","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","inputEnabled","InWorld","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","img","base","frameData","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","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","Tilemap","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","align","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","ctx","imageData","textureFrame","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","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","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","beginFill","fillColor","endFill","drawRect","drawRoundedRect","drawCircle","drawEllipse","drawPolygon","clearDirty","updateCachedSpriteTexture","_prevTint","updateLocalBounds","tempPoint","RECT","RREC","CIRC","ELIP","cachedSprite","destroyCachedSprite","GraphicsData","POLY","_lineTint","_fillTint","sign","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","list","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","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","wrappedLines","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","exec","parseFloat","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","FrameData","currentX","currentY","addFrame","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","_checkDevice","Int8Array","_checkIsLittleEndian","Uint8ClampedArray","Int32Array","_checkIsUint8ClampedImageData","vibrate","webkitVibrate","mozVibrate","msVibrate","elem","createImageData","_checkCSS3D","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","canPlayAudio","canPlayVideo","isConsoleOpen","profile","profileEnd","isAndroidStockBrowser","matches","skipPool","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","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","radians","linearInterpolation","linear","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","percent","degreeToRadiansFactor","radianToDegreesFactor","degrees","seeds","s0","sow","integer","frac","integerInRange","realInRange","pick","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","getAll","pendingDelete","removeFrom","_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","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","elapsedMS","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","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","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","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","getPixiTexture","getPixiBaseTexture","getURL","getKeys","removeCanvas","removeFromPixi","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","atlas","baseURL","isLoading","preloadSprite","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","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","Blob","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","onFadeComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","mute","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","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","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","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","PORTRAIT","LANDSCAPE","matchMedia","documentBounds","pageXOffset","pageYOffset","treatAsDesktop","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","randomIndex","removeRandomItem","shuffle","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","POSITIVE_INFINITY","numberArray","numberArrayStep","LinkedList","entity","palettes","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","cellWidth","cellHeight","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","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","group1","group2","body1","body2","separateX","separateY","immovable","maxOverlap","deltaAbsX","embedded","touching","none","overlapX","customSeparateX","bounce","moves","nv1","nv2","avg","deltaAbsY","overlapY","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","worldAngleToPointer","allowRotation","preRotation","newVelocity","deltaMax","facing","collideWorldBounds","any","wasTouching","blocked","tilePadding","syncBounds","_sx","_sy","updateBounds","asx","asy","check","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","separateTile","tile","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","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","rotateLeft","rotateRight","moveForward","moveBackward","thrust","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","setCircle","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","TilemapLayer","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","tileColor","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","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","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","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","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute"],"mappings":"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"} \ No newline at end of file diff --git a/lib/phaser.min.js b/lib/phaser.min.js new file mode 100644 index 0000000..4fe312e --- /dev/null +++ b/lib/phaser.min.js @@ -0,0 +1,27 @@ +/* Phaser v2.4.6 - http://phaser.io - @photonstorm - (c) 2015 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&&1>=i&&j>=0&&1>=j}},{"./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 g>m}return 0==d.area(a,b,c)},d.sqdist=function(a,b){var c=b[0]-a[0],d=b[1]-a[1];return c*c+d*d}},{}],3:[function(a,b,c){function d(){this.vertices=[]}function e(a,b,c,d,e){e=e||0;var f=b[1]-a[1],g=a[0]-b[0],i=f*a[0]+g*a[1],j=d[1]-c[1],k=c[0]-d[0],l=j*c[0]+k*c[1],m=f*k-j*g;return h.eq(m,0,e)?[0,0]:[(k*i-g*l)/m,(f*l-j*i)/m]}var f=a("./Line"),g=a("./Point"),h=a("./Scalar");b.exports=d,d.prototype.at=function(a){var b=this.vertices,c=b.length;return b[0>a?a%c+c:a%c]},d.prototype.first=function(){return this.vertices[0]},d.prototype.last=function(){return this.vertices[this.vertices.length-1]},d.prototype.clear=function(){this.vertices.length=0},d.prototype.append=function(a,b,c){if("undefined"==typeof b)throw new Error("From is not given!");if("undefined"==typeof c)throw new Error("To is not given!");if(b>c-1)throw new Error("lol1");if(c>a.vertices.length)throw new Error("lol2");if(0>b)throw new Error("lol3");for(var d=b;c>d;d++)this.vertices.push(a.vertices[d])},d.prototype.makeCCW=function(){for(var a=0,b=this.vertices,c=1;cb[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)a)for(var f=a;b>=f;f++)e.vertices.push(this.vertices[f]);else{for(var f=0;b>=f;f++)e.vertices.push(this.vertices[f]);for(var f=a;f0?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;cc;c++)if(f.segmentsIntersect(a[b],a[b+1],a[c],a[c+1]))return!1;for(var b=1;bh)return console.warn("quickDecomp: max level ("+h+") reached."),a;for(var x=0;xo&&(n=o,k=l,r=y))),g.left(v.at(x+1),v.at(x),v.at(y+1))&&g.rightOn(v.at(x+1),v.at(x),v.at(y))&&(l=e(v.at(x+1),v.at(x),v.at(y),v.at(y+1)),g.left(v.at(x-1),v.at(x),l)&&(o=g.sqdist(v.vertices[x],l),m>o&&(m=o,j=l,q=y)));if(r==(q+1)%this.vertices.length)l[0]=(k[0]+j[0])/2,l[1]=(k[1]+j[1])/2,c.push(l),q>x?(t.append(v,x,q+1),t.vertices.push(l),u.vertices.push(l),0!=r&&u.append(v,r,v.vertices.length),u.append(v,0,x+1)):(0!=x&&t.append(v,x,v.vertices.length),t.append(v,0,q+1),t.vertices.push(l),u.vertices.push(l),u.append(v,r,x+1));else{if(r>q&&(q+=this.vertices.length),p=Number.MAX_VALUE,r>q)return a;for(var y=r;q>=y;++y)g.leftOn(v.at(x-1),v.at(x),v.at(y))&&g.rightOn(v.at(x+1),v.at(x),v.at(y))&&(o=g.sqdist(v.at(x),v.at(y)),p>o&&(p=o,s=y%this.vertices.length));s>x?(t.append(v,x,s+1),0!=s&&u.append(v,s,w.length),u.append(v,0,x+1)):(0!=x&&t.append(v,x,w.length),t.append(v,0,s+1),u.append(v,s,x+1))}return t.vertices.length3&&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;ko;o++)l[o]>h[o]&&(h[o]=l[o]),l[o]c&&(this.lowerBound[b]=c);var d=a.upperBound[b];this.upperBound[b]i?-1:h>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 d*d>=c},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?!1:a.type===c&&b.type===d||a.type===d&&b.type===c?!1:a.type===c&&b.type===c?!1:a.sleepState===f.SLEEPING&&b.sleepState===f.SLEEPING?!1:a.sleepState===f.SLEEPING&&b.type===d||b.sleepState===f.SLEEPING&&a.type===d?!1:!0},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;d>h;h++){var i=b[h];e.canCollide(g,i)&&this.boundingVolumeCheck(g,i)&&c.push(g,i)}return c},d.prototype.aabbQuery=function(a,b,c){c=c||[];for(var d=a.bodies,e=0;e=r*n)return!1;n=r}return!0}var g=a("../math/vec2"),h=g.sub,i=g.add,j=g.dot,k=(a("../utils/Utils"),a("../utils/ContactEquationPool")),l=a("../utils/FrictionEquationPool"),m=a("../utils/TupleDictionary"),n=a("../equations/Equation"),o=(a("../equations/ContactEquation"),a("../equations/FrictionEquation"),a("../shapes/Circle")),p=a("../shapes/Convex"),q=a("../shapes/Shape"),r=(a("../objects/Body"),a("../shapes/Box"));b.exports=d;var s=g.fromValues(0,1),t=g.fromValues(0,0),u=g.fromValues(0,0),v=g.fromValues(0,0),w=g.fromValues(0,0),x=g.fromValues(0,0),y=g.fromValues(0,0),z=g.fromValues(0,0),A=g.fromValues(0,0),B=g.fromValues(0,0),C=g.fromValues(0,0),D=g.fromValues(0,0),E=g.fromValues(0,0),F=g.fromValues(0,0),G=g.fromValues(0,0),H=g.fromValues(0,0),I=g.fromValues(0,0),J=g.fromValues(0,0),K=g.fromValues(0,0),L=[],M=g.create(),N=g.create();d.prototype.bodiesOverlap=function(a,b){for(var c=M,d=N,e=0,f=a.shapes.length;e!==f;e++){var g=a.shapes[e];a.toWorldFrame(c,g.position);for(var h=0,i=b.shapes.length;h!==i;h++){var j=b.shapes[h];if(b.toWorldFrame(d,j.position),this[g.type|j.type](a,g,c,g.angle+a.angle,b,j,d,j.angle+b.angle,!0))return!0}}return!1},d.prototype.collidedLastStep=function(a,b){var c=0|a.id,d=0|b.id;return!!this.collidingBodiesLastStep.get(c,d)},d.prototype.reset=function(){this.collidingBodiesLastStep.reset();for(var a=this.contactEquations,b=a.length;b--;){var c=a[b],d=c.bodyA.id,e=c.bodyB.id;this.collidingBodiesLastStep.set(d,e,!0)}for(var f=this.contactEquations,g=this.frictionEquations,h=0;hp;p++){g.set(m,(0===p?-1:1)*b.length/2,0),g.rotate(m,m,d),g.add(m,m,c);for(var q=0;2>q;q++){g.set(n,(0===q?-1:1)*h.length/2,0),g.rotate(n,n,j),g.add(n,n,i),this.enableFrictionReduction&&(l=this.enableFriction,this.enableFriction=!1);var r=this.circleCircle(a,b,m,d,f,h,n,j,k,b.radius,h.radius);if(this.enableFrictionReduction&&(this.enableFriction=l),k&&r)return!0;o+=r}}this.enableFrictionReduction&&(l=this.enableFriction,this.enableFriction=!1);var s=S;e(s,b);var t=this.convexCapsule(a,s,c,d,f,h,i,j,k);if(this.enableFrictionReduction&&(this.enableFriction=l),k&&t)return!0;if(o+=t,this.enableFrictionReduction){var l=this.enableFriction;this.enableFriction=!1}e(s,h);var u=this.convexCapsule(f,s,i,j,a,b,c,d,k);return this.enableFrictionReduction&&(this.enableFriction=l),k&&u?!0:(o+=u,this.enableFrictionReduction&&o&&this.enableFriction&&this.frictionEquations.push(this.createFrictionFromAverage(o)),o)},d.prototype[q.LINE|q.LINE]=d.prototype.lineLine=function(a,b,c,d,e,f,g,h,i){return i?!1:0},d.prototype[q.PLANE|q.LINE]=d.prototype.planeLine=function(a,b,c,d,e,f,k,l,m){var n=t,o=u,p=v,q=w,r=x,C=y,D=z,E=A,F=B,G=L,H=0;g.set(n,-f.length/2,0),g.set(o,f.length/2,0),g.rotate(p,n,l),g.rotate(q,o,l),i(p,p,k),i(q,q,k),g.copy(n,p),g.copy(o,q),h(r,o,n),g.normalize(C,r),g.rotate90cw(F,C),g.rotate(E,s,d),G[0]=n,G[1]=o;for(var I=0;IK){if(m)return!0;var M=this.createContactEquation(a,e,b,f);H++,g.copy(M.normalA,E),g.normalize(M.normalA,M.normalA),g.scale(D,E,K),h(M.contactPointA,J,D),h(M.contactPointA,M.contactPointA,a.position),h(M.contactPointB,J,k),i(M.contactPointB,M.contactPointB,k),h(M.contactPointB,M.contactPointB,e.position),this.contactEquations.push(M),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(M))}}return m?!1:(this.enableFrictionReduction||H&&this.enableFriction&&this.frictionEquations.push(this.createFrictionFromAverage(H)),H)},d.prototype[q.PARTICLE|q.CAPSULE]=d.prototype.particleCapsule=function(a,b,c,d,e,f,g,h,i){return this.circleLine(a,b,c,d,e,f,g,h,i,f.radius,0)},d.prototype[q.CIRCLE|q.LINE]=d.prototype.circleLine=function(a,b,c,d,e,f,k,l,m,n,o){var n=n||0,o="undefined"!=typeof o?o:b.radius,p=t,q=u,r=v,s=w,H=x,I=y,J=z,K=A,M=B,N=C,O=D,P=E,Q=F,R=G,S=L;g.set(K,-f.length/2,0),g.set(M,f.length/2,0),g.rotate(N,K,l),g.rotate(O,M,l),i(N,N,k),i(O,O,k),g.copy(K,N),g.copy(M,O),h(I,M,K),g.normalize(J,I),g.rotate90cw(H,J),h(P,c,K);var T=j(P,H);h(s,K,k),h(Q,c,k);var U=o+n;if(Math.abs(T)W&&X>V){if(m)return!0;var Y=this.createContactEquation(a,e,b,f);return g.scale(Y.normalA,p,-1),g.normalize(Y.normalA,Y.normalA),g.scale(Y.contactPointA,Y.normalA,o),i(Y.contactPointA,Y.contactPointA,c),h(Y.contactPointA,Y.contactPointA,a.position),h(Y.contactPointB,r,k),i(Y.contactPointB,Y.contactPointB,k),h(Y.contactPointB,Y.contactPointB,e.position),this.contactEquations.push(Y),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Y)),1}}S[0]=K,S[1]=M;for(var Z=0;ZQ&&(g.copy(J,B),L=Q,g.scale(A,s,Q),g.add(A,A,B),K=!0)}}if(K){if(m)return!0;var R=this.createContactEquation(a,e,b,j);return g.sub(R.normalA,J,c),g.normalize(R.normalA,R.normalA),g.scale(R.contactPointA,R.normalA,n),i(R.contactPointA,R.contactPointA,c),h(R.contactPointA,R.contactPointA,a.position),h(R.contactPointB,A,k),i(R.contactPointB,R.contactPointB,k),h(R.contactPointB,R.contactPointB,e.position),this.contactEquations.push(R),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(R)),1}if(n>0)for(var N=0;NQ&&(I=Q,g.scale(E,s,Q),g.add(E,E,c),g.copy(H,s),L=!0)}if(L){var R=this.createContactEquation(a,e,b,k);return g.scale(R.normalA,H,-1),g.normalize(R.normalA,R.normalA),g.set(R.contactPointA,0,0),i(R.contactPointA,R.contactPointA,c),h(R.contactPointA,R.contactPointA,a.position),h(R.contactPointB,E,l),i(R.contactPointB,R.contactPointB,l),h(R.contactPointB,R.contactPointB,e.position),this.contactEquations.push(R),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(R)),1}return 0},d.prototype[q.CIRCLE]=d.prototype.circleCircle=function(a,b,c,d,e,f,j,k,l,m,n){var o=t,m=m||b.radius,n=n||f.radius;h(o,c,j);var p=m+n;if(g.squaredLength(o)>Math.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(-1===H||-1===I)return 0;for(var J=0;2>J;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;L+2>V;V++){var W=N.vertices[(V+N.vertices.length)%N.vertices.length];g.rotate(q,W,R),i(q,q,P);for(var X=0,Y=K-1;K+2>Y;Y++){var Z=M.vertices[(Y+M.vertices.length)%M.vertices.length],$=M.vertices[(Y+1+M.vertices.length)%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(E,y),g.normalize(E,E),h(D,q,r);var _=j(E,D);(Y===K&&o>=_||Y!==K&&0>=_)&&X++}if(X>=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||k>h)&&(k=h);if(k>i){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=0>=B,(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=0>=B,(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);(-1===k||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);0>w&&(w=0),x>=n.length&&(x=n.length-1);for(var y=n[w],z=n[x],A=w;x>A;A++)n[A]y&&(y=n[A]);if(c[1]-m>y)return l?!1:0;for(var B=!1,A=w;x>A;A++){g.set(u,A*o,n[A]),g.set(v,(A+1)*o,n[A+1]),g.add(u,u,j),g.add(v,v,j),g.sub(t,v,u),g.rotate(t,t,Math.PI/2),g.normalize(t,t),g.scale(q,t,-m),g.add(q,q,c),g.sub(p,q,u);var C=g.dot(p,t);if(q[0]>=u[0]&&q[0]=C){if(l)return!0;B=!0,g.scale(p,t,-C),g.add(r,q,p),g.copy(s,t);var D=this.createContactEquation(e,a,f,b);g.copy(D.normalA,s),g.scale(D.contactPointB,D.normalA,-m),i(D.contactPointB,D.contactPointB,c),h(D.contactPointB,D.contactPointB,a.position),g.copy(D.contactPointA,r),g.sub(D.contactPointA,D.contactPointA,e.position),this.contactEquations.push(D),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(D))}}if(B=!1,m>0)for(var A=w;x>=A;A++)if(g.set(u,A*o,n[A]),g.add(u,u,j),g.sub(p,c,u),g.squaredLength(p)q&&(q=0),r>=k.length&&(r=k.length-1);for(var s=k[q],t=k[r],u=q;r>u;u++)k[u]s&&(s=k[u]);if(a.aabb.lowerBound[1]>s)return j?!1:0;for(var v=0,u=q;r>u;u++){g.set(m,u*l,k[u]),g.set(n,(u+1)*l,k[u+1]),g.add(m,m,h),g.add(n,n,h);var w=100;g.set(o,.5*(n[0]+m[0]),.5*(n[1]+m[1]-w)),g.sub(p.vertices[0],n,o),g.sub(p.vertices[1],m,o),g.copy(p.vertices[2],p.vertices[1]),g.copy(p.vertices[3],p.vertices[0]),p.vertices[2][1]-=w,p.vertices[3][1]-=w,v+=this.convexConvex(a,b,c,d,e,p,o,0,j)}return v}},{"../equations/ContactEquation":21,"../equations/Equation":22,"../equations/FrictionEquation":23,"../math/vec2":30,"../objects/Body":31,"../shapes/Box":37,"../shapes/Circle":39,"../shapes/Convex":40,"../shapes/Shape":45,"../utils/ContactEquationPool":48,"../utils/FrictionEquationPool":49,"../utils/TupleDictionary":56,"../utils/Utils":57}],11:[function(a,b,c){function d(a){a=a||{},this.from=a.from?f.fromValues(a.from[0],a.from[1]):f.create(),this.to=a.to?f.fromValues(a.to[0],a.to[1]):f.create(),this.checkCollisionResponse=void 0!==a.checkCollisionResponse?a.checkCollisionResponse:!0,this.skipBackfaces=!!a.skipBackfaces,this.collisionMask=void 0!==a.collisionMask?a.collisionMask:-1,this.collisionGroup=void 0!==a.collisionGroup?a.collisionGroup:-1,this.mode=void 0!==a.mode?a.mode:d.ANY,this.callback=a.callback||function(a){},this.direction=f.create(),this.length=1,this.update()}function e(a,b,c){f.sub(h,c,a);var d=f.dot(h,b);return f.scale(i,b,d),f.add(i,i,a),f.squaredDistance(c,i)}b.exports=d;var f=a("../math/vec2");a("../collision/RaycastResult"),a("../shapes/Shape"),a("../collision/AABB");d.prototype.constructor=d,d.CLOSEST=1,d.ANY=2,d.ALL=4,d.prototype.update=function(){var a=this.direction;f.sub(a,this.to,this.from),this.length=f.length(a),f.normalize(a,a)},d.prototype.intersectBodies=function(a,b){for(var c=0,d=b.length;!a.shouldStop(this)&&d>c;c++){var e=b[c],f=e.getAABB();(f.overlapsRay(this)>=0||f.containsPoint(this.from))&&this.intersectBody(a,e)}};var 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;h>e;e++){var i=b.shapes[e];if((!c||i.collisionResponse)&&0!==(this.collisionGroup&i.collisionMask)&&0!==(i.collisionGroup&this.collisionMask)){f.rotate(d,i.position,b.angle),f.add(d,d,b.position);var j=i.angle+b.angle;if(this.intersectShape(a,i,j,d,b),a.shouldStop(this))break}}},d.prototype.intersectShape=function(a,b,c,d,f){var g=this.from,h=e(g,this.direction,d);h>b.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:(bc;c++){for(var e=a[c],f=c-1;f>=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;i>k;k++){var l=b[k],m=l.aabb.lowerBound[d]<=j.aabb.upperBound[d];if(!m)break;f.canCollide(j,l)&&this.boundingVolumeCheck(j,l)&&c.push(j,l)}return c},d.prototype.aabbQuery=function(a,b,c){c=c||[],this.sortList();var d=this.axisIndex,e="x";1===d&&(e="y"),2===d&&(e="z");for(var f=this.axisList,g=(b.lowerBound[e],b.upperBound[e],0);gthis.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),-1===a.indexOf(e)&&a.push(e);else{var u=a.indexOf(e);-1!==u&&a.splice(u,1)}if(this.lowerLimitEnabled&&d>s)h.scale(f.normalA,j,1),h.sub(f.contactPointA,k,g.position),h.sub(f.contactPointB,l,i.position),h.scale(o,j,d),h.sub(f.contactPointB,f.contactPointB,o),-1===a.indexOf(f)&&a.push(f);else{var u=a.indexOf(f);-1!==u&&a.splice(u,1)}},d.prototype.enableMotor=function(){this.motorEnabled||(this.equations.push(this.motorEquation),this.motorEnabled=!0)},d.prototype.disableMotor=function(){if(this.motorEnabled){var a=this.equations.indexOf(this.motorEquation);this.equations.splice(a,1),this.motorEnabled=!1}},d.prototype.setLimits=function(a,b){"number"==typeof a?(this.lowerLimit=a,this.lowerLimitEnabled=!0):(this.lowerLimit=a,this.lowerLimitEnabled=!1),"number"==typeof b?(this.upperLimit=b,this.upperLimitEnabled=!0):(this.upperLimit=b,this.upperLimitEnabled=!1)}},{"../equations/ContactEquation":21,"../equations/Equation":22,"../equations/RotationalLockEquation":24,"../math/vec2":30,"./Constraint":14}],19:[function(a,b,c){function d(a,b,c){c=c||{},e.call(this,a,b,e.REVOLUTE,c);var d=this.maxForce="undefined"!=typeof c.maxForce?c.maxForce:Number.MAX_VALUE;this.pivotA=i.create(),this.pivotB=i.create(),c.worldPivot?(i.sub(this.pivotA,c.worldPivot,a.position),i.sub(this.pivotB,c.worldPivot,b.position),i.rotate(this.pivotA,this.pivotA,-a.angle),i.rotate(this.pivotB,this.pivotB,-b.angle)):(i.copy(this.pivotA,c.localPivotA),i.copy(this.pivotB,c.localPivotB));var o=this.equations=[new f(a,b,-d,d),new f(a,b,-d,d)],p=o[0],q=o[1],r=this;p.computeGq=function(){return i.rotate(j,r.pivotA,a.angle),i.rotate(k,r.pivotB,b.angle),i.add(n,b.position,k),i.sub(n,n,a.position),i.sub(n,n,j),i.dot(n,l)},q.computeGq=function(){return i.rotate(j,r.pivotA,a.angle),i.rotate(k,r.pivotB,b.angle),i.add(n,b.position,k),i.sub(n,n,a.position),i.sub(n,n,j),i.dot(n,m)},q.minForce=p.minForce=-d,q.maxForce=p.maxForce=d,this.motorEquation=new g(a,b),this.motorEnabled=!1,this.angle=0,this.lowerLimitEnabled=!1,this.upperLimitEnabled=!1,this.lowerLimit=0,this.upperLimit=0,this.upperLimitEquation=new h(a,b),this.lowerLimitEquation=new h(a,b),this.upperLimitEquation.minForce=0,this.lowerLimitEquation.maxForce=0}var e=a("./Constraint"),f=a("../equations/Equation"),g=a("../equations/RotationalVelocityEquation"),h=a("../equations/RotationalLockEquation"),i=a("../math/vec2");b.exports=d;var j=i.create(),k=i.create(),l=i.fromValues(1,0),m=i.fromValues(0,1),n=i.create();d.prototype=new e,d.prototype.constructor=d,d.prototype.setLimits=function(a,b){"number"==typeof a?(this.lowerLimit=a,this.lowerLimitEnabled=!0):(this.lowerLimit=a,this.lowerLimitEnabled=!1),"number"==typeof b?(this.upperLimit=b,this.upperLimitEnabled=!0):(this.upperLimit=b,this.upperLimitEnabled=!1)},d.prototype.update=function(){var a=this.bodyA,b=this.bodyB,c=this.pivotA,d=this.pivotB,e=this.equations,f=(e[0],e[1],e[0]),g=e[1],h=this.upperLimit,n=this.lowerLimit,o=this.upperLimitEquation,p=this.lowerLimitEquation,q=this.angle=b.angle-a.angle;if(this.upperLimitEnabled&&q>h)o.angle=h,-1===e.indexOf(o)&&e.push(o);else{var r=e.indexOf(o);-1!==r&&e.splice(r,1)}if(this.lowerLimitEnabled&&n>q)p.angle=n,-1===e.indexOf(p)&&e.push(p);else{var r=e.indexOf(p);-1!==r&&e.splice(r,1)}i.rotate(j,c,a.angle),i.rotate(k,d,b.angle),f.G[0]=-1,f.G[1]=0,f.G[2]=-i.crossLength(j,l),f.G[3]=1,f.G[4]=0,f.G[5]=i.crossLength(k,l),g.G[0]=0,g.G[1]=-1,g.G[2]=-i.crossLength(j,m),g.G[3]=0,g.G[4]=1,g.G[5]=i.crossLength(k,m)},d.prototype.enableMotor=function(){this.motorEnabled||(this.equations.push(this.motorEquation),this.motorEnabled=!0)},d.prototype.disableMotor=function(){if(this.motorEnabled){var a=this.equations.indexOf(this.motorEquation);this.equations.splice(a,1),this.motorEnabled=!1}},d.prototype.motorIsEnabled=function(){return!!this.motorEnabled},d.prototype.setMotorSpeed=function(a){if(this.motorEnabled){var b=this.equations.indexOf(this.motorEquation);this.equations[b].relativeVelocity=a}},d.prototype.getMotorSpeed=function(){return this.motorEnabled?this.motorEquation.relativeVelocity:!1}},{"../equations/Equation":22,"../equations/RotationalLockEquation":24,"../equations/RotationalVelocityEquation":25,"../math/vec2":30,"./Constraint":14}],20:[function(a,b,c){function d(a,b,c){c=c||{},e.call(this,a,b,-Number.MAX_VALUE,Number.MAX_VALUE),this.angle=c.angle||0,this.ratio="number"==typeof c.ratio?c.ratio:1,this.setRatio(this.ratio)}var e=a("./Equation");a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeGq=function(){return this.ratio*this.bodyA.angle-this.bodyB.angle+this.angle},d.prototype.setRatio=function(a){var b=this.G;b[2]=a,b[5]=-1,this.ratio=a},d.prototype.setMaxTorque=function(a){this.maxForce=a,this.minForce=-a}},{"../math/vec2":30,"./Equation":22}],21:[function(a,b,c){function d(a,b){e.call(this,a,b,0,Number.MAX_VALUE),this.contactPointA=f.create(),this.penetrationVec=f.create(),this.contactPointB=f.create(),this.normalA=f.create(),this.restitution=0,this.firstImpact=!1,this.shapeA=null,this.shapeB=null}var e=a("./Equation"),f=a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeB=function(a,b,c){var d=this.bodyA,e=this.bodyB,g=this.contactPointA,h=this.contactPointB,i=d.position,j=e.position,k=this.penetrationVec,l=this.normalA,m=this.G,n=f.crossLength(g,l),o=f.crossLength(h,l);m[0]=-l[0],m[1]=-l[1],m[2]=-n,m[3]=l[0],m[4]=l[1],m[5]=o,f.add(k,j,h),f.sub(k,k,i),f.sub(k,k,g);var p,q;this.firstImpact&&0!==this.restitution?(q=0,p=1/b*(1+this.restitution)*this.computeGW()):(q=f.dot(l,k)+this.offset,p=this.computeGW());var r=this.computeGiMf(),s=-q*a-p*b-c*r;return s}},{"../math/vec2":30,"./Equation":22}],22:[function(a,b,c){function d(a,b,c,e){this.minForce="undefined"==typeof c?-Number.MAX_VALUE:c,this.maxForce="undefined"==typeof e?Number.MAX_VALUE:e,this.bodyA=a,this.bodyB=b,this.stiffness=d.DEFAULT_STIFFNESS,this.relaxation=d.DEFAULT_RELAXATION,this.G=new f.ARRAY_TYPE(6);for(var g=0;6>g;g++)this.G[g]=0;this.offset=0,this.a=0,this.b=0,this.epsilon=0,this.timeStep=1/60,this.needsUpdate=!0,this.multiplier=0,this.relativeVelocity=0,this.enabled=!0}b.exports=d;var e=a("../math/vec2"),f=a("../utils/Utils");a("../objects/Body");d.prototype.constructor=d,d.DEFAULT_STIFFNESS=1e6,d.DEFAULT_RELAXATION=4,d.prototype.update=function(){var a=this.stiffness,b=this.relaxation,c=this.timeStep;this.a=4/(c*(1+4*b)),this.b=4*b/(1+4*b),this.epsilon=4/(c*c*a*(1+4*b)),this.needsUpdate=!1},d.prototype.gmult=function(a,b,c,d,e){return a[0]*b[0]+a[1]*b[1]+a[2]*c+a[3]*d[0]+a[4]*d[1]+a[5]*e},d.prototype.computeB=function(a,b,c){var d=this.computeGW(),e=this.computeGq(),f=this.computeGiMf();return-e*a-d*b-f*c};var g=e.create(),h=e.create();d.prototype.computeGq=function(){var a=this.G,b=this.bodyA,c=this.bodyB,d=(b.position,c.position,b.angle),e=c.angle;return this.gmult(a,g,d,h,e)+this.offset},d.prototype.computeGW=function(){var a=this.G,b=this.bodyA,c=this.bodyB,d=b.velocity,e=c.velocity,f=b.angularVelocity,g=c.angularVelocity;return this.gmult(a,d,f,e,g)+this.relativeVelocity},d.prototype.computeGWlambda=function(){var a=this.G,b=this.bodyA,c=this.bodyB,d=b.vlambda,e=c.vlambda,f=b.wlambda,g=c.wlambda;return this.gmult(a,d,f,e,g)};var i=e.create(),j=e.create();d.prototype.computeGiMf=function(){var a=this.bodyA,b=this.bodyB,c=a.force,d=a.angularForce,f=b.force,g=b.angularForce,h=a.invMassSolve,k=b.invMassSolve,l=a.invInertiaSolve,m=b.invInertiaSolve,n=this.G;return e.scale(i,c,h),e.multiply(i,a.massMultiplier,i),e.scale(j,f,k),e.multiply(j,b.massMultiplier,j),this.gmult(n,i,d*l,j,g*m)},d.prototype.computeGiMGt=function(){var a=this.bodyA,b=this.bodyB,c=a.invMassSolve,d=b.invMassSolve,e=a.invInertiaSolve,f=b.invInertiaSolve,g=this.G;return g[0]*g[0]*c*a.massMultiplier[0]+g[1]*g[1]*c*a.massMultiplier[1]+g[2]*g[2]*e+g[3]*g[3]*d*b.massMultiplier[0]+g[4]*g[4]*d*b.massMultiplier[1]+g[5]*g[5]*f};var k=e.create(),l=e.create(),m=e.create();e.create(),e.create(),e.create();d.prototype.addToWlambda=function(a){var b=this.bodyA,c=this.bodyB,d=k,f=l,g=m,h=b.invMassSolve,i=c.invMassSolve,j=b.invInertiaSolve,n=c.invInertiaSolve,o=this.G;f[0]=o[0],f[1]=o[1],g[0]=o[3],g[1]=o[4],e.scale(d,f,h*a),e.multiply(d,d,b.massMultiplier),e.add(b.vlambda,b.vlambda,d),b.wlambda+=j*o[2]*a,e.scale(d,g,i*a),e.multiply(d,d,c.massMultiplier),e.add(c.vlambda,c.vlambda,d),c.wlambda+=n*o[5]*a},d.prototype.computeInvC=function(a){return 1/(this.computeGiMGt()+a)}},{"../math/vec2":30,"../objects/Body":31,"../utils/Utils":57}],23:[function(a,b,c){function d(a,b,c){f.call(this,a,b,-c,c),this.contactPointA=e.create(),this.contactPointB=e.create(),this.t=e.create(),this.contactEquations=[],this.shapeA=null,this.shapeB=null,this.frictionCoefficient=.3}var e=a("../math/vec2"),f=a("./Equation");a("../utils/Utils");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.setSlipForce=function(a){this.maxForce=a,this.minForce=-a},d.prototype.getSlipForce=function(){return this.maxForce},d.prototype.computeB=function(a,b,c){var d=(this.bodyA,this.bodyB,this.contactPointA),f=this.contactPointB,g=this.t,h=this.G;h[0]=-g[0],h[1]=-g[1],h[2]=-e.crossLength(d,g),h[3]=g[0],h[4]=g[1],h[5]=e.crossLength(f,g);var i=this.computeGW(),j=this.computeGiMf(),k=-i*b-c*j;return k}},{"../math/vec2":30,"../utils/Utils":57,"./Equation":22}],24:[function(a,b,c){function d(a,b,c){c=c||{},e.call(this,a,b,-Number.MAX_VALUE,Number.MAX_VALUE),this.angle=c.angle||0;var d=this.G;d[2]=1,d[5]=-1}var e=a("./Equation"),f=a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d;var g=f.create(),h=f.create(),i=f.fromValues(1,0),j=f.fromValues(0,1);d.prototype.computeGq=function(){return f.rotate(g,i,this.bodyA.angle+this.angle),f.rotate(h,j,this.bodyB.angle),f.dot(g,h)}},{"../math/vec2":30,"./Equation":22}],25:[function(a,b,c){function d(a,b){e.call(this,a,b,-Number.MAX_VALUE,Number.MAX_VALUE),this.relativeVelocity=1,this.ratio=1}var e=a("./Equation");a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeB=function(a,b,c){var d=this.G;d[2]=-1,d[5]=this.ratio;var e=this.computeGiMf(),f=this.computeGW(),g=-f*b-c*e;return g}},{"../math/vec2":30,"./Equation":22}],26:[function(a,b,c){var d=function(){};b.exports=d,d.prototype={constructor:d,on:function(a,b,c){b.context=c||this,void 0===this._listeners&&(this._listeners={});var d=this._listeners;return void 0===d[a]&&(d[a]=[]),-1===d[a].indexOf(b)&&d[a].push(b),this},has:function(a,b){if(void 0===this._listeners)return!1;var c=this._listeners;if(b){if(void 0!==c[a]&&-1!==c[a].indexOf(b))return!0}else if(void 0!==c[a])return!0;return!1},off:function(a,b){if(void 0===this._listeners)return this;var c=this._listeners,d=c[a].indexOf(b);return-1!==d&&c[a].splice(d,1),this},emit:function(a){if(void 0===this._listeners)return this;var b=this._listeners,c=b[a.type];if(void 0!==c){a.target=this;for(var d=0,e=c.length;e>d;d++){var f=c[d];f.call(f.context,a)}}return this}}},{}],27:[function(a,b,c){function d(a,b,c){if(c=c||{},!(a instanceof e&&b instanceof e))throw new Error("First two arguments must be Material instances.");this.id=d.idCounter++,this.materialA=a,this.materialB=b,this.friction="undefined"!=typeof c.friction?Number(c.friction):.3,this.restitution="undefined"!=typeof c.restitution?Number(c.restitution):0,this.stiffness="undefined"!=typeof c.stiffness?Number(c.stiffness):f.DEFAULT_STIFFNESS,this.relaxation="undefined"!=typeof c.relaxation?Number(c.relaxation):f.DEFAULT_RELAXATION,this.frictionStiffness="undefined"!=typeof c.frictionStiffness?Number(c.frictionStiffness):f.DEFAULT_STIFFNESS,this.frictionRelaxation="undefined"!=typeof c.frictionRelaxation?Number(c.frictionRelaxation):f.DEFAULT_RELAXATION,this.surfaceVelocity="undefined"!=typeof c.surfaceVelocity?Number(c.surfaceVelocity):0,this.contactSkinSize=.005}var e=a("./Material"),f=a("../equations/Equation");b.exports=d,d.idCounter=0},{"../equations/Equation":22,"./Material":28}],28:[function(a,b,c){function d(a){this.id=a||d.idCounter++}b.exports=d,d.idCounter=0},{}],29:[function(a,b,c){var d={};d.GetArea=function(a){if(a.length<6)return 0;for(var b=a.length-2,c=0,d=0;b>d;d+=2)c+=(a[d+2]-a[d])*(a[d+1]+a[d+3]);return c+=(a[0]-a[b])*(a[b+1]+a[1]),.5*-c},d.Triangulate=function(a){var b=a.length>>1;if(3>b)return[];for(var c=[],e=[],f=0;b>f;f++)e.push(f);for(var f=0,g=b;g>3;){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;g>r;r++){var s=e[r];if(s!=h&&s!=i&&s!=j&&d._PointInTriangle(a[2*s],a[2*s+1],k,l,m,n,o,p)){q=!1;break}}}if(q)c.push(h,i,j),e.splice((f+1)%g,1),g--,f=0;else if(f++>3*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&&1>u+v},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 0>g?!1:(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&&1>=e&&f>=0&&1>=f?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:!0,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:!0,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-1!==b?(this.shapes.splice(b,1),this.aabbNeedsUpdate=!0,a.body=null,!0):!1},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;b>g;g++){var h=a[g],i=e.squaredLength(h.position),j=h.computeMomentOfInertia(c);f+=j+c*i}this.inertia=f,this.invInertia=f>0?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&&ir;r++){var s=this.radius*(2*r-1);f.set(o,-q,s),f.set(p,q,s),f.toGlobalFrame(o,o,c,d),f.toGlobalFrame(p,p,c,d);var t=f.getLineSegmentsIntersectionFraction(e,g,o,p);if(t>=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;2>r;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(!(0>t))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&&1>=A&&(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&&1>=B&&(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(!(0>n))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&&1>=s&&(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&&1>=t&&(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||g>d)&&(g=d);if(g>e){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;bg;e=g,g++){var h=this.vertices[e],i=this.vertices[g],j=Math.abs(f.crossLength(h,i)),k=f.dot(i,i)+f.dot(i,h)+f.dot(h,h);b+=j*k,c+=j}return a/6*(b/c)},d.prototype.updateBoundingRadius=function(){for(var a=this.vertices,b=0,c=0;c!==a.length;c++){var d=f.squaredLength(a[c]);d>b&&(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;j>k&&!a.shouldStop(b);k++){var l=i[k],m=i[(k+1)%j],n=f.getLineSegmentsIntersectionFraction(e,g,l,m);n>=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),c>e&&(c=e)}this.maxValue=b,this.minValue=c},d.prototype.computeMomentOfInertia=function(a){return Number.MAX_VALUE},d.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},d.prototype.updateArea=function(){for(var a=this.heights,b=0,c=0;cs){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)=w*w)break}for(d.updateMultipliers(k,q,1/a),x=0;x!==l;x++){var z=k[x];if(z instanceof i){for(var A=0,B=0;B!==z.contactEquations.length;B++)A+=z.contactEquations[B].multiplier;A*=z.frictionCoefficient/z.contactEquations.length,z.maxForce=A,z.minForce=-A}}}for(c=0;c!==g;c++){for(w=0,x=0;x!==l;x++){v=k[x];var y=d.iterateEquation(x,v,v.epsilon,u,t,q,p,a,c);w+=Math.abs(y)}if(this.usedIterations++,m>=w*w)break}for(r=0;r!==o;r++)n[r].addConstraintVelocity();d.updateMultipliers(k,q,1/a)}},d.updateMultipliers=function(a,b,c){for(var d=a.length;d--;)a[d].multiplier=b[d]*c},d.iterateEquation=function(a,b,c,d,e,f,g,h,i){var j=d[a],k=e[a],l=f[a],m=b.computeGWlambda(),n=b.maxForce,o=b.minForce;g&&(j=0);var p=k*(j-m-c*l),q=l+p;return o*h>q?p=o*h-l:q>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);-1!==b&&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;e>d;d++)a[d]=a[d+c];a.length=e},"undefined"!=typeof P2_ARRAY_TYPE?d.ARRAY_TYPE=P2_ARRAY_TYPE:"undefined"!=typeof Float32Array?d.ARRAY_TYPE=Float32Array:d.ARRAY_TYPE=Array,d.extend=function(a,b){for(var c in b)a[c]=b[c]},d.defaults=function(a,b){a=a||{};for(var c in b)c in a||(a[c]=b[c]);return a}},{}],58:[function(a,b,c){function d(){this.equations=[],this.bodies=[]}var e=a("../objects/Body");b.exports=d,d.prototype.reset=function(){this.equations.length=this.bodies.length=0};var f=[];d.prototype.getBodies=function(a){var b=a||[],c=this.equations;f.length=0;for(var d=0;d!==c.length;d++){var e=c[d];-1===f.indexOf(e.bodyA.id)&&(b.push(e.bodyA),f.push(e.bodyA.id)),-1===f.indexOf(e.bodyB.id)&&(b.push(e.bodyB),f.push(e.bodyB.id))}return b},d.prototype.wantsToSleep=function(){for(var a=0;a=a&&c>d;)this.internalStep(a),this.time+=a,this.accumulator-=a,d++;for(var e=this.accumulator%a/a,g=0;g!==this.bodies.length;g++){var h=this.bodies[g];f.lerp(h.interpolatedPosition,h.previousPosition,h.position,e),h.interpolatedAngle=h.previousAngle+e*(h.angle-h.previousAngle)}}};var y=[];d.prototype.internalStep=function(a){this.stepping=!0;var b=this.springs.length,c=this.springs,e=this.bodies,g=this.gravity,h=this.solver,i=this.bodies.length,j=this.broadphase,k=this.narrowphase,l=this.constraints,n=v,o=(f.scale,f.add),p=(f.rotate,this.islandManager);if(this.overlapKeeper.tick(),this.lastTimeStep=a,this.useWorldGravityAsFrictionGravity){var q=f.length(this.gravity);0===q&&this.useFrictionGravityOnZeroGravity||(this.frictionGravity=q)}if(this.applyGravity)for(var r=0;r!==i;r++){var t=e[r],u=t.force;t.type===m.DYNAMIC&&t.sleepState!==m.SLEEPING&&(f.scale(n,g,t.mass*t.gravityScale),o(u,u,n))}if(this.applySpringForces)for(var r=0;r!==b;r++){var w=c[r];w.applyForce()}if(this.applyDamping)for(var r=0;r!==i;r++){var t=e[r];t.type===m.DYNAMIC&&t.applyDamping(a)}for(var x=j.getCollisionPairs(this),z=this.disabledBodyCollisionPairs,r=z.length-2;r>=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),this.stage&&a.setStageReference(this.stage),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(0>c||0>d)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(-1===b)throw new Error("The supplied DisplayObject must be a child of the caller");return b},b.DisplayObjectContainer.prototype.setChildIndex=function(a,b){if(0>b||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(0>a||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(-1!==b)return this.removeChildAt(b)},b.DisplayObjectContainer.prototype.removeChildAt=function(a){var b=this.getChildAt(a);return this.stage&&b.removeStageReference(),b.parent=void 0,this.children.splice(a,1),b},b.DisplayObjectContainer.prototype.removeChildren=function(a,b){var c=a||0,d="number"==typeof b?b:this.children.length,e=d-c;if(e>0&&d>=e){for(var f=this.children.splice(c,e),g=0;gj;j++){var l=this.children[j];l.visible&&(i=!0,a=this.children[j].getBounds(),e=ec?g:c,h=h>d?h:d)}if(!i)return b.EmptyRectangle;var m=this._bounds;return m.x=e,m.y=f,m.width=g-e,m.height=h-f,m},b.DisplayObjectContainer.prototype.getLocalBounds=function(){var a=this.worldTransform;this.worldTransform=b.identityMatrix;for(var c=0,d=this.children.length;d>c;c++)this.children[c].updateTransform();var e=this.getBounds();return this.worldTransform=a,e},b.DisplayObjectContainer.prototype.setStageReference=function(a){this.stage=a;for(var b=0;bi){i*=-1;var s=d;d=-e,e=-s}if(0>l){l*=-1;var s=f;f=-g,g=-s}q=i*e+m,o=i*d+m,r=l*g+n,p=l*f+n}else{var t=i*e+k*g+m,u=l*g+j*e+n,v=i*d+k*g+m,w=l*g+j*d+n,x=i*d+k*f+m,y=l*f+j*d+n,z=i*e+k*f+m,A=l*f+j*e+n;q=q>t?t:q,q=q>v?v:q,q=q>x?x:q,q=q>z?z:q,r=r>u?u:r,r=r>w?w:r,r=r>y?y:r,r=r>A?A:r,o=t>o?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._renderWebGL=function(a,b){if(this.visible&&!(this.alpha<=0)&&this.renderable){var c=this.worldTransform;if(b&&(c=b),this._mask||this._filters){var d=a.spriteBatch;this._filters&&(d.flush(),a.filterManager.pushFilter(this._filterBlock)),this._mask&&(d.stop(),a.maskManager.pushMask(this.mask,a),d.start()),d.render(this);for(var e=0;e>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;a>b;)b<<=1;return b},b.isPowerOfTwo=function(a,b){return a>0&&0===(a&a-1)&&b>0&&0===(b&b-1)},b.CanvasPool={create:function(a,c,d){var e,f=b.CanvasPool.getFirst();if(-1===f){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;cd;d+=6,e+=4)this.indices[d+0]=e+0,this.indices[d+1]=e+1,this.indices[d+2]=e+2,this.indices[d+3]=e+0,this.indices[d+4]=e+2,this.indices[d+5]=e+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.dirty=!0,this.textures=[],this.blendModes=[],this.shaders=[],this.sprites=[],this.defaultShader=new b.AbstractFilter(["precision lowp float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;","}"])},b.WebGLSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW),this.currentBlendMode=99999;var c=new b.PixiShader(a);c.fragmentSrc=this.defaultShader.fragmentSrc,c.uniforms={},c.init(),this.defaultShader.shaders[a.id]=c},b.WebGLSpriteBatch.prototype.begin=function(a){this.renderSession=a,this.shader=this.renderSession.shaderManager.defaultShader,this.start()},b.WebGLSpriteBatch.prototype.end=function(){this.flush()},b.WebGLSpriteBatch.prototype.render=function(a,b){var c=a.texture,d=a.worldTransform;b&&(d=b),this.currentBatchSize>=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;r>q;q++){i=this.sprites[q],f=i.tilingTexture?i.tilingTexture.baseTexture:i.texture.baseTexture,g=i.blendMode,h=i.shader||this.defaultShader,o=m!==g,p=n!==h;var s=f.skipRender;if(s&&i.children.length>0&&(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;d>e;e+=6,f+=4)this.indices[e+0]=f+0,this.indices[e+1]=f+1,this.indices[e+2]=f+2,this.indices[e+3]=f+0,this.indices[e+4]=f+2,this.indices[e+5]=f+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.currentBlendMode=0,this.renderSession=null,this.shader=null,this.matrix=null,this.setContext(a)},b.WebGLFastSpriteBatch.prototype.constructor=b.WebGLFastSpriteBatch,b.WebGLFastSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW)},b.WebGLFastSpriteBatch.prototype.begin=function(a,b){this.renderSession=b,this.shader=this.renderSession.shaderManager.fastShader,this.matrix=a.worldTransform.toArray(!0),this.start()},b.WebGLFastSpriteBatch.prototype.end=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.render=function(a){var b=a.children,c=b[0];if(c.texture._uvs){this.currentBaseTexture=c.texture.baseTexture,c.blendMode!==this.renderSession.blendModeManager.currentBlendMode&&(this.flush(),this.renderSession.blendModeManager.setBlendMode(c.blendMode));for(var d=0,e=b.length;e>d;d++)this.renderSprite(b[d]);this.flush()}},b.WebGLFastSpriteBatch.prototype.renderSprite=function(a){if(a.visible&&(a.texture.baseTexture===this.currentBaseTexture||a.texture.baseTexture.skipRender||(this.flush(),this.currentBaseTexture=a.texture.baseTexture,a.texture._uvs))){var b,c,d,e,f,g,h,i,j=this.vertices;if(b=a.texture._uvs,c=a.texture.frame.width,d=a.texture.frame.height,a.texture.trim){var k=a.texture.trim;f=k.x-a.anchor.x*k.width,e=f+a.texture.crop.width,h=k.y-a.anchor.y*k.height,g=h+a.texture.crop.height}else e=a.texture.frame.width*(1-a.anchor.x),f=a.texture.frame.width*-a.anchor.x,g=a.texture.frame.height*(1-a.anchor.y),h=a.texture.frame.height*-a.anchor.y;i=4*this.currentBatchSize*this.vertSize,j[i++]=f,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x0,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x1,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x2,j[i++]=b.y2,j[i++]=a.alpha,j[i++]=f,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x3,j[i++]=b.y3,j[i++]=a.alpha,this.currentBatchSize++,this.currentBatchSize>=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.fromImage=function(a,c,d){var e=b.BaseTextureCache[a];if(void 0===c&&-1===a.indexOf("data:")&&(c=!0),!e){var f=new Image;c&&(f.crossOrigin=""),f.src=a,e=new b.BaseTexture(f,d),e.imageUrl=a,b.BaseTextureCache[a]=e,-1!==a.indexOf(b.RETINA_PREFIX+".")&&(e.resolution=2)}return e},b.BaseTexture.fromCanvas=function(a,c){a._pixiId||(a._pixiId="canvas_"+b.TextureCacheIdGenerator++),0===a.width&&(a.width=1),0===a.height&&(a.height=1);var d=b.BaseTextureCache[a._pixiId];return d||(d=new b.BaseTexture(a,c),b.BaseTextureCache[a._pixiId]=d),d},b.TextureCache={},b.FrameCache={},b.TextureSilentFail=!1,b.TextureCacheIdGenerator=0,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.fromImage=function(a,c,d){var e=b.TextureCache[a]; +return e||(e=new b.Texture(b.BaseTexture.fromImage(a,c,d)),b.TextureCache[a]=e),e},b.Texture.fromFrame=function(a){var c=b.TextureCache[a];if(!c)throw new Error('The frameId "'+a+'" does not exist in the texture cache ');return c},b.Texture.fromCanvas=function(a,c){var d=b.BaseTexture.fromCanvas(a,c);return new b.Texture(d)},b.Texture.addTextureToCache=function(a,c){b.TextureCache[c]=a},b.Texture.removeTextureFromCache=function(a){var c=b.TextureCache[a];return delete b.TextureCache[a],delete b.BaseTextureCache[a],c},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;ea;a++)this.shaders[a].dirty=!0},b.Strip=function(a){b.DisplayObjectContainer.call(this),this.texture=a,this.uvs=new b.Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new b.Float32Array([0,0,100,0,100,100,0,100]),this.colors=new b.Float32Array([1,1,1,1]),this.indices=new b.Uint16Array([0,1,2,3]),this.dirty=!0,this.blendMode=b.blendModes.NORMAL,this.canvasPadding=0,this.drawMode=b.Strip.DrawModes.TRIANGLE_STRIP},b.Strip.prototype=Object.create(b.DisplayObjectContainer.prototype),b.Strip.prototype.constructor=b.Strip,b.Strip.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())},b.Strip.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)},b.Strip.prototype._renderStrip=function(a){var c=a.gl,d=a.projection,e=a.offset,f=a.shaderManager.stripShader,g=this.drawMode===b.Strip.DrawModes.TRIANGLE_STRIP?c.TRIANGLE_STRIP:c.TRIANGLES;a.blendModeManager.setBlendMode(this.blendMode),c.uniformMatrix3fv(f.translationMatrix,!1,this.worldTransform.toArray(!0)),c.uniform2f(f.projectionVector,d.x,-d.y),c.uniform2f(f.offsetVector,-e.x,-e.y),c.uniform1f(f.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,c.bindBuffer(c.ARRAY_BUFFER,this._vertexBuffer),c.bufferData(c.ARRAY_BUFFER,this.vertices,c.STATIC_DRAW),c.vertexAttribPointer(f.aVertexPosition,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this._uvBuffer),c.bufferData(c.ARRAY_BUFFER,this.uvs,c.STATIC_DRAW),c.vertexAttribPointer(f.aTextureCoord,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),this.texture.baseTexture._dirty[c.id]?a.renderer.updateTexture(this.texture.baseTexture):c.bindTexture(c.TEXTURE_2D,this.texture.baseTexture._glTextures[c.id]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this._indexBuffer),c.bufferData(c.ELEMENT_ARRAY_BUFFER,this.indices,c.STATIC_DRAW)):(c.bindBuffer(c.ARRAY_BUFFER,this._vertexBuffer),c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices),c.vertexAttribPointer(f.aVertexPosition,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this._uvBuffer),c.vertexAttribPointer(f.aTextureCoord,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),this.texture.baseTexture._dirty[c.id]?a.renderer.updateTexture(this.texture.baseTexture):c.bindTexture(c.TEXTURE_2D,this.texture.baseTexture._glTextures[c.id]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),c.drawElements(g,this.indices.length,c.UNSIGNED_SHORT,0)},b.Strip.prototype._renderCanvas=function(a){var c=a.context,d=this.worldTransform;a.roundPixels?c.setTransform(d.a,d.b,d.c,d.d,0|d.tx,0|d.ty):c.setTransform(d.a,d.b,d.c,d.d,d.tx,d.ty),this.drawMode===b.Strip.DrawModes.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(c):this._renderCanvasTriangles(c)},b.Strip.prototype._renderCanvasTriangleStrip=function(a){var b=this.vertices,c=this.uvs,d=b.length/2;this.count++;for(var e=0;d-2>e;e++){var f=2*e;this._renderCanvasDrawTriangle(a,b,c,f,f+2,f+4)}},b.Strip.prototype._renderCanvasTriangles=function(a){var b=this.vertices,c=this.uvs,d=this.indices,e=d.length;this.count++;for(var f=0;e>f;f+=3){var g=2*d[f],h=2*d[f+1],i=2*d[f+2];this._renderCanvasDrawTriangle(a,b,c,g,h,i)}},b.Strip.prototype._renderCanvasDrawTriangle=function(a,b,c,d,e,f){var g=this.texture.baseTexture.source,h=this.texture.width,i=this.texture.height,j=b[d],k=b[e],l=b[f],m=b[d+1],n=b[e+1],o=b[f+1],p=c[d]*h,q=c[e]*h,r=c[f]*h,s=c[d+1]*i,t=c[e+1]*i,u=c[f+1]*i;if(this.canvasPadding>0){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;d-2>e;e++){var f=2*e,g=c[f],h=c[f+2],i=c[f+4],j=c[f+1],k=c[f+3],l=c[f+5];b.moveTo(g,j),b.lineTo(h,k),b.lineTo(i,l)}b.fillStyle="#FF0000",b.fill(),b.closePath()},b.Strip.prototype.onTextureUpdate=function(){this.updateFrame=!0},b.Strip.prototype.getBounds=function(a){for(var c=a||this.worldTransform,d=c.a,e=c.b,f=c.c,g=c.d,h=c.tx,i=c.ty,j=-(1/0),k=-(1/0),l=1/0,m=1/0,n=this.vertices,o=0,p=n.length;p>o;o+=2){var q=n[o],r=n[o+1],s=d*q+f*r+h,t=g*r+e*q+i;l=l>s?s:l,m=m>t?t:m,j=s>j?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;i>j;j++)f=a[j],g=4*j,h=j/(i-1),j%2?(b[g]=h,b[g+1]=0,b[g+2]=h,b[g+3]=1):(b[g]=h,b[g+1]=0,b[g+2]=h,b[g+3]=1),g=2*j,e[g]=1,e[g+1]=1,g=2*j,d[g]=g,d[g+1]=g+1,c=f}},b.Rope.prototype.updateTransform=function(){var a=this.points;if(!(a.length<1)){var c,d=a[0],e={x:0,y:0};this.count-=.2;for(var f,g,h,i,j,k=this.vertices,l=a.length,m=0;l>m;m++)f=a[m],g=4*m,c=m1&&(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;bn?n:x,x=x>p?p:x,x=x>r?r:x,x=x>t?t:x,y=y>o?o:y,y=y>q?q:y,y=y>s?s:y,y=y>u?u:y,v=n>v?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.4.6",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,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 0>a?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 f(a){return a&&(f.prototype=a),this instanceof f?void 0:new f}(d.prototype),c}}()),Array.isArray||(Array.isArray=function(a){return"[object Array]"==Object.prototype.toString.call(a)}),Array.prototype.forEach||(Array.prototype.forEach=function(a){"use strict";if(void 0===this||null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if("function"!=typeof a)throw new TypeError;for(var d=arguments.length>=2?arguments[1]:void 0,e=0;c>e;e++)e in b&&a.call(d,b[e],e,b)}),"function"!=typeof window.Uint32Array&&"object"!=typeof window.Uint32Array){var d=function(a){var b=new Array;window[a]=function(a){if("number"==typeof a){Array.call(this,a),this.length=a;for(var b=0;bf&&(a=a[g]);)g=c[f],f++;return a?a[d]:null},setProperty:function(a,b,c){for(var d=b.split("."),e=d.pop(),f=d.length,g=1,h=d[0];f>g&&(a=a[h]);)h=d[g],g++;return a&&(a[e]=c),a},chanceRoll:function(a){return void 0===a&&(a=50),a>0&&100*Math.random()<=a},randomChoice:function(a,b){return Math.random()<.5?a:b},parseDimension:function(a,b){var c=0,d=0;return"string"==typeof a?"%"===a.substr(-1)?(c=parseInt(a,10)/100,d=0===b?window.innerWidth*c:window.innerHeight*c):d=parseInt(a,10):d=a,d},pad:function(a,b,c,d){if(void 0===b)var b=0;if(void 0===c)var c=" ";if(void 0===d)var d=3;var e=0;if(b+1>=a.length)switch(d){case 1:a=new Array(b+1-a.length).join(c)+a;break;case 3:var f=Math.ceil((e=b-a.length)/2),g=e-f;a=new Array(g+1).join(c)+a+new Array(f+1).join(c);break;default:a+=new Array(b+1-a.length).join(c)}return a},isPlainObject:function(a){if("object"!=typeof a||a.nodeType||a===a.window)return!1;try{if(a.constructor&&!{}.hasOwnProperty.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(b){return!1}return!0},extend:function(){var a,b,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(b in a)d=h[b],e=a[b],h!==e&&(k&&e&&(c.Utils.isPlainObject(e)||(f=Array.isArray(e)))?(f?(f=!1,g=d&&Array.isArray(d)?d:[]):g=d&&c.Utils.isPlainObject(d)?d:{},h[b]=c.Utils.extend(k,g,e)):void 0!==e&&(h[b]=e));return h},mixinPrototype:function(a,b,c){void 0===c&&(c=!1);for(var d=Object.keys(b),e=0;e0&&(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 k>=i+j},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){ad+e},PIXI.Ellipse=c.Ellipse,c.Line=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.start=new c.Point(a,b),this.end=new c.Point(d,e),this.type=c.LINE},c.Line.prototype={setTo:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(c,d),this},fromSprite:function(a,b,c){return void 0===c&&(c=!1),c?this.setTo(a.center.x,a.center.y,b.center.x,b.center.y):this.setTo(a.x,a.y,b.x,b.y)},fromAngle:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(a+Math.cos(c)*d,b+Math.sin(c)*d),this},rotate:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2;return this.start.rotate(c,d,a,b),this.end.rotate(c,d,a,b),this},rotateAround:function(a,b,c,d){return this.start.rotate(a,b,c,d),this.end.rotate(a,b,c,d),this},intersects:function(a,b,d){return c.Line.intersectsPoints(this.start,this.end,a.start,a.end,b,d)},reflect:function(a){return c.Line.reflect(this,a)},midPoint:function(a){return void 0===a&&(a=new c.Point),a.x=(this.start.x+this.end.x)/2,a.y=(this.start.y+this.end.y)/2,a},centerOn:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2,e=a-c,f=b-d;this.start.add(e,f),this.end.add(e,f)},pointOnLine:function(a,b){return(a-this.start.x)*(this.end.y-this.start.y)===(this.end.x-this.start.x)*(b-this.start.y)},pointOnSegment:function(a,b){var c=Math.min(this.start.x,this.end.x),d=Math.max(this.start.x,this.end.x),e=Math.min(this.start.y,this.end.y),f=Math.max(this.start.y,this.end.y);return this.pointOnLine(a,b)&&a>=c&&d>=a&&b>=e&&f>=b},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=e>c?1:-1,j=f>d?1:-1,k=g-h;b.push([c,d]);for(var l=1;c!=e||d!=f;){var m=k<<1;m>-h&&(k-=h,c+=i),g>m&&(k+=g,d+=j),l%a===0&&b.push([c,d]),l++}return b},clone:function(a){return void 0===a||null===a?a=new c.Line(this.start.x,this.start.y,this.end.x,this.end.y):a.setTo(this.start.x,this.start.y,this.end.x,this.end.y),a}},Object.defineProperty(c.Line.prototype,"length",{get:function(){return Math.sqrt((this.end.x-this.start.x)*(this.end.x-this.start.x)+(this.end.y-this.start.y)*(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"angle",{get:function(){return Math.atan2(this.end.y-this.start.y,this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"slope",{get:function(){return(this.end.y-this.start.y)/(this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"perpSlope",{get:function(){return-((this.end.x-this.start.x)/(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"x",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"y",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"left",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"right",{get:function(){return Math.max(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"top",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"bottom",{get:function(){return Math.max(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"width",{get:function(){return Math.abs(this.start.x-this.end.x)}}),Object.defineProperty(c.Line.prototype,"height",{get:function(){return Math.abs(this.start.y-this.end.y)}}),Object.defineProperty(c.Line.prototype,"normalX",{get:function(){return Math.cos(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalY",{get:function(){return Math.sin(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalAngle",{get:function(){return c.Math.wrap(this.angle-1.5707963267948966,-Math.PI,Math.PI)}}),c.Line.intersectsPoints=function(a,b,d,e,f,g){void 0===f&&(f=!0),void 0===g&&(g=new c.Point);var h=b.y-a.y,i=e.y-d.y,j=a.x-b.x,k=d.x-e.x,l=b.x*a.y-a.x*b.y,m=e.x*d.y-d.x*e.y,n=h*k-i*j;if(0===n)return null;if(g.x=(j*m-k*l)/n,g.y=(i*l-h*m)/n,f){var o=(e.y-d.y)*(b.x-a.x)-(e.x-d.x)*(b.y-a.y),p=((e.x-d.x)*(a.y-d.y)-(e.y-d.y)*(a.x-d.x))/o,q=((b.x-a.x)*(a.y-d.y)-(b.y-a.y)*(a.x-d.x))/o;return p>=0&&1>=p&&q>=0&&1>=q?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.reflect=function(a,b){return 2*b.normalAngle-3.141592653589793-a.angle},c.Matrix=function(a,b,d,e,f,g){a=a||1,b=b||0,d=d||0,e=e||1,f=f||0,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(-1*this.y,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(-1*a.y,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(1>d)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;d>e;e++)c.Point.add(b,a[e],b);return b.divide(d,d),b},c.Point.parse=function(a,b,d){b=b||"x",d=d||"y";var e=new c.Point;return a[b]&&(e.x=parseInt(a[b],10)),a[d]&&(e.y=parseInt(a[d],10)),e},PIXI.Point=c.Point,c.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.type=c.POLYGON},c.Polygon.prototype={toNumberArray:function(a){void 0===a&&(a=[]);for(var b=0;b=h&&j>b||b>=j&&h>b)&&(i-g)*(b-h)/(j-h)+g>a&&(d=!d)}return d},setTo:function(a){if(this.area=0,this._points=[],arguments.length>0){Array.isArray(a)||(a=Array.prototype.slice.call(arguments));for(var b=Number.MAX_VALUE,c=0,d=a.length;d>c;c++){if("number"==typeof a[c]){var e=new PIXI.Point(a[c],a[c+1]);c++}else var e=new PIXI.Point(a[c].x,a[c].y);this._points.push(e),e.yf;f++)b=this._points[f],c=f===g-1?this._points[0]:this._points[f+1],d=(b.y-a+(c.y-a))/2,e=b.x-c.x,this.area+=d*e;return this.area}},c.Polygon.prototype.constructor=c.Polygon,Object.defineProperty(c.Polygon.prototype,"points",{get:function(){return this._points},set:function(a){null!=a?this.setTo(a):this.setTo()}}),PIXI.Polygon=c.Polygon,c.Rectangle=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.RECTANGLE},c.Rectangle.prototype={offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},scale:function(a,b){return void 0===b&&(b=a),this.width*=a,this.height*=b,this},centerOn:function(a,b){return this.centerX=a,this.centerY=b,this},floor:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y)},floorAll:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.width=Math.floor(this.width),this.height=Math.floor(this.height)},ceil:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y)},ceilAll:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.width=Math.ceil(this.width),this.height=Math.ceil(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},inflate:function(a,b){return c.Rectangle.inflate(this,a,b)},size:function(a){return c.Rectangle.size(this,a)},resize:function(a,b){return this.width=a,this.height=b,this},clone:function(a){return c.Rectangle.clone(this,a)},contains:function(a,b){return c.Rectangle.contains(this,a,b)},containsRect:function(a){return c.Rectangle.containsRect(a,this)},equals:function(a){return c.Rectangle.equals(this,a)},intersection:function(a,b){return c.Rectangle.intersection(this,a,b)},intersects:function(a){return c.Rectangle.intersects(this,a)},intersectsRaw:function(a,b,d,e,f){return c.Rectangle.intersectsRaw(this,a,b,d,e,f)},union:function(a,b){return c.Rectangle.union(this,a,b)},random:function(a){return void 0===a&&(a=new c.Point),a.x=this.randomX,a.y=this.randomY,a},toString:function(){return"[{Rectangle (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+" empty="+this.empty+")}]"}},Object.defineProperty(c.Rectangle.prototype,"halfWidth",{get:function(){return Math.round(this.width/2)}}),Object.defineProperty(c.Rectangle.prototype,"halfHeight",{get:function(){return Math.round(this.height/2)}}),Object.defineProperty(c.Rectangle.prototype,"bottom",{get:function(){return this.y+this.height},set:function(a){a<=this.y?this.height=0:this.height=a-this.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomLeft",{get:function(){return new c.Point(this.x,this.bottom)},set:function(a){this.x=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomRight",{get:function(){return new c.Point(this.right,this.bottom)},set:function(a){this.right=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"left",{get:function(){return this.x},set:function(a){a>=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?!1:b>=a.x&&b=a.y&&c=a&&a+c>e&&f>=b&&b+d>f},c.Rectangle.containsPoint=function(a,b){return c.Rectangle.contains(a,b.x,b.y)},c.Rectangle.containsRect=function(a,b){return a.volume>b.volume?!1: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._targetPosition=new c.Point,this._edge=0,this._position=new c.Point},c.Camera.FOLLOW_LOCKON=0,c.Camera.FOLLOW_PLATFORMER=1,c.Camera.FOLLOW_TOPDOWN=2,c.Camera.FOLLOW_TOPDOWN_TIGHT=3,c.Camera.prototype={preUpdate:function(){this.totalInView=0},follow:function(a,b){void 0===b&&(b=c.Camera.FOLLOW_LOCKON),this.target=a;var d;switch(b){case c.Camera.FOLLOW_PLATFORMER:var e=this.width/8,f=this.height/3;this.deadzone=new c.Rectangle((this.width-e)/2,(this.height-f)/2-.25*f,e,f);break;case c.Camera.FOLLOW_TOPDOWN:d=Math.max(this.width,this.height)/4,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_TOPDOWN_TIGHT:d=Math.max(this.width,this.height)/8,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);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))},update:function(){this.target&&this.updateTarget(),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateTarget:function(){this._targetPosition.copyFrom(this.target),this.target.parent&&this._targetPosition.multiply(this.target.parent.worldTransform.a,this.target.parent.worldTransform.d),this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this._targetPosition.x-this.deadzone.right),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this._targetPosition.y-this.deadzone.bottom)):(this.view.x=this._targetPosition.x-this.view.halfWidth,this.view.y=this._targetPosition.y-this.view.halfHeight)},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1,this.view.x<=this.bounds.x*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x),this.view.right>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width),this.view.y<=this.bounds.top*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y),this.view.bottom>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height)},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}},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.centerX,this.view.centerY),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}}),c.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},c.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},c.State.prototype.constructor=c.State,c.StateManager=function(a,b){this.game=a,this.states={},this._pendingState=null,"undefined"!=typeof b&&null!==b&&(this._pendingState=b),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new c.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},c.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(a,b,d){void 0===d&&(d=!1);var e;return b instanceof c.State?e=b:"object"==typeof b?(e=b,e.game=this.game):"function"==typeof b&&(e=new b(this.game)),this.states[a]=e,d&&(this.game.isBooted?this.start(a):this._pendingState=a),e},remove:function(a){this.current===a&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[a]},start:function(a,b,c){void 0===b&&(b=!0),void 0===c&&(c=!1),this.checkState(a)&&(this._pendingState=a,this._clearWorld=b,this._clearCache=c,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!1),this._pendingState=this.current,this._clearWorld=a,this._clearCache=b,arguments.length>2&&(this._args=Array.prototype.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?!0:(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:!0,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(-1!==h){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-1!==this._indexOfListener(a,b)},add:function(a,b,c){this.validateListener(a,"add");var d=[];if(arguments.length>3)for(var e=3;e3)for(var e=3;ea||a>=this.children.length?-1:this.getChildAt(a)},c.Group.prototype.create=function(a,b,c,d,e){void 0===e&&(e=!0);var f=new this.classType(this.game,a,b,c,d);return f.exists=e,f.visible=e,f.alive=e,f.z=this.children.length,this.addChild(f),this.enableBody&&this.game.physics.enable(f,this.physicsBodyType,this.enableBodyDebug),f.events&&f.events.onAddedToGroup$dispatch(f,this),null===this.cursor&&(this.cursor=f),f},c.Group.prototype.createMultiple=function(a,b,c,d){void 0===d&&(d=!1);for(var e=0;a>e;e++)this.create(0,0,b,c,d)},c.Group.prototype.updateZ=function(){for(var a=this.children.length;a--;)this.children[a].z=a},c.Group.prototype.resetCursor=function(a){return void 0===a&&(a=0),a>this.children.length-1&&(a=0),this.cursor?(this.cursorIndex=a,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.next=function(){return this.cursor?(this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.previous=function(){return this.cursor?(0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},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 0>a||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.replace=function(a,b){var d=this.getIndex(a);return-1!==d?(b.parent&&(b.parent instanceof c.Group?b.parent.remove(b):b.parent.removeChild(b)),this.remove(a),this.addAt(b,d),a):void 0},c.Group.prototype.hasProperty=function(a,b){var c=b.length;return 1===c&&b[0]in a?!0:2===c&&b[0]in a&&b[1]in a[b[0]]?!0:3===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]?!0:4===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]&&b[3]in a[b[0]][b[1]][b[2]]?!0:!1},c.Group.prototype.setProperty=function(a,b,c,d,e){if(void 0===e&&(e=!1),d=d||0,!this.hasProperty(a,b)&&(!e||d>0))return!1;var f=b.length;return 1===f?0===d?a[b[0]]=c:1==d?a[b[0]]+=c:2==d?a[b[0]]-=c:3==d?a[b[0]]*=c:4==d&&(a[b[0]]/=c):2===f?0===d?a[b[0]][b[1]]=c:1==d?a[b[0]][b[1]]+=c:2==d?a[b[0]][b[1]]-=c:3==d?a[b[0]][b[1]]*=c:4==d&&(a[b[0]][b[1]]/=c):3===f?0===d?a[b[0]][b[1]][b[2]]=c:1==d?a[b[0]][b[1]][b[2]]+=c:2==d?a[b[0]][b[1]][b[2]]-=c:3==d?a[b[0]][b[1]][b[2]]*=c:4==d&&(a[b[0]][b[1]][b[2]]/=c):4===f&&(0===d?a[b[0]][b[1]][b[2]][b[3]]=c:1==d?a[b[0]][b[1]][b[2]][b[3]]+=c:2==d?a[b[0]][b[1]][b[2]][b[3]]-=c:3==d?a[b[0]][b[1]][b[2]][b[3]]*=c:4==d&&(a[b[0]][b[1]][b[2]][b[3]]/=c)),!0},c.Group.prototype.checkProperty=function(a,b,d,e){return void 0===e&&(e=!1),!c.Utils.getProperty(a,b)&&e?!1:c.Utils.getProperty(a,b)!==d?!1:!0},c.Group.prototype.set=function(a,b,c,d,e,f,g){return 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)?this.setProperty(a,b,c,f,g):void 0},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(d===c.Group.RETURN_TOTAL&&0===this.children.length)return 0;for(var h=0,i=0;i0?this.children[this.children.length-1]:void 0},c.Group.prototype.getBottom=function(){return this.children.length>0?this.children[0]:void 0},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 0===this.children.length?null:(a=a||0,b=b||this.children.length,c.ArrayUtils.getRandomItem(this.children,a,b))},c.Group.prototype.remove=function(a,b,c){if(void 0===b&&(b=!1),void 0===c&&(c=!1),0===this.children.length||-1===this.children.indexOf(a))return!1;c||!a.events||a.destroyPhase||a.events.onRemovedFromGroup$dispatch(a,this);var d=this.removeChild(a);return this.removeFromHash(a),this.updateZ(),this.cursor===a&&this.next(),b&&d&&d.destroy(!0),!0},c.Group.prototype.moveAll=function(a,b){if(void 0===b&&(b=!1),this.children.length>0&&a instanceof c.Group){do a.add(this.children[0],b);while(this.children.length>0);this.hash=[],this.cursor=null}return a},c.Group.prototype.removeAll=function(a,b){if(void 0===a&&(a=!1),void 0===b&&(b=!1),0!==this.children.length){do{!b&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var c=this.removeChild(this.children[0]);this.removeFromHash(c),a&&c&&c.destroy(!0)}while(this.children.length>0);this.hash=[],this.cursor=null}},c.Group.prototype.removeBetween=function(a,b,c,d){if(void 0===b&&(b=this.children.length-1),void 0===c&&(c=!1),void 0===d&&(d=!1),0!==this.children.length){if(a>b||0>a||b>this.children.length)return!1;for(var e=b;e>=a;){!d&&this.children[e].events&&this.children[e].events.onRemovedFromGroup$dispatch(this.children[e],this);var f=this.removeChild(this.children[e]);this.removeFromHash(f),c&&f&&f.destroy(!0),this.cursor===this.children[e]&&(this.cursor=null),e--}this.updateZ()}},c.Group.prototype.destroy=function(a,b){null===this.game||this.ignoreDestroy||(void 0===a&&(a=!0),void 0===b&&(b=!1),this.onDestroy.dispatch(this,a,b),this.removeAll(a),this.cursor=null,this.filters=null,this.pendingDestroy=!1,b||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(c.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,c.Group.RETURN_TOTAL)}}),Object.defineProperty(c.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(c.Group.prototype,"angle",{get:function(){return c.Math.radToDeg(this.rotation)},set:function(a){this.rotation=c.Math.degToRad(a)}}),c.World=function(a){c.Group.call(this,a,null,"__world",!1),this.bounds=new c.Rectangle(0,0,a.width,a.height),this.camera=null,this._definedSize=!1,this._width=a.width,this._height=a.height,this.game.state.onStateChange.add(this.stateChange,this)},c.World.prototype=Object.create(c.Group.prototype),c.World.prototype.constructor=c.World,c.World.prototype.boot=function(){this.camera=new c.Camera(this.game,0,0,0,this.game.width,this.game.height),this.camera.displayObject=this,this.camera.scale=this.scale,this.game.camera=this.camera,this.game.stage.addChild(this)},c.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},c.World.prototype.setBounds=function(a,b,c,d){this._definedSize=!0,this._width=c,this._height=d,this.bounds.setTo(a,b,c,d),this.x=a,this.y=b,this.camera.bounds&&this.camera.bounds.setTo(a,b,Math.max(c,this.game.width),Math.max(d,this.game.height)),this.game.physics.setBoundsToWorld()},c.World.prototype.resize=function(a,b){this._definedSize&&(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){ag;g++)e>g?f.push("color: #ff2424; background: #fff"):f.push("color: #959595; background: #fff");console.log.apply(console,f)}else window.console&&console.log("Phaser v"+a+" | Pixi.js "+PIXI.VERSION+" | "+b+" | "+d+" | http://phaser.io")}},setUpRenderer:function(){if(this.canvas=c.Canvas.create(this,this.width,this.height,this.config.canvasID,!0),this.config.canvasStyle?this.canvas.style=this.config.canvasStyle:this.canvas.style["-webkit-full-screen"]="width: 100%; height: 100%",this.renderType===c.HEADLESS||this.renderType===c.CANVAS||this.renderType===c.AUTO&&!this.device.webGL){if(!this.device.canvas)throw new Error("Phaser.Game - Cannot create Canvas or WebGL context, aborting.");this.renderType=c.CANVAS,this.renderer=new PIXI.CanvasRenderer(this),this.context=this.renderer.context}else this.renderType=c.WEBGL,this.renderer=new PIXI.WebGLRenderer(this),this.context=null,this.canvas.addEventListener("webglcontextlost",this.contextLost.bind(this),!1),this.canvas.addEventListener("webglcontextrestored",this.contextRestored.bind(this),!1);this.device.cocoonJS&&(this.canvas.screencanvas=this.renderType===c.CANVAS?!0:!1),this.renderType!==c.HEADLESS&&(this.stage.smoothed=this.antialias,c.Canvas.addToDOM(this.canvas,this.parent,!1),c.Canvas.setTouchAction(this.canvas))},contextLost:function(a){a.preventDefault(),this.renderer.contextLost=!0},contextRestored:function(){this.renderer.initContext(),this.cache.clearGLTextures(),this.renderer.contextLost=!1},update:function(a){if(this.time.update(a),this._kickstart)return this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),this.updateRender(this.time.slowMotion*this.time.desiredFps),void(this._kickstart=!1);if(this._spiraling>1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var b=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*b,this.time.elapsed),0);var c=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/b),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=b&&(this._deltaTime-=b,this.currentUpdateID=c,this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),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.yi;i++)if(this.hitTest(a.children[i],b,d))return!0;return!1},onClickTrampoline:function(){this.activePointer.processClickTrampolines()}},c.Input.prototype.constructor=c.Input,Object.defineProperty(c.Input.prototype,"x",{get:function(){return this._x},set:function(a){this._x=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"y",{get:function(){return this._y},set:function(a){this._y=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"pollLocked",{get:function(){return this.pollRate>0&&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.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){for(var b=Number.MAX_VALUE,c=-1,d=null,e=this.game.input.interactiveItems.first;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)),e=this.game.input.interactiveItems.next;for(var 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),e=this.game.input.interactiveItems.next;return null===d?this.targetObject&&(this.targetObject._pointerOutHandler(this),this.targetObject=null):null===this.targetObject?(this.targetObject=d,d._pointerOverHandler(this)):this.targetObject===d?d.update(this)===!1&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this),this.targetObject=d,this.targetObject._pointerOverHandler(this)),null!==this.targetObject},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;fd;d++)this._pointerData[d]={id:d,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1};this.snapOffset=new c.Point,this.enabled=!0,this._wasEnabled=!0}return this.sprite.events.onAddedToGroup.add(this.addedToGroup,this),this.sprite.events.onRemovedFromGroup.add(this.removedFromGroup,this),this.flagged=!1,this.sprite},addedToGroup:function(){this._dragPhase||this._wasEnabled&&!this.enabled&&this.start()},removedFromGroup:function(){this._dragPhase||(this.enabled?(this._wasEnabled=!0,this.stop()):this._wasEnabled=!1)},reset:function(){this.enabled=!1,this.flagged=!1;for(var a=0;10>a;a++)this._pointerData[a]={id:a,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1}},stop:function(){this.enabled!==!1&&(this.enabled=!1,this.game.input.interactiveItems.remove(this))},destroy:function(){this.sprite&&(this._setHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.enabled=!1,this.game.input.interactiveItems.remove(this),this._pointerData.length=0,this.boundsRect=null,this.boundsSprite=null,this.sprite=null)},validForInput:function(a,b,c){return void 0===c&&(c=!0),!this.enabled||0===this.sprite.scale.x||0===this.sprite.scale.y||this.priorityIDa||this.priorityID===a&&this.sprite.renderOrderIDb;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;10>b;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&&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):!0):!1},checkPointerOver:function(a,b){return this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&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):!0):!1},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){return null!==this.sprite&&void 0!==this.sprite.parent?this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this.draggable&&this._draggedPointerID===a.id?this.updateDrag(a):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):void 0},_pointerOverHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(b.isOver===!1||a.dirty){var c=b.isOver===!1;b.isOver=!0,b.isOut=!1,b.timeOver=this.game.time.time,b.x=a.x-this.sprite.x,b.y=a.y-this.sprite.y,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),c&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,a)}}},_pointerOutHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];b.isOver=!1,b.isOut=!0,b.timeOut=this.game.time.time,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.sprite&&this.sprite.events&&this.sprite.events.onInputOut$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;b.isDown=!0,b.isUp=!1,b.timeDown=this.game.time.time,this.sprite&&this.sprite.events&&this.sprite.events.onInputDown$dispatch(this.sprite,a),a.dirty=!0,this.draggable&&this.isDragged===!1&&this.startDrag(a),this.bringToTop&&this.sprite.bringToTop()}}},_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 c=this.checkPointerOver(a);this.sprite&&this.sprite.events&&(this.sprite.events.onInputUp$dispatch(this.sprite,a,c),c&&(c=this.checkPointerOver(a))),b.isOver=c,!c&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),a.dirty=!0,this.draggable&&this.isDragged&&this._draggedPointerID===a.id&&this.stopDrag(a)}}},updateDrag:function(a,b){if(a.isUp)return this.stopDrag(a),!1;void 0===b&&(b=!1);var c=this.globalToLocalX(a.x)+this._dragPoint.x+this.dragOffset.x,d=this.globalToLocalY(a.y)+this._dragPoint.y+this.dragOffset.y;return 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))):(this.allowHorizontalDrag&&(this.sprite.x=c),this.allowVerticalDrag&&(this.sprite.y=d),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))),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)a;a++)this._pointerData[a].isDragged=!1;this.draggable=!1,this.isDragged=!1,this._draggedPointerID=-1},startDrag:function(a){var b=this.sprite.x,c=this.sprite.y;if(this.isDragged=!0,this._draggedPointerID=a.id,this._pointerData[a.id].isDragged=!0,this.sprite.fixedToCamera)this.dragFromCenter?(this.sprite.centerOn(a.x,a.y),this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y)):this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y);else{if(this.dragFromCenter){var d=this.sprite.getBounds();this.sprite.x=this.globalToLocalX(a.x)+(this.sprite.x-d.centerX),this.sprite.y=this.globalToLocalY(a.y)+(this.sprite.y-d.centerY)}this._dragPoint.setTo(this.sprite.x-this.globalToLocalX(a.x),this.sprite.y-this.globalToLocalY(a.y))}this.updateDrag(a,!0),this.bringToTop&&(this._dragPhase=!0,this.sprite.bringToTop()),this.dragStartPoint.set(b,c),this.sprite.events.onDragStart$dispatch(this.sprite,a,b,c)},globalToLocalX:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.x,a*=this.game.scale.grid.scaleFluidInversed.x),a},globalToLocalY:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.y,a*=this.game.scale.grid.scaleFluidInversed.y),a},stopDrag:function(a){this.isDragged=!1,this._draggedPointerID=-1,this._pointerData[a.id].isDragged=!1,this._dragPhase=!1,this.snapOnRelease&&(this.sprite.fixedToCamera?(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.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.sprite.events.onDragStop$dispatch(this.sprite,a),this.checkPointerOver(a)===!1&&this._pointerOutHandler(a)},setDragLock:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!0),this.allowHorizontalDrag=a,this.allowVerticalDrag=b},enableSnap:function(a,b,c,d,e,f){void 0===c&&(c=!0),void 0===d&&(d=!1),void 0===e&&(e=0),void 0===f&&(f=0),this.snapX=a,this.snapY=b,this.snapOffsetX=e,this.snapOffsetY=f,this.snapOnDrag=c,this.snapOnRelease=d},disableSnap:function(){this.snapOnDrag=!1,this.snapOnRelease=!1},checkBoundsRect:function(){this.sprite.fixedToCamera?(this.sprite.cameraOffset.xthis.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||-1!=navigator.userAgent.indexOf("Firefox/")||!!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(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||0>d&&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)&&(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull&&(this.game.world.camera.view.intersects(this._bounds)?(this.renderable=!0,this.game.world.camera.totalInView++):this.renderable=!1),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,_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):!0},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),e.hasFrameData(a.key,c.Cache.BITMAPDATA)&&(f=!this.animations.loadFrameData(e.getFrameData(a.key,c.Cache.BITMAPDATA),b));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(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?!0:(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)},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,PIXI.TextureCache.__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():!1},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,PIXI.TextureCache.__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","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():!1},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):!1},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){(void 0===d||0===d)&&(d=256),(void 0===e||0===e)&&(e=256),this.game=a,this.key=b,this.width=d,this.height=e,this.canvas=PIXI.CanvasPool.create(this,d,e),this.context=this.canvas.getContext("2d",{alpha:!0}),this.ctx=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.textureFrame=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),0>a){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),0>a){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;bm;m++)for(var n=d;h>n;n++)c.Color.unpackPixel(this.getPixel32(n,m),j),k=a.call(b,j,n,m),k!==!1&&null!==k&&void 0!==k&&(this.setPixel32(n,m,k.r,k.g,k.b,k.a,!1),l=!0);return l&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},processPixel:function(a,b,c,d,e,f){void 0===c&&(c=0),void 0===d&&(d=0),void 0===e&&(e=this.width),void 0===f&&(f=this.height);for(var g=c+e,h=d+f,i=0,j=0,k=!1,l=d;h>l;l++)for(var m=c;g>m;m++)i=this.getPixel32(m,l),j=a.call(b,i,m,l),j!==i&&(this.pixels[l*this.width+m]=j,k=!0);return k&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},replaceRGB:function(a,b,d,e,f,g,h,i,j){var k=0,l=0,m=this.width,n=this.height,o=c.Color.packPixel(a,b,d,e);void 0!==j&&j instanceof c.Rectangle&&(k=j.x,l=j.y,m=j.width,n=j.height);for(var p=0;n>p;p++)for(var q=0;m>q;q++)this.getPixel32(k+q,l+p)===o&&this.setPixel32(k+q,l+p,f,g,h,i,!1);return this.context.putImageData(this.imageData,0,0),this.dirty=!0,this},setHSL:function(a,b,d,e){var f=a||0===a,g=b||0===b,h=d||0===d;if(f||g||h){void 0===e&&(e=new c.Rectangle(0,0,this.width,this.height));for(var i=c.Color.createColor(),j=e.y;j=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){return a>=0&&a<=this.width&&b>=0&&b<=this.height?this.pixels[b*this.width+a]:void 0},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||0>=e)&&(g=!0))):(2===a||3===a)&&(e++,e===this.height&&(e=0,d+=f,(d>=this.width||0>=d)&&(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),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,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);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}},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.type===c.EMITTER||a.type===c.BITMAPTEXT)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.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.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},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;g>=l;++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},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;l>=q;++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},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(1e-8>m||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},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&&d>=e?e+=2*Math.PI:f&&e>=d&&(d+=2*Math.PI);var h=f?-1*(d-e):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;q>=s;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},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;dp?p:x,x=x>r?r:x,x=x>t?t:x,y=y>q?q:y,y=y>s?s:y,y=y>u?u:y,v=p>v?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.containsPoint=function(a){this.worldTransform.applyInverse(a,tempPoint);for(var b=this.graphicsData,c=0;ch?h:a,b=h+j>b?h+j:b,d=d>i?i:d,e=i+k>e?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=a>h-j?h-j:a,b=h+j>b?h+j:b,d=d>i-k?i-k:d,e=i+k>e?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=a>h-j?h-j:a,b=h+j>b?h+j:b,d=d>i-k?i-k:d,e=i+k>e?i+k:e;else{g=f.points;for(var p=0;ph-o?h-o:a,b=h+o>b?h+o:b,d=d>i-o?i-o:d,e=i+o>e?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,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.PolyK={},PIXI.PolyK.Triangulate=function(a){var b=!0,c=a.length>>1;if(3>c)return[];for(var d=[],e=[],f=0;c>f;f++)e.push(f);f=0;for(var g=c;g>3;){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(PIXI.PolyK._convex(k,l,m,n,o,p,b)){q=!0;for(var r=0;g>r;r++){var s=e[r];if(s!==h&&s!==i&&s!==j&&PIXI.PolyK._PointInTriangle(a[2*s],a[2*s+1],k,l,m,n,o,p)){q=!1;break}}}if(q)d.push(h,i,j),e.splice((f+1)%g,1),g--,f=0;else if(f++>3*g){if(!b)return null;for(d=[],e=[],f=0;c>f;f++)e.push(f);f=0,g=c,b=!1}}return d.push(e[0],e[1],e[2]),d},PIXI.PolyK._PointInTriangle=function(a,b,c,d,e,f,g,h){var i=g-c,j=h-d,k=e-c,l=f-d,m=a-c,n=b-d,o=i*i+j*j,p=i*k+j*l,q=i*m+j*n,r=k*k+l*l,s=k*m+l*n,t=1/(o*r-p*p),u=(r*q-p*s)*t,v=(o*s-p*q)*t;return u>=0&&v>=0&&1>u+v},PIXI.PolyK._convex=function(a,b,c,d,e,f,g){return(b-d)*(e-c)+(c-a)*(f-d)>=0===g},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;e>o;o+=c)l=a[o],m=a[o+1],h>l&&(h=l),i>m&&(i=m),l>j&&(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;c>f;f+=d)i+=(a[g]-a[f])*(a[f+1]+a[g+1]),g=f;if(e===i>0)for(f=b;c>f;f+=d)h=PIXI.EarCut.insertNode(f,a[f],a[f+1],h);else for(f=c-d;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;f>e;e++)g=b[e]*d,h=f-1>e?b[e+1]*d:a.length,i=PIXI.EarCut.linkedList(a,g,h,d,!1),i===i.next&&(i.steiner=!0),j.push(PIXI.EarCut.getLeftmost(i));for(j.sort(compareX),e=0;e=d.next.y){var h=d.x+(f-d.y)*(d.next.x-d.x)/(d.next.y-d.y);e>=h&&h>g&&(g=h,c=d.x=d.x&&d.x>=c.x&&PIXI.EarCut.pointInTriangle(fi||i===k&&d.x>c.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;j>b&&(h++,d=d.nextZ,d);b++);for(i=j;h>0||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;d=q;q++)p=q/n,h=g(a,c,p),i=g(b,d,p),j=g(c,e,p),k=g(d,f,p),l=g(h,j,p),m=g(i,k,p),o.push(l,m);return o},PIXI.WebGLGraphics.buildCircle=function(a,b){var c,d,e=a.shape,f=e.x,g=e.y;a.type===PIXI.Graphics.CIRC?(c=e.radius,d=e.radius):(c=e.width,d=e.height);var h=40,i=2*Math.PI/h,j=0;if(a.fill){var k=PIXI.hex2rgb(a.fillColor),l=a.fillAlpha,m=k[0]*l,n=k[1]*l,o=k[2]*l,p=b.points,q=b.indices,r=p.length/6;for(q.push(r),j=0;h+1>j;j++)p.push(f,g,m,n,o,l),p.push(f+Math.sin(i*j)*c,g+Math.cos(i*j)*d,m,n,o,l),q.push(r++,r++);q.push(r-1)}if(a.lineWidth){var s=a.points;for(a.points=[],j=0;h+1>j;j++)a.points.push(f+Math.sin(i*j)*c,g+Math.cos(i*j)*d);PIXI.WebGLGraphics.buildLine(a,b),a.points=s}},PIXI.WebGLGraphics.buildLine=function(a,b){var c=0,d=a.points;if(0!==d.length){if(a.lineWidth%2)for(c=0;cc;c++)k=d[2*(c-1)],l=d[2*(c-1)+1],m=d[2*c],n=d[2*c+1],o=d[2*(c+1)],p=d[2*(c+1)+1],q=-(l-n),r=k-m,E=Math.sqrt(q*q+r*r),q/=E,r/=E,q*=K,r*=K,s=-(n-p),t=m-o,E=Math.sqrt(s*s+t*t),s/=E,t/=E,s*=K,t*=K,w=-r+l-(-r+n),x=-q+m-(-q+k),y=(-q+k)*(-r+n)-(-q+m)*(-r+l),z=-t+p-(-t+n),A=-s+m-(-s+o),B=(-s+o)*(-t+n)-(-s+m)*(-t+p),C=w*A-z*x,Math.abs(C)<.1?(C+=10.1,F.push(m-q,n-r,N,O,P,M),F.push(m+q,n+r,N,O,P,M)):(i=(x*B-A*y)/C,j=(z*y-w*B)/C,D=(i-m)*(i-m)+(j-n)+(j-n),D>19600?(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;I>c;c++)G.push(J++);G.push(J-1)}},PIXI.WebGLGraphics.buildComplexPoly=function(a,b){var c=a.points.slice();if(!(c.length<6)){var d=b.indices;b.points=c,b.alpha=a.fillAlpha,b.color=PIXI.hex2rgb(a.fillColor);for(var e,f,g=1/0,h=-(1/0),i=1/0,j=-(1/0),k=0;ke?e:g,h=e>h?e:h,i=i>f?f:i,j=f>j?f:j;c.push(g,i,h,i,h,j,g,j);var l=c.length/2;for(k=0;l>k;k++)d.push(k)}},PIXI.WebGLGraphics.buildPoly=function(a,b){var c=a.points;if(!(c.length<6)){var d=b.points,e=b.indices,f=c.length/2,g=PIXI.hex2rgb(a.fillColor),h=a.fillAlpha,i=g[0]*h,j=g[1]*h,k=g[2]*h,l=PIXI.EarCut.Triangulate(c,null,2);if(!l)return!1;var m=d.length/6,n=0;for(n=0;nn;n++)d.push(c[2*n],c[2*n+1],i,j,k,h);return!0}},PIXI.WebGLGraphics.graphicsDataPool=[],PIXI.WebGLGraphicsData=function(a){this.gl=a,this.color=[0,0,0],this.points=[],this.indices=[],this.buffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),this.mode=1,this.alpha=1,this.dirty=!0},PIXI.WebGLGraphicsData.prototype.reset=function(){this.points=[],this.indices=[]},PIXI.WebGLGraphicsData.prototype.upload=function(){var a=this.gl;this.glPoints=new PIXI.Float32Array(this.points),a.bindBuffer(a.ARRAY_BUFFER,this.buffer),a.bufferData(a.ARRAY_BUFFER,this.glPoints,a.STATIC_DRAW),this.glIndicies=new PIXI.Uint16Array(this.indices),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.glIndicies,a.STATIC_DRAW),this.dirty=!1},PIXI.CanvasGraphics=function(){},PIXI.CanvasGraphics.renderGraphics=function(a,b){var c=a.worldAlpha;a.dirty&&(this.updateGraphicsTint(a),a.dirty=!1);for(var d=0;dA?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;c>d;d++){var e=a.graphicsData[d],f=e.shape;if(e.type===PIXI.Graphics.POLY){var g=f.points;b.moveTo(g[0],g[1]);for(var h=1;hy?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,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():!1},c.Graphics.prototype.destroy=function(a){this.clear(),c.Component.Destroy.prototype.destroy.call(this,a)},c.Graphics.prototype.drawTriangle=function(a,b){void 0===b&&(b=!1);var d=new c.Polygon(a);if(b){var e=new c.Point(this.game.camera.x-a[0].x,this.game.camera.y-a[0].y),f=new c.Point(a[1].x-a[0].x,a[1].y-a[0].y),g=new c.Point(a[1].x-a[2].x,a[1].y-a[2].y),h=g.cross(f);e.dot(h)>0&&this.drawPolygon(d)}else this.drawPolygon(d)},c.Graphics.prototype.drawTriangles=function(a,b,d){void 0===d&&(d=!1);var e,f=new c.Point,g=new c.Point,h=new c.Point,i=[];if(b)if(a[0]instanceof c.Point)for(e=0;e0&&(j+=c[k-1]),h=j+l}else for(var k=0;kp&&Math.abs(p)>n&&(p=-n),0!==p&&(o+=p*b.length),this.canvas.height=o*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 q,r;for(this._charCount=0,g=0;g0&&(r+=p*g),"right"===this.style.align?q+=e-d[g]:"center"===this.style.align&&(q+=(e-d[g])/2),this.autoRound&&(q=Math.round(q),r=Math.round(r)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(b[g],q,r):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===c?this.context.strokeText(b[g],q,r):this.renderTabLine(b[g],q,r,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===c?this.context.fillText(b[g],q,r):this.renderTabLine(b[g],q,r,!0)));this.updateTexture()},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 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;f>g;g++){var h=e[g],i="";h=h.replace(/^ *|\s*$/gi,"");var j=b.measureText(h).width;if(c>j)d+=h+"\n";else{for(var k=c,l=h.split(" "),m=0;mk){if(0===m){for(var q=o;q.length&&(q=q.slice(0,-1),p=b.measureText(q).width,!(k>=p)););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:"center"===this.style.boundsAlignH&&(f+=this.textBounds.halfWidth-this.canvas.width/2),"bottom"===this.style.boundsAlignV?g+=this.textBounds.height-this.canvas.height:"middle"===this.style.boundsAlignV&&(g+=this.textBounds.halfHeight-this.canvas.height/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;g>i;i++){for(j=0;m>j;j+=4)if(255!==k[n+j]){o=!0;break}if(o)break;n+=m}for(b.ascent=g-i,n=l-m,o=!1,i=h;i>g;i--){for(j=0;m>j;j+=4)if(255!==k[n+j]){o=!0;break}if(o)break;n-=m}b.descent=i-g,b.descent+=6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b}return b},c.Text.prototype.getBounds=function(a){return this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype.getBounds.call(this,a)},Object.defineProperty(c.Text.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(c.Text.prototype,"cssFont",{get:function(){return this.componentsToFont(this._fontComponents)},set:function(a){a=a||"bold 20pt Arial",this._fontComponents=this.fontToComponents(a),this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"font",{get:function(){return this._fontComponents.fontFamily},set:function(a){a=a||"Arial",a=a.trim(),/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(a)||/['",]/.exec(a)||(a="'"+a+"'"),this._fontComponents.fontFamily=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontSize",{get:function(){var a=this._fontComponents.fontSize;return a&&/(?:^0$|px$)/.exec(a)?parseInt(a,10):a},set:function(a){a=a||"0","number"==typeof a&&(a+="px"),this._fontComponents.fontSize=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontWeight",{get:function(){return this._fontComponents.fontWeight||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontWeight=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontStyle",{get:function(){return this._fontComponents.fontStyle||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontStyle=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontVariant",{get:function(){return this._fontComponents.fontVariant||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontVariant=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fill",{get:function(){return this.style.fill},set:function(a){a!==this.style.fill&&(this.style.fill=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"align",{get:function(){return this.style.align},set:function(a){a!==this.style.align&&(this.style.align=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"resolution",{get:function(){return this._res},set:function(a){a!==this._res&&(this._res=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"tabs",{get:function(){return this.style.tabs},set:function(a){a!==this.style.tabs&&(this.style.tabs=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"boundsAlignH",{get:function(){return this.style.boundsAlignH},set:function(a){a!==this.style.boundsAlignH&&(this.style.boundsAlignH=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"boundsAlignV",{get:function(){return this.style.boundsAlignV},set:function(a){a!==this.style.boundsAlignV&&(this.style.boundsAlignV=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"stroke",{get:function(){return this.style.stroke},set:function(a){a!==this.style.stroke&&(this.style.stroke=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"strokeThickness",{get:function(){return this.style.strokeThickness},set:function(a){a!==this.style.strokeThickness&&(this.style.strokeThickness=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"wordWrap",{get:function(){return this.style.wordWrap},set:function(a){a!==this.style.wordWrap&&(this.style.wordWrap=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"wordWrapWidth",{get:function(){return this.style.wordWrapWidth},set:function(a){a!==this.style.wordWrapWidth&&(this.style.wordWrapWidth=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"lineSpacing",{get:function(){return this._lineSpacing},set:function(a){a!==this._lineSpacing&&(this._lineSpacing=parseFloat(a),this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(c.Text.prototype,"shadowOffsetX",{get:function(){return this.style.shadowOffsetX},set:function(a){a!==this.style.shadowOffsetX&&(this.style.shadowOffsetX=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowOffsetY",{get:function(){return this.style.shadowOffsetY},set:function(a){a!==this.style.shadowOffsetY&&(this.style.shadowOffsetY=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowColor",{get:function(){return this.style.shadowColor},set:function(a){a!==this.style.shadowColor&&(this.style.shadowColor=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowBlur",{get:function(){return this.style.shadowBlur},set:function(a){a!==this.style.shadowBlur&&(this.style.shadowBlur=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowStroke",{get:function(){return this.style.shadowStroke},set:function(a){a!==this.style.shadowStroke&&(this.style.shadowStroke=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowFill",{get:function(){return this.style.shadowFill},set:function(a){a!==this.style.shadowFill&&(this.style.shadowFill=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"width",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.x*this.texture.frame.width},set:function(a){this.scale.x=a/this.texture.frame.width,this._width=a}}),Object.defineProperty(c.Text.prototype,"height",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.y*this.texture.frame.height},set:function(a){this.scale.y=a/this.texture.frame.height,this._height=a}}),c.Text.fontPropertiesCache={},c.Text.fontPropertiesCanvas=PIXI.CanvasPool.create(c.Text.fontPropertiesCanvas),c.Text.fontPropertiesContext=c.Text.fontPropertiesCanvas.getContext("2d"),c.BitmapText=function(a,b,d,e,f,g,h){b=b||0,d=d||0,e=e||"",f=f||"",g=g||32,h=h||"left",PIXI.DisplayObjectContainer.call(this),this.type=c.BITMAPTEXT,this.physicsType=c.SPRITE, +this.textWidth=0,this.textHeight=0,this.anchor=new c.Point,this._prevAnchor=new c.Point,this._glyphs=[],this._maxWidth=0,this._text=f,this._data=a.cache.getBitmapFont(e),this._font=e,this._fontSize=g,this._align=h,this._tint=16777215,this.updateText(),this.dirty=!1,c.Component.Core.init.call(this,a,b,d,"",null)},c.BitmapText.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),c.BitmapText.prototype.constructor=c.BitmapText,c.Component.Core.install.call(c.BitmapText.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),c.BitmapText.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.BitmapText.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.BitmapText.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.BitmapText.prototype.preUpdateCore=c.Component.Core.preUpdate,c.BitmapText.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.BitmapText.prototype.postUpdate=function(){c.Component.PhysicsBody.postUpdate.call(this),c.Component.FixedToCamera.postUpdate.call(this),this.body&&this.body.type===c.Physics.ARCADE&&(this.textWidth!==this.body.sourceWidth||this.textHeight!==this.body.sourceHeight)&&this.body.setSize(this.textWidth,this.textHeight)},c.BitmapText.prototype.setText=function(a){this.text=a},c.BitmapText.prototype.scanLine=function(a,b,c){for(var d=0,e=0,f=-1,g=null,h=this._maxWidth>0?this._maxWidth:null,i=[],j=0;j=h&&f>-1)return{width:e,text:c.substr(0,j-(j-f)),end:k,chars:i};e+=(m.xAdvance+o)*b,i.push(d+(m.xOffset+o)*b),d+=(m.xAdvance+o)*b,g=l}return{width:e,text:c,end:k,chars:i}},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;ea&&(a=0),this.pasteLine(d[e],a,b,this.customSpacingX),b+=this.characterHeight+this.customSpacingY}else this.fixedWidth>0?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),0>a&&(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,PIXI.TextureCache.__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():!1},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(e){}}function h(){l.pixelRatio=window.devicePixelRatio||1,l.iPhone=-1!=navigator.userAgent.toLowerCase().indexOf("iphone"),l.iPhone4=2==l.pixelRatio&&l.iPhone,l.iPad=-1!=navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?l.typedArray=!0:l.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(l.littleEndian=i(),l.LITTLE_ENDIAN=l.littleEndian),l.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==l.littleEndian&&j(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(l.vibration=!0)}function i(){var a=new ArrayBuffer(4),b=new Uint8Array(a),c=new Uint32Array(a);return b[0]=161,b[1]=178,b[2]=195,b[3]=212,3569595041==c[0]?!0:2712847316==c[0]?!1:null}function j(){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 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(),h(),b(),d(),c()},c.Device.canPlayAudio=function(a){return"mp3"===a&&this.mp3?!0:"ogg"===a&&(this.ogg||this.opus)?!0:"m4a"===a&&this.m4a?!0:"opus"===a&&this.opus?!0:"wav"===a&&this.wav?!0:"webm"===a&&this.webm?!0:"mp4"===a&&this.dolby?!0:!1},c.Device.canPlayVideo=function(a){return"webm"===a&&(this.webmVideo||this.vp9Video)?!0:"mp4"===a&&(this.mp4Video||this.h264Video)?!0:"ogg"!==a&&"ogv"!==a||!this.oggVideo?"mpeg"===a&&this.hlsVideo?!0:!1:!0},c.Device.isConsoleOpen=function(){return window.console&&window.console.firebug?!0:window.console&&(console.profile(),console.profileEnd(),console.clear&&console.clear(),console.profiles)?console.profiles.length>0:!1},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){if(b=b||256,c=c||256,void 0===e)var f=PIXI.CanvasPool.create(a,b,c);else var f=document.createElement("canvas");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);return b?a[b]:void 0},setImageRenderingCrisp:function(a){for(var b=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],c=0;ca},fuzzyGreaterThan:function(a,b,c){return void 0===c&&(c=1e-4),a>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;b>c;c++)a+=+arguments[c];return a/b},shear:function(a){return a%1},snapTo:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.round(a/b),c+a)},snapToFloor:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.floor(a/b),c+a)},snapToCeil:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.ceil(a/b),c+a)},roundTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.round(a*d)/d},floorTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.floor(a*d)/d},ceilTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.ceil(a*d)/d},angleBetween:function(a,b,c,d){return Math.atan2(d-b,c-a)},angleBetweenY:function(a,b,c,d){return Math.atan2(c-a,d-b)},angleBetweenPoints:function(a,b){return Math.atan2(b.y-a.y,b.x-a.x)},angleBetweenPointsY:function(a,b){return Math.atan2(b.x-a.x,b.y-a.y)},reverseAngle:function(a){return this.normalizeAngle(a+Math.PI,!0)},normalizeAngle:function(a){return a%=2*Math.PI,a>=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(0>=d)return 0;var e=(a-b)%d;return 0>e&&(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;d>b;b++)a[b]b;b++)a[b]>a[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;e>c;c++)b[c][a]c;c++)b[c][a]>b[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 0>b?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;d>=e;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]?(0>b&&(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)):0>b?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[e+1>c?c:e+1],a[e+2>c?c:e+2],d-e)},linear:function(a,b,c){return(b-a)*c+a},bernstein:function(a,b){return this.factorial(a)/this.factorial(b)/this.factorial(a-b)},factorial:function(a){if(0===a)return 1;for(var b=a;--a;)b*=a;return b},catmullRom:function(a,b,c,d,e){var f=.5*(c-a),g=.5*(d-b),h=e*e,i=e*h;return(2*b-2*c+f+g)*i+(-3*b+3*c-2*f-g)*h+f*e+b},difference:function(a,b){return Math.abs(a-b)},roundAwayFromZero:function(a){return a>0?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;a>j;j++)f-=e*g,e+=f*g,h[j]=f,i[j]=e;return{sin:i,cos:h,length:a}},distance:function(a,b,c,d){var e=a-c,f=b-d;return Math.sqrt(e*e+f*f)},distanceSq:function(a,b,c,d){var e=a-c,f=b-d;return e*e+f*f},distancePow:function(a,b,c,d,e){return void 0===e&&(e=2),Math.sqrt(Math.pow(c-a,e)+Math.pow(d-b,e))},clamp:function(a,b,c){return b>a?b:a>c?c:a},clampBottom:function(a,b){return b>a?b:a},within:function(a,b,c){return Math.abs(a-b)<=c},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},smoothstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*(3-2*a)},smootherstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*a*(a*(6*a-15)+10)},sign:function(a){return 0>a?-1:a>0?1:0; +},percent:function(a,b,c){return void 0===c&&(c=0),a>b||c>b?1:c>a||c>a?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),-1!==b))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]&&(-1!==d?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-1!==window.location.hostname.indexOf(a)},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=-1!==d.indexOf("?")?"&":"?",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;ad;d++)this.removeFrom(a[d]);else if(a.type===c.GROUP&&b)for(var d=0,e=a.children.length;e>d;d++)this.removeFrom(a.children[d]);else{for(d=0,e=this._tweens.length;e>d;d++)a===this._tweens[d].target&&this.remove(this._tweens[d]);for(d=0,e=this._add.length;e>d;d++)a===this._add[d].target&&this.remove(this._add[d])}},add:function(a){a._manager=this,this._add.push(a)},create:function(a){return new c.Tween(a,this.game,this)},remove:function(a){var b=this._tweens.indexOf(a);-1!==b?this._tweens[b].pendingDelete=!0:(b=this._add.indexOf(a),-1!==b&&(this._add[b].pendingDelete=!0))},update:function(){var a=this._add.length,b=this._tweens.length;if(0===b&&0===a)return!1;for(var c=0;b>c;)this._tweens[c].update(this.game.time.time)?c++:(this._tweens.splice(c,1),b--);return a>0&&(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||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.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;ba||a>this.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),-1===c)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),a?this.repeatAll(-1):this.repeatCounter=0,this},onUpdateCallback:function(a,b){return this._onUpdateCallback=a,this._onUpdateCallbackContext=b,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var a=0;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},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||1>c?(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||1>c?(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||1>c?(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 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},InOut:function(a){return.5>a?.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;aa;)this._timers[a].update(this.time)?a++:(this._timers.splice(a,1),b--)},updateAdvancedTiming:function(){this._frameCount++,this._elapsedAccumulator+=this.elapsed,this._frameCount>=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?!1:!0},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;bc&&(c=0),this.events[b].tick=this._now+c}var d=this.nextTick-a;0>d?this.nextTick=this._now:this.nextTick=this._now+d},resume:function(){if(this.paused){var a=this.game.time.time;this._pauseTotal+=a-this._now,this._now=a,this.adjustEvents(this._pauseStarted),this.paused=!1,this._codePaused=!1}},_resume:function(){this._codePaused||this.resume()},removeAll:function(){this.onComplete.removeAll(),this.events.length=0,this._len=0,this._i=0},destroy:function(){this.onComplete.removeAll(),this.running=!1,this.events=[],this._len=0,this._i=0}},Object.defineProperty(c.Timer.prototype,"next",{get:function(){return this.nextTick}}),Object.defineProperty(c.Timer.prototype,"duration",{get:function(){return this.running&&this.nextTick>this._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]?!0:!1),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){return this._anims[a]?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)):void 0},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?!1:this.currentAnim&&this.currentAnim.update()?(this.currentFrame=this.currentAnim.currentFrame,!0):!1},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(){this.sprite.setTexture(PIXI.TextureCache[this.currentFrame.uuid])},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(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(c.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(){return this.currentFrame?this.currentFrame.name:void 0},set:function(a){"string"==typeof a&&this._frameData&&null!==this._frameData.getFrameByName(a)?(this.currentFrame=this._frameData.getFrameByName(a),this.currentFrame&&(this._frameIndex=this.currentFrame.index,this.sprite.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.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=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)},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._frameIndex+=this._frameSkip,this._frameIndex>=this._frames.length?this.loop?(this._frameIndex%=this._frames.length,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):!0):(this.complete(),!1):this.updateCurrentFrame(!0)):!1},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):!0},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;0>b&&(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,"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 Math.round(1e3/this.delay)},set:function(a){a>=1&&(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(d>b)for(var i=b;d>=i;i++)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);else for(var i=b;i>=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]?!1:!0},clone:function(){for(var a=new c.FrameData,b=0;b=d;d++)c.push(this._frames[d]);return c},getFrames:function(a,b,c){if(void 0===b&&(b=!0),void 0===c&&(c=[]),void 0===a||0===a.length)for(var d=0;d=d&&(d=Math.floor(-j/Math.min(-1,d))),0>=e&&(e=Math.floor(-k/Math.min(-1,e)));var l=Math.floor((j-g)/(d+h)),m=Math.floor((k-g)/(e+h)),n=l*m;if(-1!==f&&(n=f),0===j||0===k||d>j||e>k||0===n)return console.warn("Phaser.AnimationParser.spriteSheet: '"+b+"'s width/height zero or width/height < given frameWidth/frameHeight"),null;for(var o=new c.FrameData,p=g,q=g,r=0;n>r;r++)o.addFrame(new c.Frame(r,p,q,d,e,"")),p+=d+h,p+d>j&&(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]}:!1},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-1===i&&(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(d){}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=new Blob([new Uint8Array(b.response)])}catch(f){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(d){b=null}return b&&b.documentElement&&!b.getElementsByTagName("parsererror").length?b:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(c.Loader.prototype,"progressFloat",{get:function(){var a=this._loadedFileCount/this._totalFileCount*100;return c.Math.clamp(a||0,0,100)}}),Object.defineProperty(c.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),c.Loader.prototype.constructor=c.Loader,c.LoaderParser={bitmapFont:function(a,b,c,d){return this.xmlBitmapFont(a,b,c,d)},xmlBitmapFont:function(a,b,c,d){var e={},f=a.getElementsByTagName("info")[0],g=a.getElementsByTagName("common")[0];e.font=f.getAttribute("face"),e.size=parseInt(f.getAttribute("size"),10),e.lineHeight=parseInt(g.getAttribute("lineHeight"),10)+d,e.chars={};for(var h=a.getElementsByTagName("char"),i=0;i=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time):(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.play(this.currentMarker,0,this.volume,!0,!0)):this.stop())))):void this.destroy()},loopFull:function(a){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(f){}this.externalNode?this._sound.disconnect(this.externalNode):this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(""===a&&Object.keys(this.markers).length>0)return this;if(""!==a){if(this.currentMarker=a,!this.markers[a])return this;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=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._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.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var a=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.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._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var b=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,b)}},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()},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._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;aa?a=0:a>1&&(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._updateThrottle=b||0>=c)return a;var e=b,f=a.height*b/a.width,g=a.width*c/a.height,h=c,i=g>b;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._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=this.game.make.bitmapData(this.game.width,this.game.height),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.canvas=PIXI.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d"))},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;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 b>a?b:a}}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:function(){var a=document.documentElement.clientHeight,b=window.innerHeight;return b>a?b:a}});Object.defineProperty(c.DOM.documentBounds,"x",{value:0}),Object.defineProperty(c.DOM.documentBounds,"y",{value:0}),Object.defineProperty(c.DOM.documentBounds,"width",{get:function(){var a=document.documentElement;return Math.max(a.clientWidth,a.offsetWidth,a.scrollWidth)}}),Object.defineProperty(c.DOM.documentBounds,"height",{get:function(){var a=document.documentElement;return Math.max(a.clientHeight,a.offsetHeight,a.scrollHeight)}})},null,!0),c.ArraySet=function(a){this.position=0,this.list=a||[]},c.ArraySet.prototype={add:function(a){return this.exists(a)||this.list.push(a),a},getIndex:function(a){return this.list.indexOf(a)},getByKey:function(a,b){for(var c=this.list.length;c--;)if(this.list[c][a]===b)return this.list[c];return null},exists:function(a){return this.list.indexOf(a)>-1},reset:function(){this.list.length=0},remove:function(a){var b=this.list.indexOf(a);return b>-1?(this.list.splice(b,1),a):void 0},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;c>e;e++){d[e]=new Array(b);for(var f=b-1;f>-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||-270===b||"rotateLeft"===b)a=c.ArrayUtils.transposeMatrix(a),a=a.reverse();else if(-90===b||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=e-a?e:d},rotate:function(a){var b=a.shift();return a.push(b),b},numberArray:function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},numberArrayStep:function(a,b,d){(void 0===a||null===a)&&(a=0),(void 0===b||null===b)&&(b=a,a=0),void 0===d&&(d=1);for(var e=[],f=Math.max(c.Math.roundAwayFromZero((b-a)/(d||1)),0),g=0;f>g;g++)e.push(a),a+=d;return e}},c.LinkedList=function(){this.next=null,this.prev=null,this.first=null,this.last=null,this.total=0},c.LinkedList.prototype={add:function(a){return 0===this.total&&null===this.first&&null===this.last?(this.first=a,this.last=a,this.next=a,a.prev=this,this.total++,a):(this.last.next=a,a.prev=this.last,this.last=a,this.total++,a)},reset:function(){this.first=null,this.last=null,this.next=null,this.prev=null,this.total=0},remove:function(a){return 1===this.total?(this.reset(),void(a.next=a.prev=null)):(a===this.first?this.first=this.first.next:a===this.last&&(this.last=this.last.prev),a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),a.next=a.prev=null,null===this.first&&(this.last=null),void this.total--)},callAll:function(a){if(this.first&&this.last){var b=this.first;do b&&b[a]&&b[a].call(b),b=b.next;while(b!=this.last.next)}}},c.LinkedList.prototype.constructor=c.LinkedList,c.Create=function(a){this.game=a,this.bmd=null,this.canvas=null,this.ctx=null,this.palettes=[{0:"#000",1:"#9D9D9D",2:"#FFF",3:"#BE2633",4:"#E06F8B",5:"#493C2B",6:"#A46422",7:"#EB8931",8:"#F7E26B",9:"#2F484E",A:"#44891A",B:"#A3CE27",C:"#1B2632",D:"#005784",E:"#31A2F2",F:"#B2DCEF"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#f5f4eb"},{0:"#000",1:"#2234d1",2:"#0c7e45",3:"#44aacc",4:"#8a3622",5:"#5c2e78",6:"#aa5c3d",7:"#b5b5b5",8:"#5e606e",9:"#4c81fb",A:"#6cd947",B:"#7be2f9",C:"#eb8a60",D:"#e23d69",E:"#ffd93f",F:"#fff"},{0:"#000",1:"#fff",2:"#8b4131",3:"#7bbdc5",4:"#8b41ac",5:"#6aac41",6:"#3931a4",7:"#d5de73",8:"#945a20",9:"#5a4100",A:"#bd736a",B:"#525252",C:"#838383",D:"#acee8b",E:"#7b73de",F:"#acacac"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#fff"}]},c.Create.PALETTE_ARNE=0,c.Create.PALETTE_JMP=1,c.Create.PALETTE_CGA=2,c.Create.PALETTE_C64=3,c.Create.PALETTE_JAPANESE_MACHINE=4,c.Create.prototype={texture:function(a,b,c,d,e){void 0===c&&(c=8),void 0===d&&(d=c),void 0===e&&(e=0);var f=b[0].length*c,g=b.length*d;null===this.bmd&&(this.bmd=this.game.make.bitmapData(),this.canvas=this.bmd.canvas,this.ctx=this.bmd.context),this.bmd.resize(f,g),this.bmd.clear();for(var h=0;hg;g+=e)this.ctx.fillRect(0,g,b,1);for(var h=0;b>h;h+=d)this.ctx.fillRect(h,0,1,c);return this.bmd.generateTexture(a)}},c.Create.prototype.constructor=c.Create,c.FlexGrid=function(a,b,d){this.game=a.game,this.manager=a,this.width=b,this.height=d,this.boundsCustom=new c.Rectangle(0,0,b,d),this.boundsFluid=new c.Rectangle(0,0,b,d),this.boundsFull=new c.Rectangle(0,0,b,d),this.boundsNone=new c.Rectangle(0,0,b,d),this.positionCustom=new c.Point(0,0),this.positionFluid=new c.Point(0,0),this.positionFull=new c.Point(0,0),this.positionNone=new c.Point(0,0),this.scaleCustom=new c.Point(1,1),this.scaleFluid=new c.Point(1,1),this.scaleFluidInversed=new c.Point(1,1),this.scaleFull=new c.Point(1,1),this.scaleNone=new c.Point(1,1),this.customWidth=0,this.customHeight=0,this.customOffsetX=0,this.customOffsetY=0,this.ratioH=b/d,this.ratioV=d/b,this.multiplier=0,this.layers=[]},c.FlexGrid.prototype={setSize:function(a,b){this.width=a,this.height=b,this.ratioH=a/b,this.ratioV=b/a,this.scaleNone=new c.Point(1,1),this.boundsNone.width=this.width,this.boundsNone.height=this.height,this.refresh()},createCustomLayer:function(a,b,d,e){void 0===e&&(e=!0),this.customWidth=a,this.customHeight=b,this.boundsCustom.width=a,this.boundsCustom.height=b;var f=new c.FlexLayer(this,this.positionCustom,this.boundsCustom,this.scaleCustom);return e&&this.game.world.add(f),this.layers.push(f),"undefined"!=typeof d&&null!==typeof d&&f.addMultiple(d),f},createFluidLayer:function(a,b){void 0===b&&(b=!0);var d=new c.FlexLayer(this,this.positionFluid,this.boundsFluid,this.scaleFluid);return b&&this.game.world.add(d),this.layers.push(d),"undefined"!=typeof a&&null!==typeof a&&d.addMultiple(a),d},createFullLayer:function(a){var b=new c.FlexLayer(this,this.positionFull,this.boundsFull,this.scaleFluid);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},createFixedLayer:function(a){var b=new c.FlexLayer(this,this.positionNone,this.boundsNone,this.scaleNone);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},reset:function(){for(var a=this.layers.length;a--;)this.layers[a].persist||(this.layers[a].position=null,this.layers[a].scale=null,this.layers.slice(a,1))},onResize:function(a,b){this.ratioH=a/b,this.ratioV=b/a,this.refresh(a,b)},refresh:function(){this.multiplier=Math.min(this.manager.height/this.height,this.manager.width/this.width),this.boundsFluid.width=Math.round(this.width*this.multiplier),this.boundsFluid.height=Math.round(this.height*this.multiplier),this.scaleFluid.set(this.boundsFluid.width/this.width,this.boundsFluid.height/this.height),this.scaleFluidInversed.set(this.width/this.boundsFluid.width,this.height/this.boundsFluid.height),this.scaleFull.set(this.boundsFull.width/this.width,this.boundsFull.height/this.height),this.boundsFull.width=Math.round(this.manager.width*this.scaleFluidInversed.x),this.boundsFull.height=Math.round(this.manager.height*this.scaleFluidInversed.y),this.boundsFluid.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.boundsNone.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.positionFluid.set(this.boundsFluid.x,this.boundsFluid.y),this.positionNone.set(this.boundsNone.x,this.boundsNone.y)},fitSprite:function(a){this.manager.scaleSprite(a),a.x=this.manager.bounds.centerX,a.y=this.manager.bounds.centerY},debug:function(){this.game.debug.text(this.boundsFluid.width+" x "+this.boundsFluid.height,this.boundsFluid.x+4,this.boundsFluid.y+16),this.game.debug.geom(this.boundsFluid,"rgba(255,0,0,0.9",!1)}},c.FlexGrid.prototype.constructor=c.FlexGrid,c.FlexLayer=function(a,b,d,e){c.Group.call(this,a.game,null,"__flexLayer"+a.game.rnd.uuid(),!1),this.manager=a.manager,this.grid=a,this.persist=!1,this.position=b,this.bounds=d,this.scale=e,this.topLeft=d.topLeft,this.topMiddle=new c.Point(d.halfWidth,0),this.topRight=d.topRight,this.bottomLeft=d.bottomLeft,this.bottomMiddle=new c.Point(d.halfWidth,d.bottom),this.bottomRight=d.bottomRight},c.FlexLayer.prototype=Object.create(c.Group.prototype),c.FlexLayer.prototype.constructor=c.FlexLayer,c.FlexLayer.prototype.resize=function(){},c.FlexLayer.prototype.debug=function(){this.game.debug.text(this.bounds.width+" x "+this.bounds.height,this.bounds.x+4,this.bounds.y+16),this.game.debug.geom(this.bounds,"rgba(0,0,255,0.9",!1),this.game.debug.geom(this.topLeft,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topMiddle,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topRight,"rgba(255,255,255,0.9")},c.Color={packPixel:function(a,b,d,e){return c.Device.LITTLE_ENDIAN?(e<<24|d<<16|b<<8|a)>>>0:(a<<24|b<<16|d<<8|e)>>>0},unpackPixel:function(a,b,d,e){return(void 0===b||null===b)&&(b=c.Color.createColor()),(void 0===d||null===d)&&(d=!1),(void 0===e||null===e)&&(e=!1),c.Device.LITTLE_ENDIAN?(b.a=(4278190080&a)>>>24,b.b=(16711680&a)>>>16,b.g=(65280&a)>>>8,b.r=255&a):(b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a),b.color=a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a/255+")",d&&c.Color.RGBtoHSL(b.r,b.g,b.b,b),e&&c.Color.RGBtoHSV(b.r,b.g,b.b,b),b},fromRGBA:function(a,b){return b||(b=c.Color.createColor()),b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a+")",b},toRGBA:function(a,b,c,d){return a<<24|b<<16|c<<8|d},RGBtoHSL:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,1)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d);if(e.h=0,e.s=0,e.l=(g+f)/2,g!==f){var h=g-f;e.s=e.l>.5?h/(2-g-f):h/(g+f),g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6}return e},HSLtoRGB:function(a,b,d,e){if(e?(e.r=d,e.g=d,e.b=d):e=c.Color.createColor(d,d,d),0!==b){var f=.5>d?d*(1+b):d+b-d*b,g=2*d-f;e.r=c.Color.hueToColor(g,f,a+1/3),e.g=c.Color.hueToColor(g,f,a),e.b=c.Color.hueToColor(g,f,a-1/3)}return e.r=Math.floor(255*e.r|0),e.g=Math.floor(255*e.g|0),e.b=Math.floor(255*e.b|0),c.Color.updateColor(e),e},RGBtoHSV:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,255)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d),h=g-f;return e.h=0,e.s=0===g?0:h/g,e.v=g,g!==f&&(g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6),e},HSVtoRGB:function(a,b,d,e){void 0===e&&(e=c.Color.createColor(0,0,0,1,a,b,0,d));var f,g,h,i=Math.floor(6*a),j=6*a-i,k=d*(1-b),l=d*(1-j*b),m=d*(1-(1-j)*b);switch(i%6){case 0:f=d,g=m,h=k;break;case 1:f=l,g=d,h=k;break;case 2:f=k,g=d,h=m;break;case 3:f=k,g=l,h=d;break;case 4:f=m,g=k,h=d;break;case 5:f=d,g=k,h=l}return e.r=Math.floor(255*f),e.g=Math.floor(255*g),e.b=Math.floor(255*h),c.Color.updateColor(e),e},hueToColor:function(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a},createColor:function(a,b,d,e,f,g,h,i){var j={r:a||0,g:b||0,b:d||0,a:e||1,h:f||0,s:g||0,l:h||0,v:i||0,color:0,color32:0,rgba:""};return c.Color.updateColor(j)},updateColor:function(a){return a.rgba="rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+a.a.toString()+")",a.color=c.Color.getColor(a.r,a.g,a.b),a.color32=c.Color.getColor32(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);return b?c.Color.getColor32(b.a,b.r,b.g,b.b):void 0},hexToColor:function(a,b){a=a.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,b,c,d){return b+b+c+c+d+d});var d=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);if(d){var e=parseInt(d[1],16),f=parseInt(d[2],16),g=parseInt(d[3],16);b?(b.r=e,b.g=f,b.b=g):b=c.Color.createColor(e,f,g)}return b},webToColor:function(a,b){b||(b=c.Color.createColor());var d=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(a);return d&&(b.r=parseInt(d[1],10),b.g=parseInt(d[2],10),b.b=parseInt(d[3],10),b.a=void 0!==d[4]?parseFloat(d[4]):1,c.Color.updateColor(b)),b},valueToColor:function(a,b){if(b||(b=c.Color.createColor()),"string"==typeof a)return 0===a.indexOf("rgb")?c.Color.webToColor(a,b):(b.a=1,c.Color.hexToColor(a,b));if("number"==typeof a){var d=c.Color.getRGB(a);return b.r=d.r,b.g=d.g,b.b=d.b,b.a=d.a/255,b}return b},componentToHex:function(a){var b=a.toString(16);return 1==b.length?"0"+b:b},HSVColorWheel:function(a,b){void 0===a&&(a=1),void 0===b&&(b=1);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSVtoRGB(e/359,a,b));return d},HSLColorWheel:function(a,b){void 0===a&&(a=.5),void 0===b&&(b=.5);for(var d=[],e=0;359>=e;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 128>b?2*a*b/255:255-2*(255-a)*(255-b)/255},blendSoftLight:function(a,b){return 128>b?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 128>b?c.Color.blendLinearBurn(a,2*b):c.Color.blendLinearDodge(a,2*(b-128))},blendVividLight:function(a,b){return 128>b?c.Color.blendColorBurn(a,2*b):c.Color.blendColorDodge(a,2*(b-128))},blendPinLight:function(a,b){return 128>b?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)},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:0>c+e?c+=e:c=0),c>f?c=f:-f>c&&(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):!1},collideSpriteVsGroup:function(a,b,d,e,f,g){if(0!==b.length&&a.body){var h;if(this.skipQuadTree||a.body.skipQuadTree){for(var 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,b.hash[i],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 j=this.quadTree.retrieve(a),i=0;ij.body.right)continue;if(j.body.x>h.body.right)break}else if(this.sortDirection===c.Physics.Arcade.TOP_BOTTOM){if(h.body.bottomj.body.bottom)continue;if(j.body.y>h.body.bottom)break}this.collideSpriteVsSprite(h,j,b,d,e,f)}},collideGroupVsGroup:function(a,b,d,e,f,g){if(0!==a.length&&0!==b.length)for(var h=0;h=b.right?!1:a.position.y>=b.bottom?!1:!0},separateX:function(a,b,c){if(a.immovable&&b.immovable)return!1;var d=0;if(this.intersects(a,b)){var e=a.deltaAbsX()+b.deltaAbsX()+this.OVERLAP_BIAS;if(0===a.deltaX()&&0===b.deltaX()?(a.embedded=!0,b.embedded=!0):a.deltaX()>b.deltaX()?(d=a.right-b.x,d>e||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||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,0!==d){if(c||a.customSeparateX||b.customSeparateX)return!0;var f=a.velocity.x,g=b.velocity.x;if(a.immovable||b.immovable)a.immovable?b.immovable||(b.x+=d,b.velocity.x=f-g*b.bounce.x,a.moves&&(b.y+=(a.y-a.prev.y)*a.friction.y)):(a.x=a.x-d,a.velocity.x=g-f*a.bounce.x,b.moves&&(a.y+=(b.y-b.prev.y)*b.friction.y));else{d*=.5,a.x=a.x-d,b.x+=d;var h=Math.sqrt(g*g*b.mass/a.mass)*(g>0?1:-1),i=Math.sqrt(f*f*a.mass/b.mass)*(f>0?1:-1),j=.5*(h+i);h-=j,i-=j,a.velocity.x=j+h*a.bounce.x,b.velocity.x=j+i*b.bounce.x}return!0}}return!1},separateY:function(a,b,c){if(a.immovable&&b.immovable)return!1;var d=0;if(this.intersects(a,b)){var e=a.deltaAbsY()+b.deltaAbsY()+this.OVERLAP_BIAS;if(0===a.deltaY()&&0===b.deltaY()?(a.embedded=!0,b.embedded=!0):a.deltaY()>b.deltaY()?(d=a.bottom-b.y,d>e||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||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,0!==d){if(c||a.customSeparateY||b.customSeparateY)return!0;var f=a.velocity.y,g=b.velocity.y;if(a.immovable||b.immovable)a.immovable?b.immovable||(b.y+=d,b.velocity.y=f-g*b.bounce.y,a.moves&&(b.x+=(a.x-a.prev.x)*a.friction.x)):(a.y=a.y-d,a.velocity.y=g-f*a.bounce.y,b.moves&&(a.x+=(b.x-b.prev.x)*b.friction.x));else{d*=.5,a.y=a.y-d,b.y+=d;var h=Math.sqrt(g*g*b.mass/a.mass)*(g>0?1:-1),i=Math.sqrt(f*f*a.mass/b.mass)*(f>0?1:-1),j=.5*(h+i);h-=j,i-=j,a.velocity.y=j+h*a.bounce.y,b.velocity.y=j+i*b.bounce.y}return!0}}return!1},getObjectsUnderPointer:function(a,b,c,d){ +return 0!==b.length&&a.exists?this.getObjectsAtLocation(a.x,a.y,b,c,d,a):void 0},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){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)},distanceToXY:function(a,b,c){var d=a.x-b,e=a.y-c;return Math.sqrt(d*d+e*e)},distanceToPointer:function(a,b){b=b||this.game.input.activePointer;var c=a.x-b.worldX,d=a.y-b.worldY;return Math.sqrt(c*c+d*d)},angleBetween:function(a,b){var c=b.x-a.x,d=b.y-a.y;return Math.atan2(d,c)},angleToXY:function(a,b,c){var d=b-a.x,e=c-a.y;return Math.atan2(e,d)},angleToPointer:function(a,b){b=b||this.game.input.activePointer;var c=b.worldX-a.x,d=b.worldY-a.y;return Math.atan2(d,c)},worldAngleToPointer:function(a,b){b=b||this.game.input.activePointer;var c=b.worldX-a.world.x,d=b.worldY-a.world.y;return Math.atan2(d,c)}},c.Physics.Arcade.Body=function(a){this.sprite=a,this.game=a.game,this.type=c.Physics.ARCADE,this.enable=!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.rotation,this.preRotation=a.rotation,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(0,0),this.deltaMax=new c.Point(0,0),this.acceleration=new c.Point,this.drag=new c.Point,this.allowGravity=!0,this.gravity=new c.Point(0,0),this.bounce=new c.Point,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.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._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.width+this.offset.x,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.height+this.offset.y,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.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.collideWorldBounds&&this.checkWorldBounds()),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},postUpdate:function(){this.enable&&this.dirty&&(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)},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof c.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null},checkWorldBounds:function(){var a=this.position,b=this.game.physics.arcade.bounds,c=this.game.physics.arcade.checkCollision;a.xb.right&&c.right&&(a.x=b.right-this.width,this.velocity.x*=-this.bounce.x,this.blocked.right=!0),a.yb.bottom&&c.down&&(a.y=b.bottom-this.height,this.velocity.y*=-this.bounce.y,this.blocked.down=!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)},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.width+this.offset.x,this.position.y=b-this.sprite.anchor.y*this.height+this.offset.y,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)},hitTest:function(a,b){return 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}},Object.defineProperty(c.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),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)",d?(a.fillStyle=c,a.fillRect(b.position.x-b.game.camera.x,b.position.y-b.game.camera.y,b.width,b.height)):(a.strokeStyle=c,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()?g=-1:b.deltaAbsX()g){if((c.faceLeft||c.faceRight)&&(e=this.tileCheckX(b,c),0!==e&&!c.intersects(b.position.x,b.position.y,b.right,b.bottom)))return!0;(c.faceTop||c.faceBottom)&&(f=this.tileCheckY(b,c))}else{if((c.faceTop||c.faceBottom)&&(f=this.tileCheckY(b,c),0!==f&&!c.intersects(b.position.x,b.position.y,b.right,b.bottom)))return!0;(c.faceLeft||c.faceRight)&&(e=this.tileCheckX(b,c))}return 0!==e||0!==f},tileCheckX:function(a,b){var c=0;return a.deltaX()<0&&!a.blocked.left&&b.collideRight&&a.checkCollision.left?b.faceRight&&a.x0&&!a.blocked.right&&b.collideLeft&&a.checkCollision.right&&b.faceLeft&&a.right>b.left&&(c=a.right-b.left,c>this.TILE_BIAS&&(c=0)),0!==c&&(a.customSeparateX?a.overlapX=c:this.processTileSeparationX(a,c)),c},tileCheckY:function(a,b){var c=0;return a.deltaY()<0&&!a.blocked.up&&b.collideDown&&a.checkCollision.up?b.faceBottom&&a.y0&&!a.blocked.down&&b.collideUp&&a.checkCollision.down&&b.faceTop&&a.bottom>b.top&&(c=a.bottom-b.top,c>this.TILE_BIAS&&(c=0)),0!==c&&(a.customSeparateY?a.overlapY=c:this.processTileSeparationY(a,c)),c},processTileSeparationX:function(a,b){0>b?a.blocked.left=!0:b>0&&(a.blocked.right=!0),a.position.x-=b,0===a.bounce.x?a.velocity.x=0:a.velocity.x=-a.velocity.x*a.bounce.x},processTileSeparationY:function(a,b){0>b?a.blocked.up=!0:b>0&&(a.blocked.down=!0),a.position.y-=b,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){var b=this.everythingCollisionGroup.mask;void 0===a&&(b=this.boundsCollisionGroup.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)},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.walls.left&&this.world.removeBody(this.walls.left),this.walls.right&&this.world.removeBody(this.walls.right),this.walls.top&&this.world.removeBody(this.walls.top),this.walls.bottom&&this.world.removeBody(this.walls.bottom),e&&(this.walls.left=new p2.Body({mass:0,position:[this.pxmi(a),this.pxmi(b)],angle:1.5707963267948966}),this.walls.left.addShape(new p2.Plane),i&&(this.walls.left.shapes[0].collisionGroup=this.boundsCollisionGroup.mask),this.world.addBody(this.walls.left)),f&&(this.walls.right=new p2.Body({mass:0,position:[this.pxmi(a+c),this.pxmi(b)],angle:-1.5707963267948966}),this.walls.right.addShape(new p2.Plane),i&&(this.walls.right.shapes[0].collisionGroup=this.boundsCollisionGroup.mask),this.world.addBody(this.walls.right)),g&&(this.walls.top=new p2.Body({mass:0,position:[this.pxmi(a),this.pxmi(b)],angle:-3.141592653589793}),this.walls.top.addShape(new p2.Plane),i&&(this.walls.top.shapes[0].collisionGroup=this.boundsCollisionGroup.mask),this.world.addBody(this.walls.top)),h&&(this.walls.bottom=new p2.Body({mass:0,position:[this.pxmi(a),this.pxmi(b+d)]}),this.walls.bottom.addShape(new p2.Plane),i&&(this.walls.bottom.shapes[0].collisionGroup=this.boundsCollisionGroup.mask),this.world.addBody(this.walls.bottom)),this._boundsLeft=e,this._boundsRight=f,this._boundsTop=g,this._boundsBottom=h,this._boundsOwnGroup=i},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=[]},destroy:function(){this.clear(),this.game=null},addBody:function(a){return a.data.world?!1:(this.world.addBody(a.data),this.onBodyAdded.dispatch(a),!0)},removeBody:function(a){return 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;de;e++){var g=a.collision[b][e],h=this.createBody(g.x,g.y,0,c,{},g.polyline);h&&d.push(h)}return d},clearTilemapLayerBodies:function(a,b){b=a.getLayer(b);for(var c=a.layers[b].bodies.length;c--;)a.layers[b].bodies[c].destroy();a.layers[b].bodies.length=0},convertTilemap:function(a,b,c,d){b=a.getLayer(b),void 0===c&&(c=!0),void 0===d&&(d=!0),this.clearTilemapLayerBodies(a,b);for(var e=0,f=0,g=0,h=0,i=a.layers[b].height;i>h;h++){e=0;for(var j=0,k=a.layers[b].width;k>j;j++){var l=a.layers[b].data[h][j];if(l&&l.index>-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)},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.sprite.y=this.world.mpxi(this.data.position[1]),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;ad;d+=2)c.push([b[d],b[d+1]]);var f=c.length-1;c[f][0]===c[0][0]&&c[f][1]===c[0][1]&&c.pop();for(var g=0;g=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;e=0?o>n:n>o;e=o>=0?++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++;return a.endFill(),b.length>2?(a.moveTo(b[b.length-1][0],-b[b.length-1][1]),a.lineTo(b[0][0],-b[0][1])):void 0},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.len?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||0>=c)&&(c=32),(void 0===d||0>=d)&&(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?!1:d<=this.worldY?!1:a>=this.worldX+this.width?!1:b>=this.worldY+this.height?!1:!0},setCollisionCallback:function(a,b){this.collisionCallback=a,this.collisionCallbackContext=b},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(a,b,c,d){this.collideLeft=a,this.collideRight=b,this.collideUp=c,this.collideDown=d,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:!1},copy:function(a){this.index=a.index,this.alpha=a.alpha,this.properties=a.properties,this.collideUp=a.collideUp,this.collideDown=a.collideDown,this.collideLeft=a.collideLeft,this.collideRight=a.collideRight,this.collisionCallback=a.collisionCallback,this.collisionCallbackContext=a.collisionCallbackContext}},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.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;rl;l++)if(-1!==a.indexOf(this._results[l].index)){j=new g.customClass(this.game,this._results[l].worldX,this._results[l].worldY,d);for(var n in g)j[n]=g[n];f.add(j),k++}if(1===b.length)for(l=0;l1)for(l=0;lthis.layers.length?void console.warn("Tilemap.createLayer: Invalid layer ID given: "+f):e.add(new c.TilemapLayer(this.game,this,f,b,d))},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");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;d>k;k++){h=[];for(var l=0;b>l;l++)h.push(new c.Tile(i,-1,l,k,e,f));j.push(h)}i.data=j,this.layers.push(i),this.currentLayer=this.layers.length-1;var m=i.widthInPixels,n=i.heightInPixels;m>this.game.width&&(m=this.game.width),n>this.game.height&&(n=this.game.height);var j=new c.TilemapLayer(this.game,this,this.layers.length-1,m,n);return j.name=a,g.add(j)},getIndex:function(a,b){for(var c=0;ce;e++)this.layers[d].callbacks[a[e]]={callback:b,callbackContext:c}},setTileLocationCallback:function(a,b,c,d,e,f,g){if(g=this.getLayer(g),this.copy(a,b,c,d,g),!(this._results.length<2))for(var h=1;hb)){for(var f=a;b>=f;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;f>e;e++)-1===a.indexOf(e)&&this.setCollisionByIndex(e,b,c,!1);d&&this.calculateFaces(c)},setCollisionByIndex:function(a,b,c,d){if(void 0===b&&(b=!0),void 0===c&&(c=this.currentLayer),void 0===d&&(d=!0),b)this.collideIndexes.push(a);else{var e=this.collideIndexes.indexOf(a);e>-1&&this.collideIndexes.splice(e,1)}for(var f=0;ff;f++)for(var h=0,i=this.layers[a].width;i>h;h++){var j=this.layers[a].data[f][h];j&&(b=this.getTileAbove(a,h,f),c=this.getTileBelow(a,h,f),d=this.getTileLeft(a,h,f),e=this.getTileRight(a,h,f),j.collides&&(j.faceTop=!0,j.faceBottom=!0,j.faceLeft=!0,j.faceRight=!0),b&&b.collides&&(j.faceTop=!1),c&&c.collides&&(j.faceBottom=!1),d&&d.collides&&(j.faceLeft=!1),e&&e.collides&&(j.faceRight=!1))}},getTileAbove:function(a,b,c){return c>0?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&&ba&&(a=0),0>b&&(b=0),c>this.layers[e].width&&(c=this.layers[e].width),d>this.layers[e].height&&(d=this.layers[e].height),this._results.length=0,this._results.push({x:a,y:b,width:c,height:d,layer:e});for(var f=b;b+d>f;f++)for(var g=a;a+c>g;g++)this._results.push(this.layers[e].data[f][g]);return this._results},paste:function(a,b,c,d){if(void 0===a&&(a=0),void 0===b&&(b=0),d=this.getLayer(d),c&&!(c.length<2)){for(var e=a-c[1].x,f=b-c[1].y,g=1;g1?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=c.Canvas.create(2,2)),this.sharedCopyCanvas},c.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},c.TilemapLayer.prototype.postUpdate=function(){c.Component.FixedToCamera.postUpdate.call(this);var a=this.game.camera;this.scrollX=a.x*this.scrollFactorX/this.scale.x,this.scrollY=a.y*this.scrollFactorY/this.scale.y,this.render()},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 0>a&&(a=0),1===this.scrollFactorX?a: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 0>a&&(a=0),1===this.scrollFactorY?a:this._scrollY+(a-this._scrollY/this.scrollFactorY)},c.TilemapLayer.prototype._unfixY=function(a){return 1===this.scrollFactorY?a:this._scrollY/this.scrollFactorY+(a-this._scrollY)},c.TilemapLayer.prototype.getTileX=function(a){return Math.floor(this._fixX(a)/this._mc.tileWidth)},c.TilemapLayer.prototype.getTileY=function(a){return Math.floor(this._fixY(a)/this._mc.tileHeight)},c.TilemapLayer.prototype.getTileXY=function(a,b,c){return c.x=this.getTileX(a),c.y=this.getTileY(b),c},c.TilemapLayer.prototype.getRayCastTiles=function(a,b,c,d){b||(b=this.rayStepRate),void 0===c&&(c=!1),void 0===d&&(d=!1);var e=this.getTiles(a.x,a.y,a.width,a.height,c,d);if(0===e.length)return[];for(var f=a.coordinatesOnLine(b),g=[],h=0;hl;l++)for(var m=h;h+j>m;m++){var n=this.layer.data[l];n&&n[m]&&(g||n[m].isInteresting(e,f))&&this._results.push(n[m])}return this._results.slice()},c.TilemapLayer.prototype.resolveTileset=function(a){var b=this._mc.tilesets;if(2e3>a)for(;b.lengthb&&(g=-b,i=0),0>c&&(h=-c,j=0);var k=this.renderSettings.copyCanvas;if(k){(k.width=c&&(c=Math.max(0,c),e=Math.min(h-1,e)),f>=d&&(d=Math.max(0,d),f=Math.min(i-1,f)));var n,o,p,q,r,s,t=c*j-a,u=d*k-b,v=(c+(1<<20)*h)%h,w=(d+(1<<20)*i)%i;for(g.fillStyle=this.tileColor,q=w,s=f-d,o=u;s>=0;q++,s--,o+=k){q>=i&&(q-=i);var x=this.layer.data[q];for(p=v,r=e-c,n=t;r>=0;p++,r--,n+=j){p>=h&&(p-=h);var y=x[p];if(y&&!(y.index<0)){var z=y.index,A=l[z];void 0===A&&(A=this.resolveTileset(z)),y.alpha===m||this.debug||(g.globalAlpha=y.alpha,m=y.alpha),A?y.rotation||y.flipped?(g.save(),g.translate(n+y.centerX,o+y.centerY),g.rotate(y.rotation),y.flipped&&g.scale(-1,1),A.draw(g,-y.centerX,-y.centerY,z),g.restore()):A.draw(g,n,o,z):this.debugSettings.missingImageFill&&(g.fillStyle=this.debugSettings.missingImageFill,g.fillRect(n,o,j,k)),y.debug&&this.debugSettings.debuggedTileOverfill&&(g.fillStyle=this.debugSettings.debuggedTileOverfill,g.fillRect(n,o,j,k))}}}},c.TilemapLayer.prototype.renderDeltaScroll=function(a,b){var c=this._mc.scrollX,d=this._mc.scrollY,e=this.canvas.width,f=this.canvas.height,g=this._mc.tileWidth,h=this._mc.tileHeight,i=0,j=-g,k=0,l=-h;if(0>a?(i=e+a,j=e-1):a>0&&(j=a),0>b?(k=f+b,l=f-1):b>0&&(l=b),this.shiftCanvas(this.context,a,b),i=Math.floor((i+c)/g),j=Math.floor((j+c)/g),k=Math.floor((k+d)/h),l=Math.floor((l+d)/h),j>=i){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(l>=k){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.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;kk;k+=4)j[k/4]=(h.charCodeAt(k)|h.charCodeAt(k+1)<<8|h.charCodeAt(k+2)<<16|h.charCodeAt(k+3)<<24)>>>0;g.data=j}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;i>t;t++){if(m=0,n=!1,p=g.data[t],p>536870912)switch(o=0,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}p>0?(r.push(new c.Tile(l,p,q,s.length,a.tilewidth,a.tileheight)),r[r.length-1].rotation=m,r[r.length-1].flipped=n):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 u=[],f=0;fG;G++)if(F.objects[G].gid){var H={gid:F.objects[G].gid,name:F.objects[G].name,type:F.objects[G].hasOwnProperty("type")?F.objects[G].type:"",x:F.objects[G].x,y:F.objects[G].y,visible:F.objects[G].visible,properties:F.objects[G].properties};F.objects[G].rotation&&(H.rotation=F.objects[G].rotation),D[F.name].push(H)}else if(F.objects[G].polyline){var H={name:F.objects[G].name,type:F.objects[G].type,x:F.objects[G].x,y:F.objects[G].y,width:F.objects[G].width,height:F.objects[G].height,visible:F.objects[G].visible,properties:F.objects[G].properties};F.objects[G].rotation&&(H.rotation=F.objects[G].rotation),H.polyline=[];for(var I=0;I=c)&&(c=32),(void 0===d||0>=d)&&(d=32),void 0===e&&(e=0),void 0===f&&(f=0),this.name=a,this.firstgid=0|b,this.tileWidth=0|c,this.tileHeight=0|d,this.tileMargin=0|e,this.tileSpacing=0|f,this.properties=g||{},this.image=null,this.rows=0,this.columns=0,this.total=0,this.drawCoords=[]},c.Tileset.prototype={draw:function(a,b,c,d){var e=d-this.firstgid<<1;e>=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++,-1!==this._flowTotal&&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);c>g;)Array.isArray(a)&&(h=this.game.rnd.pick(a)),Array.isArray(b)&&(i=this.game.rnd.pick(b)),f=new this.particleClass(this.game,0,0,h,i),this.game.physics.arcade.enable(f,!1),d?(f.body.checkCollision.any=!0,f.body.checkCollision.none=!1):f.body.checkCollision.none=!0,f.body.collideWorldBounds=e,f.body.skipQuadTree=!0,f.exists=!1,f.visible=!1,f.anchor.copyFrom(this.particleAnchor),this.add(f),g++;return this},c.Particles.Arcade.Emitter.prototype.kill=function(){return this.on=!1,this.alive=!1,this.exists=!1,this},c.Particles.Arcade.Emitter.prototype.revive=function(){return this.alive=!0,this.exists=!0,this},c.Particles.Arcade.Emitter.prototype.explode=function(a,b){return this._flowTotal=0,this.start(!0,a,0,b,!1),this},c.Particles.Arcade.Emitter.prototype.flow=function(a,b,c,d,e){return(void 0===c||0===c)&&(c=1),void 0===d&&(d=-1),void 0===e&&(e=!0),c>this.maxParticles&&(c=this.maxParticles),this._counter=0, +this._flowQuantity=c,this._flowTotal=d,e?(this.start(!0,a,b,c),this._counter+=c,this.on=!0,this._timer=this.game.time.time+b*this.game.time.slowMotion):this.start(!1,a,b,c),this},c.Particles.Arcade.Emitter.prototype.start=function(a,b,c,d,e){if(void 0===a&&(a=!0),void 0===b&&(b=0),(void 0===c||null===c)&&(c=250),void 0===d&&(d=0),void 0===e&&(e=!1),d>this.maxParticles&&(d=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=b,this.frequency=c,a||e)for(var f=0;d>f;f++)this.emitParticle();else this.on=!0,this._quantity+=d,this._counter=0,this._timer=this.game.time.time+c*this.game.time.slowMotion;return this},c.Particles.Arcade.Emitter.prototype.emitParticle=function(a,b,c,d){void 0===a&&(a=null),void 0===b&&(b=null);var e=this.getFirstExists(!1);if(null===e)return!1;var f=this.game.rnd;void 0!==c&&void 0!==d?e.loadTexture(c,d):void 0!==c&&e.loadTexture(c);var g=this.emitX,h=this.emitY;null!==a?g=a:this.width>1&&(g=f.between(this.left,this.right)),null!==b?h=b:this.height>1&&(h=f.between(this.top,this.bottom)),e.reset(g,h),e.angle=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.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(PIXI.TextureCache.__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(d){this.getUserMediaError(d)}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),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.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",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){0>a?a=0:a>1&&(a=1),this.video&&(this.video.volume=a)}}),Object.defineProperty(c.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(a){this.video&&(this.video.playbackRate=a)}}),Object.defineProperty(c.Video.prototype,"loop",{get:function(){return this.video?this.video.loop:!1},set:function(a){a&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(c.Video.prototype,"playing",{get:function(){return!(this.video.paused&&this.video.ended)}}),c.Video.prototype.constructor=c.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=c.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=c.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new PIXI.Matrix),void 0===PIXI.RenderTexture.tempMatrix&&(PIXI.RenderTexture.tempMatrix=new PIXI.Matrix),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); +//# sourceMappingURL=phaser.map \ No newline at end of file diff --git a/src/game.js b/src/game.js new file mode 100644 index 0000000..81a892a --- /dev/null +++ b/src/game.js @@ -0,0 +1,90 @@ +var game = new Phaser.Game(1152, 704, Phaser.AUTO, ''); + + +game.state.add('play', { + preload: function(){ + game.load.spritesheet('character', 'assets/arrow_tileset.png', 32, 32); + game.stage.backgroundColor = '#787878'; + + game.load.tilemap('forest1', 'assets/tilemaps/maps/Forest1.json', null, Phaser.Tilemap.TILED_JSON); + game.load.tilemap('forest2', 'assets/tilemaps/maps/Forest2.json', null, Phaser.Tilemap.TILED_JSON); + game.load.tilemap('forest3', 'assets/tilemaps/maps/Forest3.json', null, Phaser.Tilemap.TILED_JSON); + game.load.tilemap('fall1', 'assets/tilemaps/maps/Fall1.json', null, Phaser.Tilemap.TILED_JSON); + game.load.tilemap('fall2', 'assets/tilemaps/maps/Fall2.json', null, Phaser.Tilemap.TILED_JSON); + game.load.image('tiles', 'assets/tilemaps/tiles/tilesheet_complete.png'); + this.layers = {}; + }, + create: function(){ + game.physics.startSystem(Phaser.Physics.ARCADE); + + this.cursors = this.game.input.keyboard.createCursorKeys(); + + + this.createTileMap('forest1'); + this.createPlayer(); + + + this.setCollisions(); + }, + update: function(){ + this.playerMovement(); + + game.debug.bodyInfo(this.player, 32, this.game.world.height - 100); + + }, + setCollisions: function(){ + game.physics.collide(this.player, this.layers['water']); + game.physics.collide(this.player, this.layers['trees']); + }, + createTileMap: function(map_name){ + this.map = game.add.tilemap(map_name); + this.map.addTilesetImage('kenney_complete', 'tiles'); + this.layers['water'] = this.map.createLayer('Water'); + this.layers['ground'] = this.map.createLayer('Ground'); + this.layers['trees'] = this.map.createLayer('Trees'); + this.layers['misc'] = this.map.createLayer('Misc'); + }, + createPlayer: function(){ + this.player = game.add.sprite(50, 50, 'character'); + game.physics.arcade.enable(this.player); + + this.player.body.collideWorldBounds = true; + this.player.animations.add('up', [9,10,11], 10, true); + this.player.animations.add('down', [0,1,2], 10, true); + this.player.animations.add('left', [3,4,5], 10, true); + this.player.animations.add('right', [6,7,8], 10, true); + this.player.speed = 200; + }, + playerMovement: function(){ + this.player.body.velocity.y = 0; + this.player.body.velocity.x = 0; + + if(this.cursors.up.isDown) { + this.player.body.velocity.y -= this.player.speed; + this.player.animations.play('up'); + } + else if(this.cursors.down.isDown) { + this.player.body.velocity.y += this.player.speed; + this.player.animations.play('down'); + } + if(this.cursors.left.isDown) { + this.player.body.velocity.x -= this.player.speed; + this.player.animations.play('left'); + } + else if(this.cursors.right.isDown) { + this.player.body.velocity.x += this.player.speed; + this.player.animations.play('right'); + } else { + this.player.animations.stop(null, true); + } + } + + + + +}); + + +game.state.start('play'); + +