excalibur 0.25.2 → 0.25.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -2
- package/build/dist/Actions/Action/Blink.js +51 -0
- package/build/dist/Actions/Action/Blink.js.map +1 -0
- package/build/dist/Actions/Action/CallMethod.js +21 -0
- package/build/dist/Actions/Action/CallMethod.js.map +1 -0
- package/build/dist/Actions/Action/Delay.js +25 -0
- package/build/dist/Actions/Action/Delay.js.map +1 -0
- package/build/dist/Actions/Action/Die.js +22 -0
- package/build/dist/Actions/Action/Die.js.map +1 -0
- package/build/dist/Actions/Action/EaseTo.js +69 -0
- package/build/dist/Actions/Action/EaseTo.js.map +1 -0
- package/build/dist/Actions/Action/Fade.js +46 -0
- package/build/dist/Actions/Action/Fade.js.map +1 -0
- package/build/dist/Actions/Action/Follow.js +55 -0
- package/build/dist/Actions/Action/Follow.js.map +1 -0
- package/build/dist/Actions/Action/Meet.js +52 -0
- package/build/dist/Actions/Action/Meet.js.map +1 -0
- package/build/dist/Actions/Action/MoveBy.js +47 -0
- package/build/dist/Actions/Action/MoveBy.js.map +1 -0
- package/build/dist/Actions/Action/MoveTo.js +40 -0
- package/build/dist/Actions/Action/MoveTo.js.map +1 -0
- package/build/dist/Actions/Action/Repeat.js +31 -0
- package/build/dist/Actions/Action/Repeat.js.map +1 -0
- package/build/dist/Actions/Action/RepeatForever.js +37 -0
- package/build/dist/Actions/Action/RepeatForever.js.map +1 -0
- package/build/dist/Actions/Action/RotateBy.js +91 -0
- package/build/dist/Actions/Action/RotateBy.js.map +1 -0
- package/build/dist/Actions/Action/RotateTo.js +90 -0
- package/build/dist/Actions/Action/RotateTo.js.map +1 -0
- package/build/dist/Actions/Action/ScaleBy.js +45 -0
- package/build/dist/Actions/Action/ScaleBy.js.map +1 -0
- package/build/dist/Actions/Action/ScaleTo.js +56 -0
- package/build/dist/Actions/Action/ScaleTo.js.map +1 -0
- package/build/dist/Actions/Action.js +2 -0
- package/build/dist/Actions/Action.js.map +1 -0
- package/build/dist/Actions/ActionContext.js +305 -0
- package/build/dist/Actions/ActionContext.js.map +1 -0
- package/build/dist/Actions/ActionQueue.js +87 -0
- package/build/dist/Actions/ActionQueue.js.map +1 -0
- package/build/dist/Actions/Actionable.js +2 -0
- package/build/dist/Actions/Actionable.js.map +1 -0
- package/build/dist/Actions/ActionsComponent.js +198 -0
- package/build/dist/Actions/ActionsComponent.js.map +1 -0
- package/build/dist/Actions/ActionsSystem.js +18 -0
- package/build/dist/Actions/ActionsSystem.js.map +1 -0
- package/build/dist/Actions/Index.js +22 -0
- package/build/dist/Actions/Index.js.map +1 -0
- package/build/dist/Actions/RotationType.js +27 -0
- package/build/dist/Actions/RotationType.js.map +1 -0
- package/build/dist/Actor.js +831 -0
- package/build/dist/Actor.js.map +1 -0
- package/build/dist/Camera.js +663 -0
- package/build/dist/Camera.js.map +1 -0
- package/build/dist/Class.js +48 -0
- package/build/dist/Class.js.map +1 -0
- package/build/dist/Collision/BodyComponent.js +351 -0
- package/build/dist/Collision/BodyComponent.js.map +1 -0
- package/build/dist/Collision/BoundingBox.js +361 -0
- package/build/dist/Collision/BoundingBox.js.map +1 -0
- package/build/dist/Collision/ColliderComponent.js +198 -0
- package/build/dist/Collision/ColliderComponent.js.map +1 -0
- package/build/dist/Collision/Colliders/CircleCollider.js +264 -0
- package/build/dist/Collision/Colliders/CircleCollider.js.map +1 -0
- package/build/dist/Collision/Colliders/ClosestLineJumpTable.js +211 -0
- package/build/dist/Collision/Colliders/ClosestLineJumpTable.js.map +1 -0
- package/build/dist/Collision/Colliders/Collider.js +26 -0
- package/build/dist/Collision/Colliders/Collider.js.map +1 -0
- package/build/dist/Collision/Colliders/CollisionJumpTable.js +301 -0
- package/build/dist/Collision/Colliders/CollisionJumpTable.js.map +1 -0
- package/build/dist/Collision/Colliders/CompositeCollider.js +232 -0
- package/build/dist/Collision/Colliders/CompositeCollider.js.map +1 -0
- package/build/dist/Collision/Colliders/EdgeCollider.js +253 -0
- package/build/dist/Collision/Colliders/EdgeCollider.js.map +1 -0
- package/build/dist/Collision/Colliders/PolygonCollider.js +389 -0
- package/build/dist/Collision/Colliders/PolygonCollider.js.map +1 -0
- package/build/dist/Collision/Colliders/SeparatingAxis.js +67 -0
- package/build/dist/Collision/Colliders/SeparatingAxis.js.map +1 -0
- package/build/dist/Collision/Colliders/Shape.js +102 -0
- package/build/dist/Collision/Colliders/Shape.js.map +1 -0
- package/build/dist/Collision/CollisionSystem.js +116 -0
- package/build/dist/Collision/CollisionSystem.js.map +1 -0
- package/build/dist/Collision/CollisionType.js +33 -0
- package/build/dist/Collision/CollisionType.js.map +1 -0
- package/build/dist/Collision/Detection/CollisionContact.js +46 -0
- package/build/dist/Collision/Detection/CollisionContact.js.map +1 -0
- package/build/dist/Collision/Detection/CollisionProcessor.js +2 -0
- package/build/dist/Collision/Detection/CollisionProcessor.js.map +1 -0
- package/build/dist/Collision/Detection/DynamicTree.js +442 -0
- package/build/dist/Collision/Detection/DynamicTree.js.map +1 -0
- package/build/dist/Collision/Detection/DynamicTreeCollisionProcessor.js +211 -0
- package/build/dist/Collision/Detection/DynamicTreeCollisionProcessor.js.map +1 -0
- package/build/dist/Collision/Detection/Pair.js +92 -0
- package/build/dist/Collision/Detection/Pair.js.map +1 -0
- package/build/dist/Collision/Group/CollisionGroup.js +114 -0
- package/build/dist/Collision/Group/CollisionGroup.js.map +1 -0
- package/build/dist/Collision/Group/CollisionGroupManager.js +52 -0
- package/build/dist/Collision/Group/CollisionGroupManager.js.map +1 -0
- package/build/dist/Collision/Index.js +29 -0
- package/build/dist/Collision/Index.js.map +1 -0
- package/build/dist/Collision/Integrator.js +11 -0
- package/build/dist/Collision/Integrator.js.map +1 -0
- package/build/dist/Collision/MotionSystem.js +42 -0
- package/build/dist/Collision/MotionSystem.js.map +1 -0
- package/build/dist/Collision/Physics.js +163 -0
- package/build/dist/Collision/Physics.js.map +1 -0
- package/build/dist/Collision/Side.js +51 -0
- package/build/dist/Collision/Side.js.map +1 -0
- package/build/dist/Collision/Solver/ArcadeSolver.js +101 -0
- package/build/dist/Collision/Solver/ArcadeSolver.js.map +1 -0
- package/build/dist/Collision/Solver/ContactConstraintPoint.js +83 -0
- package/build/dist/Collision/Solver/ContactConstraintPoint.js.map +1 -0
- package/build/dist/Collision/Solver/RealisticSolver.js +248 -0
- package/build/dist/Collision/Solver/RealisticSolver.js.map +1 -0
- package/build/dist/Collision/Solver/Solver.js +37 -0
- package/build/dist/Collision/Solver/Solver.js.map +1 -0
- package/build/dist/Color.js +461 -0
- package/build/dist/Color.js.map +1 -0
- package/build/dist/Configurable.js +32 -0
- package/build/dist/Configurable.js.map +1 -0
- package/build/dist/Debug/Debug.js +375 -0
- package/build/dist/Debug/Debug.js.map +1 -0
- package/build/dist/Debug/DebugFlags.js +40 -0
- package/build/dist/Debug/DebugFlags.js.map +1 -0
- package/build/dist/Debug/DebugSystem.js +251 -0
- package/build/dist/Debug/DebugSystem.js.map +1 -0
- package/build/dist/Debug/index.js +4 -0
- package/build/dist/Debug/index.js.map +1 -0
- package/build/dist/Deprecated.js +2 -0
- package/build/dist/Deprecated.js.map +1 -0
- package/build/dist/Drawing/Animation.js +294 -0
- package/build/dist/Drawing/Animation.js.map +1 -0
- package/build/dist/Drawing/CanvasDrawComponent.js +16 -0
- package/build/dist/Drawing/CanvasDrawComponent.js.map +1 -0
- package/build/dist/Drawing/CanvasDrawingSystem.js +95 -0
- package/build/dist/Drawing/CanvasDrawingSystem.js.map +1 -0
- package/build/dist/Drawing/Index.js +10 -0
- package/build/dist/Drawing/Index.js.map +1 -0
- package/build/dist/Drawing/Polygon.js +139 -0
- package/build/dist/Drawing/Polygon.js.map +1 -0
- package/build/dist/Drawing/Sprite.js +355 -0
- package/build/dist/Drawing/Sprite.js.map +1 -0
- package/build/dist/Drawing/SpriteEffects.js +246 -0
- package/build/dist/Drawing/SpriteEffects.js.map +1 -0
- package/build/dist/Drawing/SpriteSheet.js +413 -0
- package/build/dist/Drawing/SpriteSheet.js.map +1 -0
- package/build/dist/Drawing/Texture.js +69 -0
- package/build/dist/Drawing/Texture.js.map +1 -0
- package/build/dist/Engine.d.ts +4 -1
- package/build/dist/Engine.js +985 -0
- package/build/dist/Engine.js.map +1 -0
- package/build/dist/EntityComponentSystem/Component.js +65 -0
- package/build/dist/EntityComponentSystem/Component.js.map +1 -0
- package/build/dist/EntityComponentSystem/Components/MotionComponent.js +33 -0
- package/build/dist/EntityComponentSystem/Components/MotionComponent.js.map +1 -0
- package/build/dist/EntityComponentSystem/Components/TransformComponent.js +249 -0
- package/build/dist/EntityComponentSystem/Components/TransformComponent.js.map +1 -0
- package/build/dist/EntityComponentSystem/Entity.js +452 -0
- package/build/dist/EntityComponentSystem/Entity.js.map +1 -0
- package/build/dist/EntityComponentSystem/EntityManager.js +128 -0
- package/build/dist/EntityComponentSystem/EntityManager.js.map +1 -0
- package/build/dist/EntityComponentSystem/Query.js +91 -0
- package/build/dist/EntityComponentSystem/Query.js.map +1 -0
- package/build/dist/EntityComponentSystem/QueryManager.js +90 -0
- package/build/dist/EntityComponentSystem/QueryManager.js.map +1 -0
- package/build/dist/EntityComponentSystem/System.js +76 -0
- package/build/dist/EntityComponentSystem/System.js.map +1 -0
- package/build/dist/EntityComponentSystem/SystemManager.js +102 -0
- package/build/dist/EntityComponentSystem/SystemManager.js.map +1 -0
- package/build/dist/EntityComponentSystem/Util.js +5 -0
- package/build/dist/EntityComponentSystem/Util.js.map +1 -0
- package/build/dist/EntityComponentSystem/World.js +55 -0
- package/build/dist/EntityComponentSystem/World.js.map +1 -0
- package/build/dist/EntityComponentSystem/index.js +11 -0
- package/build/dist/EntityComponentSystem/index.js.map +1 -0
- package/build/dist/EventDispatcher.js +114 -0
- package/build/dist/EventDispatcher.js.map +1 -0
- package/build/dist/Events/ExEvent.js +12 -0
- package/build/dist/Events/ExEvent.js.map +1 -0
- package/build/dist/Events/MediaEvents.js +75 -0
- package/build/dist/Events/MediaEvents.js.map +1 -0
- package/build/dist/Events/PointerEvents.js +52 -0
- package/build/dist/Events/PointerEvents.js.map +1 -0
- package/build/dist/Events.js +497 -0
- package/build/dist/Events.js.map +1 -0
- package/build/dist/Flags.js +90 -0
- package/build/dist/Flags.js.map +1 -0
- package/build/dist/Graphics/Animation.js +310 -0
- package/build/dist/Graphics/Animation.js.map +1 -0
- package/build/dist/Graphics/Canvas.js +38 -0
- package/build/dist/Graphics/Canvas.js.map +1 -0
- package/build/dist/Graphics/Circle.js +47 -0
- package/build/dist/Graphics/Circle.js.map +1 -0
- package/build/dist/Graphics/Context/ExcaliburGraphicsContext.js +2 -0
- package/build/dist/Graphics/Context/ExcaliburGraphicsContext.js.map +1 -0
- package/build/dist/Graphics/Context/ExcaliburGraphicsContext2DCanvas.js +207 -0
- package/build/dist/Graphics/Context/ExcaliburGraphicsContext2DCanvas.js.map +1 -0
- package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.js +331 -0
- package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.js.map +1 -0
- package/build/dist/Graphics/Context/circle-renderer/circle-renderer.js +160 -0
- package/build/dist/Graphics/Context/circle-renderer/circle-renderer.js.map +1 -0
- package/build/dist/Graphics/Context/debug-text.js +47 -0
- package/build/dist/Graphics/Context/debug-text.js.map +1 -0
- package/build/dist/Graphics/Context/image-renderer/image-renderer.js +209 -0
- package/build/dist/Graphics/Context/image-renderer/image-renderer.js.map +1 -0
- package/build/dist/Graphics/Context/line-renderer/line-renderer.js +87 -0
- package/build/dist/Graphics/Context/line-renderer/line-renderer.js.map +1 -0
- package/build/dist/Graphics/Context/point-renderer/point-renderer.js +82 -0
- package/build/dist/Graphics/Context/point-renderer/point-renderer.js.map +1 -0
- package/build/dist/Graphics/Context/quad-index-buffer.js +69 -0
- package/build/dist/Graphics/Context/quad-index-buffer.js.map +1 -0
- package/build/dist/Graphics/Context/rectangle-renderer/rectangle-renderer.js +272 -0
- package/build/dist/Graphics/Context/rectangle-renderer/rectangle-renderer.js.map +1 -0
- package/build/dist/Graphics/Context/render-source.js +16 -0
- package/build/dist/Graphics/Context/render-source.js.map +1 -0
- package/build/dist/Graphics/Context/render-target.js +65 -0
- package/build/dist/Graphics/Context/render-target.js.map +1 -0
- package/build/dist/Graphics/Context/renderer.js +2 -0
- package/build/dist/Graphics/Context/renderer.js.map +1 -0
- package/build/dist/Graphics/Context/screen-pass-painter/screen-pass-painter.js +53 -0
- package/build/dist/Graphics/Context/screen-pass-painter/screen-pass-painter.js.map +1 -0
- package/build/dist/Graphics/Context/shader.js +236 -0
- package/build/dist/Graphics/Context/shader.js.map +1 -0
- package/build/dist/Graphics/Context/state-stack.js +27 -0
- package/build/dist/Graphics/Context/state-stack.js.map +1 -0
- package/build/dist/Graphics/Context/texture-loader.d.ts +8 -0
- package/build/dist/Graphics/Context/texture-loader.js +121 -0
- package/build/dist/Graphics/Context/texture-loader.js.map +1 -0
- package/build/dist/Graphics/Context/transform-stack.js +30 -0
- package/build/dist/Graphics/Context/transform-stack.js.map +1 -0
- package/build/dist/Graphics/Context/vertex-buffer.js +45 -0
- package/build/dist/Graphics/Context/vertex-buffer.js.map +1 -0
- package/build/dist/Graphics/Context/vertex-layout.js +93 -0
- package/build/dist/Graphics/Context/vertex-layout.js.map +1 -0
- package/build/dist/Graphics/Context/webgl-adapter.js +19 -0
- package/build/dist/Graphics/Context/webgl-adapter.js.map +1 -0
- package/build/dist/Graphics/Context/webgl-util.js +105 -0
- package/build/dist/Graphics/Context/webgl-util.js.map +1 -0
- package/build/dist/Graphics/DebugGraphicsComponent.js +15 -0
- package/build/dist/Graphics/DebugGraphicsComponent.js.map +1 -0
- package/build/dist/Graphics/Filtering.js +17 -0
- package/build/dist/Graphics/Filtering.js.map +1 -0
- package/build/dist/Graphics/Font.js +293 -0
- package/build/dist/Graphics/Font.js.map +1 -0
- package/build/dist/Graphics/FontCommon.js +109 -0
- package/build/dist/Graphics/FontCommon.js.map +1 -0
- package/build/dist/Graphics/Graphic.js +200 -0
- package/build/dist/Graphics/Graphic.js.map +1 -0
- package/build/dist/Graphics/GraphicsComponent.js +290 -0
- package/build/dist/Graphics/GraphicsComponent.js.map +1 -0
- package/build/dist/Graphics/GraphicsDiagnostics.js +9 -0
- package/build/dist/Graphics/GraphicsDiagnostics.js.map +1 -0
- package/build/dist/Graphics/GraphicsGroup.js +69 -0
- package/build/dist/Graphics/GraphicsGroup.js.map +1 -0
- package/build/dist/Graphics/GraphicsSystem.js +153 -0
- package/build/dist/Graphics/GraphicsSystem.js.map +1 -0
- package/build/dist/Graphics/ImageSource.js +116 -0
- package/build/dist/Graphics/ImageSource.js.map +1 -0
- package/build/dist/Graphics/Polygon.js +59 -0
- package/build/dist/Graphics/Polygon.js.map +1 -0
- package/build/dist/Graphics/PostProcessor/ColorBlindnessMode.js +7 -0
- package/build/dist/Graphics/PostProcessor/ColorBlindnessMode.js.map +1 -0
- package/build/dist/Graphics/PostProcessor/ColorBlindnessPostProcessor.js +52 -0
- package/build/dist/Graphics/PostProcessor/ColorBlindnessPostProcessor.js.map +1 -0
- package/build/dist/Graphics/PostProcessor/PostProcessor.js +2 -0
- package/build/dist/Graphics/PostProcessor/PostProcessor.js.map +1 -0
- package/build/dist/Graphics/PostProcessor/ScreenShader.js +56 -0
- package/build/dist/Graphics/PostProcessor/ScreenShader.js.map +1 -0
- package/build/dist/Graphics/Raster.js +207 -0
- package/build/dist/Graphics/Raster.js.map +1 -0
- package/build/dist/Graphics/Rectangle.js +29 -0
- package/build/dist/Graphics/Rectangle.js.map +1 -0
- package/build/dist/Graphics/Sprite.js +103 -0
- package/build/dist/Graphics/Sprite.js.map +1 -0
- package/build/dist/Graphics/SpriteFont.js +120 -0
- package/build/dist/Graphics/SpriteFont.js.map +1 -0
- package/build/dist/Graphics/SpriteSheet.js +115 -0
- package/build/dist/Graphics/SpriteSheet.js.map +1 -0
- package/build/dist/Graphics/Text.js +94 -0
- package/build/dist/Graphics/Text.js.map +1 -0
- package/build/dist/Graphics/index.js +42 -0
- package/build/dist/Graphics/index.js.map +1 -0
- package/build/dist/Id.js +8 -0
- package/build/dist/Id.js.map +1 -0
- package/build/dist/Input/CapturePointerConfig.js +5 -0
- package/build/dist/Input/CapturePointerConfig.js.map +1 -0
- package/build/dist/Input/EngineInput.js +2 -0
- package/build/dist/Input/EngineInput.js.map +1 -0
- package/build/dist/Input/Gamepad.js +358 -0
- package/build/dist/Input/Gamepad.js.map +1 -0
- package/build/dist/Input/Index.js +22 -0
- package/build/dist/Input/Index.js.map +1 -0
- package/build/dist/Input/Keyboard.js +267 -0
- package/build/dist/Input/Keyboard.js.map +1 -0
- package/build/dist/Input/NativePointerButton.js +12 -0
- package/build/dist/Input/NativePointerButton.js.map +1 -0
- package/build/dist/Input/PointerAbstraction.js +41 -0
- package/build/dist/Input/PointerAbstraction.js.map +1 -0
- package/build/dist/Input/PointerButton.js +12 -0
- package/build/dist/Input/PointerButton.js.map +1 -0
- package/build/dist/Input/PointerComponent.js +28 -0
- package/build/dist/Input/PointerComponent.js.map +1 -0
- package/build/dist/Input/PointerEvent.js +25 -0
- package/build/dist/Input/PointerEvent.js.map +1 -0
- package/build/dist/Input/PointerEventReceiver.js +414 -0
- package/build/dist/Input/PointerEventReceiver.js.map +1 -0
- package/build/dist/Input/PointerScope.js +16 -0
- package/build/dist/Input/PointerScope.js.map +1 -0
- package/build/dist/Input/PointerSystem.js +217 -0
- package/build/dist/Input/PointerSystem.js.map +1 -0
- package/build/dist/Input/PointerType.js +11 -0
- package/build/dist/Input/PointerType.js.map +1 -0
- package/build/dist/Input/WheelDeltaMode.js +7 -0
- package/build/dist/Input/WheelDeltaMode.js.map +1 -0
- package/build/dist/Input/WheelEvent.js +21 -0
- package/build/dist/Input/WheelEvent.js.map +1 -0
- package/build/dist/Interfaces/Audio.js +2 -0
- package/build/dist/Interfaces/Audio.js.map +1 -0
- package/build/dist/Interfaces/AudioImplementation.js +11 -0
- package/build/dist/Interfaces/AudioImplementation.js.map +1 -0
- package/build/dist/Interfaces/Clonable.js +2 -0
- package/build/dist/Interfaces/Clonable.js.map +1 -0
- package/build/dist/Interfaces/Drawable.js +2 -0
- package/build/dist/Interfaces/Drawable.js.map +1 -0
- package/build/dist/Interfaces/Evented.js +2 -0
- package/build/dist/Interfaces/Evented.js.map +1 -0
- package/build/dist/Interfaces/Index.js +10 -0
- package/build/dist/Interfaces/Index.js.map +1 -0
- package/build/dist/Interfaces/LifecycleEvents.js +51 -0
- package/build/dist/Interfaces/LifecycleEvents.js.map +1 -0
- package/build/dist/Interfaces/Loadable.js +2 -0
- package/build/dist/Interfaces/Loadable.js.map +1 -0
- package/build/dist/Interfaces/PointerEventHandlers.js +2 -0
- package/build/dist/Interfaces/PointerEventHandlers.js.map +1 -0
- package/build/dist/Interfaces/Trait.js +2 -0
- package/build/dist/Interfaces/Trait.js.map +1 -0
- package/build/dist/Label.js +273 -0
- package/build/dist/Label.js.map +1 -0
- package/build/dist/Loader.js +367 -0
- package/build/dist/Loader.js.map +1 -0
- package/build/dist/Math/Index.js +10 -0
- package/build/dist/Math/Index.js.map +1 -0
- package/build/dist/Math/Random.js +239 -0
- package/build/dist/Math/Random.js.map +1 -0
- package/build/dist/Math/global-coordinates.js +30 -0
- package/build/dist/Math/global-coordinates.js.map +1 -0
- package/build/dist/Math/line.js +194 -0
- package/build/dist/Math/line.js.map +1 -0
- package/build/dist/Math/matrix.js +446 -0
- package/build/dist/Math/matrix.js.map +1 -0
- package/build/dist/Math/projection.js +24 -0
- package/build/dist/Math/projection.js.map +1 -0
- package/build/dist/Math/ray.js +52 -0
- package/build/dist/Math/ray.js.map +1 -0
- package/build/dist/Math/util.js +82 -0
- package/build/dist/Math/util.js.map +1 -0
- package/build/dist/Math/vector-view.js +25 -0
- package/build/dist/Math/vector-view.js.map +1 -0
- package/build/dist/Math/vector.js +326 -0
- package/build/dist/Math/vector.js.map +1 -0
- package/build/dist/Particles.js +449 -0
- package/build/dist/Particles.js.map +1 -0
- package/build/dist/Polyfill.js +56 -0
- package/build/dist/Polyfill.js.map +1 -0
- package/build/dist/Promises.js +205 -0
- package/build/dist/Promises.js.map +1 -0
- package/build/dist/Resources/Gif.js +479 -0
- package/build/dist/Resources/Gif.js.map +1 -0
- package/build/dist/Resources/Index.js +4 -0
- package/build/dist/Resources/Index.js.map +1 -0
- package/build/dist/Resources/Resource.js +74 -0
- package/build/dist/Resources/Resource.js.map +1 -0
- package/build/dist/Resources/Sound/AudioContext.js +16 -0
- package/build/dist/Resources/Sound/AudioContext.js.map +1 -0
- package/build/dist/Resources/Sound/Index.js +4 -0
- package/build/dist/Resources/Sound/Index.js.map +1 -0
- package/build/dist/Resources/Sound/Sound.js +240 -0
- package/build/dist/Resources/Sound/Sound.js.map +1 -0
- package/build/dist/Resources/Sound/WebAudioInstance.js +160 -0
- package/build/dist/Resources/Sound/WebAudioInstance.js.map +1 -0
- package/build/dist/Scene.js +458 -0
- package/build/dist/Scene.js.map +1 -0
- package/build/dist/Screen.js +634 -0
- package/build/dist/Screen.js.map +1 -0
- package/build/dist/ScreenElement.js +29 -0
- package/build/dist/ScreenElement.js.map +1 -0
- package/build/dist/TileMap.js +488 -0
- package/build/dist/TileMap.js.map +1 -0
- package/build/dist/Timer.js +198 -0
- package/build/dist/Timer.js.map +1 -0
- package/build/dist/Traits/Index.js +5 -0
- package/build/dist/Traits/Index.js.map +1 -0
- package/build/dist/Traits/OffscreenCulling.js +35 -0
- package/build/dist/Traits/OffscreenCulling.js.map +1 -0
- package/build/dist/Trigger.js +113 -0
- package/build/dist/Trigger.js.map +1 -0
- package/build/dist/Util/Actors.js +19 -0
- package/build/dist/Util/Actors.js.map +1 -0
- package/build/dist/Util/Browser.js +66 -0
- package/build/dist/Util/Browser.js.map +1 -0
- package/build/dist/Util/Clock.js +219 -0
- package/build/dist/Util/Clock.js.map +1 -0
- package/build/dist/Util/CullingBox.js +104 -0
- package/build/dist/Util/CullingBox.js.map +1 -0
- package/build/dist/Util/Decorators.js +78 -0
- package/build/dist/Util/Decorators.js.map +1 -0
- package/build/dist/Util/Detector.js +167 -0
- package/build/dist/Util/Detector.js.map +1 -0
- package/build/dist/Util/DrawUtil.js +117 -0
- package/build/dist/Util/DrawUtil.js.map +1 -0
- package/build/dist/Util/EasingFunctions.js +118 -0
- package/build/dist/Util/EasingFunctions.js.map +1 -0
- package/build/dist/Util/Fps.js +47 -0
- package/build/dist/Util/Fps.js.map +1 -0
- package/build/dist/Util/Index.js +7 -0
- package/build/dist/Util/Index.js.map +1 -0
- package/build/dist/Util/Log.js +195 -0
- package/build/dist/Util/Log.js.map +1 -0
- package/build/dist/Util/Observable.js +60 -0
- package/build/dist/Util/Observable.js.map +1 -0
- package/build/dist/Util/Pool.js +66 -0
- package/build/dist/Util/Pool.js.map +1 -0
- package/build/dist/Util/SortedList.js +261 -0
- package/build/dist/Util/SortedList.js.map +1 -0
- package/build/dist/Util/Sound.js +22 -0
- package/build/dist/Util/Sound.js.map +1 -0
- package/build/dist/Util/Util.js +294 -0
- package/build/dist/Util/Util.js.map +1 -0
- package/build/dist/Util/Watch.js +67 -0
- package/build/dist/Util/Watch.js.map +1 -0
- package/build/dist/Util/WebAudio.js +62 -0
- package/build/dist/Util/WebAudio.js.map +1 -0
- package/build/dist/excalibur.js +101 -22
- package/build/dist/excalibur.js.map +1 -1
- package/build/dist/excalibur.min.js +1 -1
- package/build/dist/excalibur.min.js.LICENSE.txt +1 -1
- package/build/dist/excalibur.min.js.map +1 -1
- package/build/dist/index.js +74 -0
- package/build/dist/index.js.map +1 -0
- package/build/esm/Engine.d.ts +4 -1
- package/build/esm/Graphics/Context/texture-loader.d.ts +8 -0
- package/build/esm/excalibur.js +101 -22
- package/build/esm/excalibur.js.map +1 -1
- package/build/esm/excalibur.min.js +1 -1
- package/build/esm/excalibur.min.js.LICENSE.txt +1 -1
- package/build/esm/excalibur.min.js.map +1 -1
- package/package.json +23 -22
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { obsolete } from './Decorators';
|
|
8
|
+
/**
|
|
9
|
+
* A sorted list implementation. NOTE: this implementation is not self-balancing
|
|
10
|
+
* @deprecated WIll be removed in v0.26.0 Use built in JS array.sort
|
|
11
|
+
*/
|
|
12
|
+
let SortedList = class SortedList {
|
|
13
|
+
constructor(getComparable) {
|
|
14
|
+
this._getComparable = getComparable;
|
|
15
|
+
}
|
|
16
|
+
find(element) {
|
|
17
|
+
return this._find(this._root, element);
|
|
18
|
+
}
|
|
19
|
+
_find(node, element) {
|
|
20
|
+
if (node == null) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
else if (this._getComparable(element) === node.getKey()) {
|
|
24
|
+
if (node.getData().indexOf(element) > -1) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else if (this._getComparable(element) < node.getKey()) {
|
|
32
|
+
return this._find(node.getLeft(), element);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
return this._find(node.getRight(), element);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// returns the array of elements at a specific key value
|
|
39
|
+
get(key) {
|
|
40
|
+
return this._get(this._root, key);
|
|
41
|
+
}
|
|
42
|
+
_get(node, key) {
|
|
43
|
+
if (node == null) {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
else if (key === node.getKey()) {
|
|
47
|
+
return node.getData();
|
|
48
|
+
}
|
|
49
|
+
else if (key < node.getKey()) {
|
|
50
|
+
return this._get(node.getLeft(), key);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return this._get(node.getRight(), key);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
add(element) {
|
|
57
|
+
if (this._root == null) {
|
|
58
|
+
this._root = new BinaryTreeNode(this._getComparable(element), [element], null, null);
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return this._insert(this._root, element);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
_insert(node, element) {
|
|
66
|
+
if (node != null) {
|
|
67
|
+
if (this._getComparable(element) === node.getKey()) {
|
|
68
|
+
if (node.getData().indexOf(element) > -1) {
|
|
69
|
+
return false; // the element we're trying to insert already exists
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
node.getData().push(element);
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else if (this._getComparable(element) < node.getKey()) {
|
|
77
|
+
if (node.getLeft() == null) {
|
|
78
|
+
node.setLeft(new BinaryTreeNode(this._getComparable(element), [element], null, null));
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
return this._insert(node.getLeft(), element);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
if (node.getRight() == null) {
|
|
87
|
+
node.setRight(new BinaryTreeNode(this._getComparable(element), [element], null, null));
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return this._insert(node.getRight(), element);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
removeByComparable(element) {
|
|
98
|
+
this._root = this._remove(this._root, element);
|
|
99
|
+
}
|
|
100
|
+
_remove(node, element) {
|
|
101
|
+
if (node == null) {
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
else if (this._getComparable(element) === node.getKey()) {
|
|
105
|
+
const elementIndex = node.getData().indexOf(element);
|
|
106
|
+
// if the node contains the element, remove the element
|
|
107
|
+
if (elementIndex > -1) {
|
|
108
|
+
node.getData().splice(elementIndex, 1);
|
|
109
|
+
// if we have removed the last element at this node, remove the node
|
|
110
|
+
if (node.getData().length === 0) {
|
|
111
|
+
// if the node is a leaf
|
|
112
|
+
if (node.getLeft() == null && node.getRight() == null) {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
else if (node.getLeft() == null) {
|
|
116
|
+
return node.getRight();
|
|
117
|
+
}
|
|
118
|
+
else if (node.getRight() == null) {
|
|
119
|
+
return node.getLeft();
|
|
120
|
+
}
|
|
121
|
+
// if node has 2 children
|
|
122
|
+
const temp = this._findMinNode(node.getRight());
|
|
123
|
+
node.setKey(temp.getKey());
|
|
124
|
+
node.setData(temp.getData());
|
|
125
|
+
node.setRight(this._cleanup(node.getRight(), temp)); //"cleanup nodes" (move them up recursively)
|
|
126
|
+
return node;
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
// this prevents the node from being removed since it still contains elements
|
|
130
|
+
return node;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else if (this._getComparable(element) < node.getKey()) {
|
|
135
|
+
node.setLeft(this._remove(node.getLeft(), element));
|
|
136
|
+
return node;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
node.setRight(this._remove(node.getRight(), element));
|
|
140
|
+
return node;
|
|
141
|
+
}
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
// called once we have successfully removed the element we wanted, recursively corrects the part of the tree below the removed node
|
|
145
|
+
_cleanup(node, element) {
|
|
146
|
+
const comparable = element.getKey();
|
|
147
|
+
if (node == null) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
else if (comparable === node.getKey()) {
|
|
151
|
+
// if the node is a leaf
|
|
152
|
+
if (node.getLeft() == null && node.getRight() == null) {
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
else if (node.getLeft() == null) {
|
|
156
|
+
return node.getRight();
|
|
157
|
+
}
|
|
158
|
+
else if (node.getRight() == null) {
|
|
159
|
+
return node.getLeft();
|
|
160
|
+
}
|
|
161
|
+
// if node has 2 children
|
|
162
|
+
const temp = this._findMinNode(node.getRight());
|
|
163
|
+
node.setKey(temp.getKey());
|
|
164
|
+
node.setData(temp.getData());
|
|
165
|
+
node.setRight(this._cleanup(node.getRight(), temp));
|
|
166
|
+
return node;
|
|
167
|
+
}
|
|
168
|
+
else if (element.getKey() < node.getKey()) {
|
|
169
|
+
node.setLeft(this._cleanup(node.getLeft(), element));
|
|
170
|
+
return node;
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
node.setRight(this._cleanup(node.getRight(), element));
|
|
174
|
+
return node;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
_findMinNode(node) {
|
|
178
|
+
let current = node;
|
|
179
|
+
while (current.getLeft() != null) {
|
|
180
|
+
current = current.getLeft();
|
|
181
|
+
}
|
|
182
|
+
return current;
|
|
183
|
+
}
|
|
184
|
+
list() {
|
|
185
|
+
const results = new Array();
|
|
186
|
+
this._list(this._root, results);
|
|
187
|
+
return results;
|
|
188
|
+
}
|
|
189
|
+
_list(treeNode, results) {
|
|
190
|
+
if (treeNode != null) {
|
|
191
|
+
this._list(treeNode.getLeft(), results);
|
|
192
|
+
treeNode.getData().forEach((element) => {
|
|
193
|
+
results.push(element);
|
|
194
|
+
});
|
|
195
|
+
this._list(treeNode.getRight(), results);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
SortedList = __decorate([
|
|
200
|
+
obsolete({ message: 'Will be removed in excalibur v0.26.0', alternateMethod: 'Use built in JS array.sort' })
|
|
201
|
+
], SortedList);
|
|
202
|
+
export { SortedList };
|
|
203
|
+
/**
|
|
204
|
+
* A tree node part of [[SortedList]]
|
|
205
|
+
* @deprecated Will be removed in v0.26.0
|
|
206
|
+
*/
|
|
207
|
+
let BinaryTreeNode = class BinaryTreeNode {
|
|
208
|
+
constructor(key, data, left, right) {
|
|
209
|
+
this._key = key;
|
|
210
|
+
this._data = data;
|
|
211
|
+
this._left = left;
|
|
212
|
+
this._right = right;
|
|
213
|
+
}
|
|
214
|
+
getKey() {
|
|
215
|
+
return this._key;
|
|
216
|
+
}
|
|
217
|
+
setKey(key) {
|
|
218
|
+
this._key = key;
|
|
219
|
+
}
|
|
220
|
+
getData() {
|
|
221
|
+
return this._data;
|
|
222
|
+
}
|
|
223
|
+
setData(data) {
|
|
224
|
+
this._data = data;
|
|
225
|
+
}
|
|
226
|
+
getLeft() {
|
|
227
|
+
return this._left;
|
|
228
|
+
}
|
|
229
|
+
setLeft(left) {
|
|
230
|
+
this._left = left;
|
|
231
|
+
}
|
|
232
|
+
getRight() {
|
|
233
|
+
return this._right;
|
|
234
|
+
}
|
|
235
|
+
setRight(right) {
|
|
236
|
+
this._right = right;
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
BinaryTreeNode = __decorate([
|
|
240
|
+
obsolete({ message: 'Will be removed in excalibur v0.26.0' })
|
|
241
|
+
], BinaryTreeNode);
|
|
242
|
+
export { BinaryTreeNode };
|
|
243
|
+
/**
|
|
244
|
+
* Mock element for testing
|
|
245
|
+
*
|
|
246
|
+
* @internal
|
|
247
|
+
* @deprecated Will be removed in v0.26.0
|
|
248
|
+
*/
|
|
249
|
+
export class MockedElement {
|
|
250
|
+
constructor(key) {
|
|
251
|
+
this._key = 0;
|
|
252
|
+
this._key = key;
|
|
253
|
+
}
|
|
254
|
+
getTheKey() {
|
|
255
|
+
return this._key;
|
|
256
|
+
}
|
|
257
|
+
setKey(key) {
|
|
258
|
+
this._key = key;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
//# sourceMappingURL=SortedList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SortedList.js","sourceRoot":"","sources":["../../../src/engine/Util/SortedList.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Logger } from './Log';
|
|
2
|
+
/**
|
|
3
|
+
* Whether or not the browser can play this file as HTML5 Audio
|
|
4
|
+
*/
|
|
5
|
+
export function canPlayFile(file) {
|
|
6
|
+
try {
|
|
7
|
+
const a = new Audio();
|
|
8
|
+
const filetype = /.*\.([A-Za-z0-9]+)$/;
|
|
9
|
+
const type = file.match(filetype)[1];
|
|
10
|
+
if (a.canPlayType('audio/' + type)) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
Logger.getInstance().warn('Cannot determine audio support, assuming no support for the Audio Tag', e);
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=Sound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Sound.js","sourceRoot":"","sources":["../../../src/engine/Util/Sound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI;QACF,MAAM,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,qBAAqB,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE;YAClC,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;KACF;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,uEAAuE,EAAE,CAAC,CAAC,CAAC;QACtG,OAAO,KAAK,CAAC;KACd;AACH,CAAC"}
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
import { Vector } from '../Math/vector';
|
|
2
|
+
import { Side } from '../Collision/Side';
|
|
3
|
+
// TODO remove in v0.26.0
|
|
4
|
+
// Re-export hack to deprecate import site gently
|
|
5
|
+
import { TwoPI as lTwoPI, clamp as lclamp, randomInRange as lrandomInRange, randomIntInRange as lrandomIntInRange, canonicalizeAngle as lcanonicalizeAngle, toDegrees as ltoDegrees, toRadians as ltoRadians, range as lrange } from '../Math/util';
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated ex.Util.TwoPI import site will be removed in v0.26.0, use ex.TwoPI
|
|
8
|
+
*/
|
|
9
|
+
export const TwoPI = lTwoPI;
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated ex.Util.clamp import site will be removed in v0.26.0, use ex.clamp
|
|
12
|
+
*/
|
|
13
|
+
export const clamp = lclamp;
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated ex.Util.randomInRange import site will be removed in v0.26.0, use ex.randomInRange
|
|
16
|
+
*/
|
|
17
|
+
export const randomInRange = lrandomInRange;
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated ex.Util.randomIntInRange import site will be removed in v0.26.0, use ex.randomIntInRange
|
|
20
|
+
*/
|
|
21
|
+
export const randomIntInRange = lrandomIntInRange;
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated ex.Util.canonicalizeAngle import site will be removed in v0.26.0, use ex.canonicalizeAngle
|
|
24
|
+
*/
|
|
25
|
+
export const canonicalizeAngle = lcanonicalizeAngle;
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated ex.Util.toDegrees import site will be removed in v0.26.0, use ex.toDegrees
|
|
28
|
+
*/
|
|
29
|
+
export const toDegrees = ltoDegrees;
|
|
30
|
+
/**
|
|
31
|
+
* @deprecated ex.Util.toRadians import site will be removed in v0.26.0, use ex.toRadians
|
|
32
|
+
*/
|
|
33
|
+
export const toRadians = ltoRadians;
|
|
34
|
+
/**
|
|
35
|
+
* @deprecated ex.Util.range import site will be removed in v0.26.0, use ex.range
|
|
36
|
+
*/
|
|
37
|
+
export const range = lrange;
|
|
38
|
+
// TODO END REMOVE in v0.26.0
|
|
39
|
+
/**
|
|
40
|
+
* Find the screen position of an HTML element
|
|
41
|
+
*/
|
|
42
|
+
export function getPosition(el) {
|
|
43
|
+
let oLeft = 0, oTop = 0;
|
|
44
|
+
const calcOffsetLeft = (parent) => {
|
|
45
|
+
oLeft += parent.offsetLeft;
|
|
46
|
+
if (parent.offsetParent) {
|
|
47
|
+
calcOffsetLeft(parent.offsetParent);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const calcOffsetTop = (parent) => {
|
|
51
|
+
oTop += parent.offsetTop;
|
|
52
|
+
if (parent.offsetParent) {
|
|
53
|
+
calcOffsetTop(parent.offsetParent);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
calcOffsetLeft(el);
|
|
57
|
+
calcOffsetTop(el);
|
|
58
|
+
return new Vector(oLeft, oTop);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Add an item to an array list if it doesn't already exist. Returns true if added, false if not and already exists in the array.
|
|
62
|
+
* @deprecated Will be removed in v0.26.0
|
|
63
|
+
*/
|
|
64
|
+
export function addItemToArray(item, array) {
|
|
65
|
+
if (array.indexOf(item) === -1) {
|
|
66
|
+
array.push(item);
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Remove an item from an list
|
|
73
|
+
* @deprecated Will be removed in v0.26.0
|
|
74
|
+
*/
|
|
75
|
+
export function removeItemFromArray(item, array) {
|
|
76
|
+
let index = -1;
|
|
77
|
+
if ((index = array.indexOf(item)) > -1) {
|
|
78
|
+
array.splice(index, 1);
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* See if an array contains something
|
|
85
|
+
*/
|
|
86
|
+
export function contains(array, obj) {
|
|
87
|
+
for (let i = 0; i < array.length; i++) {
|
|
88
|
+
if (array[i] === obj) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Get the opposite side
|
|
96
|
+
* TODO: Move to Side type
|
|
97
|
+
* @deprecated Will be removed in v0.26.0
|
|
98
|
+
*/
|
|
99
|
+
export function getOppositeSide(side) {
|
|
100
|
+
if (side === Side.Top) {
|
|
101
|
+
return Side.Bottom;
|
|
102
|
+
}
|
|
103
|
+
if (side === Side.Bottom) {
|
|
104
|
+
return Side.Top;
|
|
105
|
+
}
|
|
106
|
+
if (side === Side.Left) {
|
|
107
|
+
return Side.Right;
|
|
108
|
+
}
|
|
109
|
+
if (side === Side.Right) {
|
|
110
|
+
return Side.Left;
|
|
111
|
+
}
|
|
112
|
+
return Side.None;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Returns the side in the direction of the vector supplied
|
|
116
|
+
* @param direction Vector to check
|
|
117
|
+
* @deprecated
|
|
118
|
+
* TODO: Move to Side type
|
|
119
|
+
*/
|
|
120
|
+
export function getSideFromDirection(direction) {
|
|
121
|
+
const directions = [Vector.Left, Vector.Right, Vector.Up, Vector.Down];
|
|
122
|
+
const directionEnum = [Side.Left, Side.Right, Side.Top, Side.Bottom];
|
|
123
|
+
let max = -Number.MAX_VALUE;
|
|
124
|
+
let maxIndex = -1;
|
|
125
|
+
for (let i = 0; i < directions.length; i++) {
|
|
126
|
+
if (directions[i].dot(direction) > max) {
|
|
127
|
+
max = directions[i].dot(direction);
|
|
128
|
+
maxIndex = i;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return directionEnum[maxIndex];
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Excalibur's dynamically resizing collection
|
|
135
|
+
* @deprecated Will be removed v0.26.0
|
|
136
|
+
*/
|
|
137
|
+
export class Collection {
|
|
138
|
+
/**
|
|
139
|
+
* @param initialSize Initial size of the internal backing array
|
|
140
|
+
*/
|
|
141
|
+
constructor(initialSize = Collection.DefaultSize) {
|
|
142
|
+
this._internalArray = null;
|
|
143
|
+
this._endPointer = 0;
|
|
144
|
+
this._internalArray = new Array(initialSize);
|
|
145
|
+
}
|
|
146
|
+
_resize() {
|
|
147
|
+
const newSize = this._internalArray.length * 2;
|
|
148
|
+
const newArray = new Array(newSize);
|
|
149
|
+
const count = this.count();
|
|
150
|
+
for (let i = 0; i < count; i++) {
|
|
151
|
+
newArray[i] = this._internalArray[i];
|
|
152
|
+
}
|
|
153
|
+
delete this._internalArray;
|
|
154
|
+
this._internalArray = newArray;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Push elements to the end of the collection
|
|
158
|
+
*/
|
|
159
|
+
push(element) {
|
|
160
|
+
if (this._endPointer === this._internalArray.length) {
|
|
161
|
+
this._resize();
|
|
162
|
+
}
|
|
163
|
+
return (this._internalArray[this._endPointer++] = element);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Removes elements from the end of the collection
|
|
167
|
+
*/
|
|
168
|
+
pop() {
|
|
169
|
+
this._endPointer = this._endPointer - 1 < 0 ? 0 : this._endPointer - 1;
|
|
170
|
+
return this._internalArray[this._endPointer];
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Returns the count of the collection
|
|
174
|
+
*/
|
|
175
|
+
count() {
|
|
176
|
+
return this._endPointer;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Empties the collection
|
|
180
|
+
*/
|
|
181
|
+
clear() {
|
|
182
|
+
this._endPointer = 0;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Returns the size of the internal backing array
|
|
186
|
+
*/
|
|
187
|
+
internalSize() {
|
|
188
|
+
return this._internalArray.length;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Returns an element at a specific index
|
|
192
|
+
* @param index Index of element to retrieve
|
|
193
|
+
*/
|
|
194
|
+
elementAt(index) {
|
|
195
|
+
if (index >= this.count()) {
|
|
196
|
+
//Logger.getInstance().error('Invalid parameter: ' + index);
|
|
197
|
+
throw new Error('Invalid index ' + index);
|
|
198
|
+
}
|
|
199
|
+
return this._internalArray[index];
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Inserts an element at a specific index
|
|
203
|
+
* @param index Index to insert the element
|
|
204
|
+
* @param value Element to insert
|
|
205
|
+
*/
|
|
206
|
+
insert(index, value) {
|
|
207
|
+
if (index >= this.count()) {
|
|
208
|
+
this._resize();
|
|
209
|
+
}
|
|
210
|
+
return (this._internalArray[index] = value);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Removes an element at a specific index
|
|
214
|
+
* @param index Index of element to remove
|
|
215
|
+
*/
|
|
216
|
+
remove(index) {
|
|
217
|
+
const count = this.count();
|
|
218
|
+
if (count === 0) {
|
|
219
|
+
//Logger.getInstance().error('Invalid parameter: ' + index);
|
|
220
|
+
throw new Error('Invalid parameter ' + index);
|
|
221
|
+
}
|
|
222
|
+
// O(n) Shift
|
|
223
|
+
const removed = this._internalArray[index];
|
|
224
|
+
for (let i = index; i < count; i++) {
|
|
225
|
+
this._internalArray[i] = this._internalArray[i + 1];
|
|
226
|
+
}
|
|
227
|
+
this._endPointer--;
|
|
228
|
+
return removed;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Removes an element by reference
|
|
232
|
+
* @param element Element to retrieve
|
|
233
|
+
*/
|
|
234
|
+
removeElement(element) {
|
|
235
|
+
const index = this._internalArray.indexOf(element);
|
|
236
|
+
this.remove(index);
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Returns a array representing the collection
|
|
240
|
+
*/
|
|
241
|
+
toArray() {
|
|
242
|
+
return this._internalArray.slice(0, this._endPointer);
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Iterate over every element in the collection
|
|
246
|
+
* @param func Callback to call for each element passing a reference to the element and its index, returned values are ignored
|
|
247
|
+
*/
|
|
248
|
+
forEach(func) {
|
|
249
|
+
let i = 0;
|
|
250
|
+
const count = this.count();
|
|
251
|
+
for (i; i < count; i++) {
|
|
252
|
+
func.call(this, this._internalArray[i], i);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Mutate every element in the collection
|
|
257
|
+
* @param func Callback to call for each element passing a reference to the element and its index, any values returned mutate
|
|
258
|
+
* the collection
|
|
259
|
+
*/
|
|
260
|
+
map(func) {
|
|
261
|
+
const count = this.count();
|
|
262
|
+
for (let i = 0; i < count; i++) {
|
|
263
|
+
this._internalArray[i] = func.call(this, this._internalArray[i], i);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Default collection size
|
|
269
|
+
*/
|
|
270
|
+
Collection.DefaultSize = 200;
|
|
271
|
+
/**
|
|
272
|
+
* Used for exhaustive checks at compile time
|
|
273
|
+
*/
|
|
274
|
+
export function fail(message) {
|
|
275
|
+
throw new Error(message);
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Create a promise that resolves after a certain number of milliseconds
|
|
279
|
+
*
|
|
280
|
+
* It is strongly recommended you pass the excalibur clock so delays are bound to the
|
|
281
|
+
* excalibur clock which would be unaffected by stop/pause.
|
|
282
|
+
* @param milliseconds
|
|
283
|
+
* @param clock
|
|
284
|
+
*/
|
|
285
|
+
export function delay(milliseconds, clock) {
|
|
286
|
+
var _a;
|
|
287
|
+
const schedule = (_a = clock === null || clock === void 0 ? void 0 : clock.schedule.bind(clock)) !== null && _a !== void 0 ? _a : setTimeout;
|
|
288
|
+
return new Promise(resolve => {
|
|
289
|
+
schedule(() => {
|
|
290
|
+
resolve();
|
|
291
|
+
}, milliseconds);
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
//# sourceMappingURL=Util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Util.js","sourceRoot":"","sources":["../../../src/engine/Util/Util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Watch an object with a proxy, only fires if property value is different
|
|
3
|
+
*/
|
|
4
|
+
export function watch(type, change) {
|
|
5
|
+
if (!type) {
|
|
6
|
+
return type;
|
|
7
|
+
}
|
|
8
|
+
if (type.__isProxy === undefined) {
|
|
9
|
+
// expando hack to mark a proxy
|
|
10
|
+
return new Proxy(type, {
|
|
11
|
+
set: (obj, prop, value) => {
|
|
12
|
+
// The default behavior to store the value
|
|
13
|
+
if (obj[prop] !== value) {
|
|
14
|
+
obj[prop] = value;
|
|
15
|
+
// Avoid watching private junk
|
|
16
|
+
if (typeof prop === 'string') {
|
|
17
|
+
if (prop[0] !== '_') {
|
|
18
|
+
change(obj);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
// Indicate success
|
|
23
|
+
return true;
|
|
24
|
+
},
|
|
25
|
+
get: (obj, prop) => {
|
|
26
|
+
if (prop !== '__isProxy') {
|
|
27
|
+
return obj[prop];
|
|
28
|
+
}
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return type;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Watch an object with a proxy, fires change on any property value change
|
|
37
|
+
*/
|
|
38
|
+
export function watchAny(type, change) {
|
|
39
|
+
if (!type) {
|
|
40
|
+
return type;
|
|
41
|
+
}
|
|
42
|
+
if (type.__isProxy === undefined) {
|
|
43
|
+
// expando hack to mark a proxy
|
|
44
|
+
return new Proxy(type, {
|
|
45
|
+
set: (obj, prop, value) => {
|
|
46
|
+
// The default behavior to store the value
|
|
47
|
+
obj[prop] = value;
|
|
48
|
+
// Avoid watching private junk
|
|
49
|
+
if (typeof prop === 'string') {
|
|
50
|
+
if (prop[0] !== '_') {
|
|
51
|
+
change(obj);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// Indicate success
|
|
55
|
+
return true;
|
|
56
|
+
},
|
|
57
|
+
get: (obj, prop) => {
|
|
58
|
+
if (prop !== '__isProxy') {
|
|
59
|
+
return obj[prop];
|
|
60
|
+
}
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return type;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=Watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Watch.js","sourceRoot":"","sources":["../../../src/engine/Util/Watch.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,KAAK,CAAmB,IAAO,EAAE,MAAwB;IACvE,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IACD,IAAK,IAAY,CAAC,SAAS,KAAK,SAAS,EAAE;QACzC,+BAA+B;QAC/B,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACrB,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;gBACxB,0CAA0C;gBAC1C,IAAK,GAAW,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;oBAC/B,GAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBAC3B,8BAA8B;oBAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;wBAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;4BACnB,MAAM,CAAC,GAAG,CAAC,CAAC;yBACb;qBACF;iBACF;gBACD,mBAAmB;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACjB,IAAI,IAAI,KAAK,WAAW,EAAE;oBACxB,OAAQ,GAAW,CAAC,IAAI,CAAC,CAAC;iBAC3B;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAmB,IAAO,EAAE,MAAwB;IAC1E,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IACD,IAAK,IAAY,CAAC,SAAS,KAAK,SAAS,EAAE;QACzC,+BAA+B;QAC/B,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACrB,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;gBACxB,0CAA0C;gBACzC,GAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBAC3B,8BAA8B;gBAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;wBACnB,MAAM,CAAC,GAAG,CAAC,CAAC;qBACb;iBACF;gBAED,mBAAmB;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACjB,IAAI,IAAI,KAAK,WAAW,EAAE;oBACxB,OAAQ,GAAW,CAAC,IAAI,CAAC,CAAC;iBAC3B;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|