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 @@
|
|
|
1
|
+
{"version":3,"file":"Query.js","sourceRoot":"","sources":["../../../src/engine/EntityComponentSystem/Query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,IAAI,EAA4B,MAAM,IAAI,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,OAAO,KAAuC,SAAQ,UAAuC;IAajG,YAAY,KAAsD;QAChE,KAAK,EAAE,CAAC;QAZF,cAAS,GAAa,EAAE,CAAC;QAa/B,IAAI,KAAK,CAAC,CAAC,CAAC,YAAY,QAAQ,EAAE;YAChC,IAAI,CAAC,KAAK,GAAI,KAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACpE;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,KAAiB,CAAC;SAChC;IACH,CAAC;IAhBD,IAAW,GAAG;QACZ,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,OAAO,IAAI,CAAC,IAAI,CAAC;SAClB;QACD,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAaD;;;;OAIG;IACI,WAAW,CAAC,IAAuC;QACxD,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,MAAc;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAClE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;SACzC;IACH,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,MAAc;QAChC,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3C;IACH,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC3B;IACH,CAAC;IAaM,OAAO,CAAC,aAAgC;QAC7C,IAAI,KAAK,GAAa,EAAE,CAAC;QACzB,IAAI,aAAa,YAAY,MAAM,EAAE;YACnC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;SAC7B;aAAM;YACL,KAAK,GAAG,aAAa,CAAC;SACvB;QAED,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,OAAO,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { buildTypeKey } from './Util';
|
|
2
|
+
import { Query } from './Query';
|
|
3
|
+
/**
|
|
4
|
+
* The query manager is responsible for updating all queries when entities/components change
|
|
5
|
+
*/
|
|
6
|
+
export class QueryManager {
|
|
7
|
+
constructor(_world) {
|
|
8
|
+
this._world = _world;
|
|
9
|
+
this._queries = {};
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Adds a query to the manager and populates with any entities that match
|
|
13
|
+
* @param query
|
|
14
|
+
*/
|
|
15
|
+
_addQuery(query) {
|
|
16
|
+
this._queries[buildTypeKey(query.types)] = query;
|
|
17
|
+
for (const entity of this._world.entityManager.entities) {
|
|
18
|
+
query.addEntity(entity);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Removes the query if there are no observers left
|
|
23
|
+
* @param query
|
|
24
|
+
*/
|
|
25
|
+
maybeRemoveQuery(query) {
|
|
26
|
+
if (query.observers.length === 0) {
|
|
27
|
+
query.clear();
|
|
28
|
+
delete this._queries[buildTypeKey(query.types)];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Adds the entity to any matching query in the query manage
|
|
33
|
+
* @param entity
|
|
34
|
+
*/
|
|
35
|
+
addEntity(entity) {
|
|
36
|
+
for (const queryType in this._queries) {
|
|
37
|
+
if (this._queries[queryType]) {
|
|
38
|
+
this._queries[queryType].addEntity(entity);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Removes an entity from queries if the removed component disqualifies it
|
|
44
|
+
* @param entity
|
|
45
|
+
* @param component
|
|
46
|
+
*/
|
|
47
|
+
removeComponent(entity, component) {
|
|
48
|
+
for (const queryType in this._queries) {
|
|
49
|
+
// If the component being removed from an entity is a part of a query,
|
|
50
|
+
// it is now disqualified from that query, remove it
|
|
51
|
+
if (this._queries[queryType].contain(component.type)) {
|
|
52
|
+
this._queries[queryType].removeEntity(entity);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Removes an entity from all queries it is currently a part of
|
|
58
|
+
* @param entity
|
|
59
|
+
*/
|
|
60
|
+
removeEntity(entity) {
|
|
61
|
+
for (const queryType in this._queries) {
|
|
62
|
+
this._queries[queryType].removeEntity(entity);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Creates a populated query and returns, if the query already exists that will be returned instead of a new instance
|
|
67
|
+
* @param types
|
|
68
|
+
*/
|
|
69
|
+
createQuery(types) {
|
|
70
|
+
const maybeExistingQuery = this.getQuery(types);
|
|
71
|
+
if (maybeExistingQuery) {
|
|
72
|
+
return maybeExistingQuery;
|
|
73
|
+
}
|
|
74
|
+
const query = new Query(types);
|
|
75
|
+
this._addQuery(query);
|
|
76
|
+
return query;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Retrieves an existing query by types if it exists otherwise returns null
|
|
80
|
+
* @param types
|
|
81
|
+
*/
|
|
82
|
+
getQuery(types) {
|
|
83
|
+
const key = buildTypeKey(types);
|
|
84
|
+
if (this._queries[key]) {
|
|
85
|
+
return this._queries[key];
|
|
86
|
+
}
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=QueryManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryManager.js","sourceRoot":"","sources":["../../../src/engine/EntityComponentSystem/QueryManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC;;GAEG;AACH,MAAM,OAAO,YAAY;IAGvB,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAF9B,aAAQ,GAAiD,EAAE,CAAC;IAE3B,CAAC;IAE1C;;;OAGG;IACK,SAAS,CAAC,KAAiB;QACjC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;QACjD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE;YACvD,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SACzB;IACH,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,KAAY;QAClC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;SACjD;IACH,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,MAAc;QAC7B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;YACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aAC5C;SACF;IACH,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,MAAc,EAAE,SAAoB;QACzD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;YACrC,sEAAsE;YACtE,oDAAoD;YACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACpD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;aAC/C;SACF;IACH,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,MAAc;QAChC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SAC/C;IACH,CAAC;IAED;;;OAGG;IACI,WAAW,CAAkC,KAAwB;QAC1E,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAI,KAAK,CAAC,CAAC;QACnD,IAAI,kBAAkB,EAAE;YACtB,OAAO,kBAAkB,CAAC;SAC3B;QACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAI,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAkC,KAAwB;QACvE,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAa,CAAC;SACvC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum that determines whether to run the system in the update or draw phase
|
|
3
|
+
*/
|
|
4
|
+
export var SystemType;
|
|
5
|
+
(function (SystemType) {
|
|
6
|
+
SystemType["Update"] = "update";
|
|
7
|
+
SystemType["Draw"] = "draw";
|
|
8
|
+
})(SystemType || (SystemType = {}));
|
|
9
|
+
/**
|
|
10
|
+
* An Excalibur [[System]] that updates entities of certain types.
|
|
11
|
+
* Systems are scene specific
|
|
12
|
+
*
|
|
13
|
+
* Excalibur Systems currently require at least 1 Component type to operated
|
|
14
|
+
*
|
|
15
|
+
* Multiple types are declared as a type union
|
|
16
|
+
* For example:
|
|
17
|
+
*
|
|
18
|
+
* ```typescript
|
|
19
|
+
* class MySystem extends System<ComponentA | ComponentB> {
|
|
20
|
+
* public readonly types = ['a', 'b'] as const;
|
|
21
|
+
* public readonly systemType = SystemType.Update;
|
|
22
|
+
* public update(entities: Entity<ComponentA | ComponentB>) {
|
|
23
|
+
* ...
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export class System {
|
|
29
|
+
constructor() {
|
|
30
|
+
/**
|
|
31
|
+
* System can execute in priority order, by default all systems are priority 0. Lower values indicated higher priority.
|
|
32
|
+
* For a system to execute before all other a lower priority value (-1 for example) must be set.
|
|
33
|
+
* For a system to execute after all other a higher priority value (10 for example) must be set.
|
|
34
|
+
*/
|
|
35
|
+
this.priority = 0;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Systems observe when entities match their types or no longer match their types, override
|
|
39
|
+
* @param _entityAddedOrRemoved
|
|
40
|
+
*/
|
|
41
|
+
notify(_entityAddedOrRemoved) {
|
|
42
|
+
// Override me
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* An [[Entity]] with [[Component]] types that matches a [[System]] types exists in the current scene.
|
|
47
|
+
*/
|
|
48
|
+
export class AddedEntity {
|
|
49
|
+
constructor(data) {
|
|
50
|
+
this.data = data;
|
|
51
|
+
this.type = 'Entity Added';
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Type guard to check for AddedEntity messages
|
|
56
|
+
* @param x
|
|
57
|
+
*/
|
|
58
|
+
export function isAddedSystemEntity(x) {
|
|
59
|
+
return !!x && x.type === 'Entity Added';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* An [[Entity]] with [[Component]] types that no longer matches a [[System]] types exists in the current scene.
|
|
63
|
+
*/
|
|
64
|
+
export class RemovedEntity {
|
|
65
|
+
constructor(data) {
|
|
66
|
+
this.data = data;
|
|
67
|
+
this.type = 'Entity Removed';
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* type guard to check for the RemovedEntity message
|
|
72
|
+
*/
|
|
73
|
+
export function isRemoveSystemEntity(x) {
|
|
74
|
+
return !!x && x.type === 'Entity Removed';
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=System.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"System.js","sourceRoot":"","sources":["../../../src/engine/EntityComponentSystem/System.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,2BAAa,CAAA;AACf,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAgB,MAAM;IAA5B;QAaE;;;;WAIG;QACI,aAAQ,GAAW,CAAC,CAAC;IA2C9B,CAAC;IAPC;;;OAGG;IACI,MAAM,CAAC,qBAAkD;QAC9D,cAAc;IAChB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,WAAW;IAEtB,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QADtB,SAAI,GAAmB,cAAc,CAAC;IACb,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAkB;IACpD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,aAAa;IAExB,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QADtB,SAAI,GAAqB,gBAAgB,CAAC;IACjB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,CAAkB;IACrD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Scene, Util } from '..';
|
|
2
|
+
/**
|
|
3
|
+
* The SystemManager is responsible for keeping track of all systems in a scene.
|
|
4
|
+
* Systems are scene specific
|
|
5
|
+
*/
|
|
6
|
+
export class SystemManager {
|
|
7
|
+
constructor(_world) {
|
|
8
|
+
this._world = _world;
|
|
9
|
+
/**
|
|
10
|
+
* List of systems, to add a new system call [[SystemManager.addSystem]]
|
|
11
|
+
*/
|
|
12
|
+
this.systems = [];
|
|
13
|
+
this.initialized = false;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get a system registered in the manager by type
|
|
17
|
+
* @param systemType
|
|
18
|
+
*/
|
|
19
|
+
get(systemType) {
|
|
20
|
+
return this.systems.find((s) => s instanceof systemType);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Adds a system to the manager, it will now be updated every frame
|
|
24
|
+
* @param system
|
|
25
|
+
*/
|
|
26
|
+
addSystem(system) {
|
|
27
|
+
// validate system has types
|
|
28
|
+
if (!system.types || system.types.length === 0) {
|
|
29
|
+
throw new Error(`Attempted to add a System without any types`);
|
|
30
|
+
}
|
|
31
|
+
const query = this._world.queryManager.createQuery(system.types);
|
|
32
|
+
this.systems.push(system);
|
|
33
|
+
this.systems.sort((a, b) => a.priority - b.priority);
|
|
34
|
+
query.register(system);
|
|
35
|
+
if (this.initialized && system.initialize) {
|
|
36
|
+
system.initialize(this._world.context);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Removes a system from the manager, it will no longer be updated
|
|
41
|
+
* @param system
|
|
42
|
+
*/
|
|
43
|
+
removeSystem(system) {
|
|
44
|
+
Util.removeItemFromArray(system, this.systems);
|
|
45
|
+
const query = this._world.queryManager.getQuery(system.types);
|
|
46
|
+
if (query) {
|
|
47
|
+
query.unregister(system);
|
|
48
|
+
this._world.queryManager.maybeRemoveQuery(query);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Initialize all systems in the manager
|
|
53
|
+
*
|
|
54
|
+
* Systems added after initialize() will be initialized on add
|
|
55
|
+
*/
|
|
56
|
+
initialize() {
|
|
57
|
+
if (!this.initialized) {
|
|
58
|
+
this.initialized = true;
|
|
59
|
+
for (const s of this.systems) {
|
|
60
|
+
if (s.initialize) {
|
|
61
|
+
s.initialize(this._world.context);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Updates all systems
|
|
68
|
+
* @param type whether this is an update or draw system
|
|
69
|
+
* @param context context reference
|
|
70
|
+
* @param delta time in milliseconds
|
|
71
|
+
*/
|
|
72
|
+
updateSystems(type, context, delta) {
|
|
73
|
+
const systems = this.systems.filter((s) => s.systemType === type);
|
|
74
|
+
for (const s of systems) {
|
|
75
|
+
if (s.preupdate) {
|
|
76
|
+
s.preupdate(context, delta);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
for (const s of systems) {
|
|
80
|
+
// Get entities that match the system types, pre-sort
|
|
81
|
+
const entities = this._world.queryManager.getQuery(s.types).getEntities(s.sort);
|
|
82
|
+
// Initialize entities if needed
|
|
83
|
+
if (context instanceof Scene) {
|
|
84
|
+
for (const entity of entities) {
|
|
85
|
+
entity._initialize(context === null || context === void 0 ? void 0 : context.engine);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
s.update(entities, delta);
|
|
89
|
+
}
|
|
90
|
+
for (const s of systems) {
|
|
91
|
+
if (s.postupdate) {
|
|
92
|
+
s.postupdate(context, delta);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
clear() {
|
|
97
|
+
for (const system of this.systems) {
|
|
98
|
+
this.removeSystem(system);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=SystemManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SystemManager.js","sourceRoot":"","sources":["../../../src/engine/EntityComponentSystem/SystemManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Util.js","sourceRoot":"","sources":["../../../src/engine/EntityComponentSystem/Util.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,EAAE;IACvD,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Entity } from './Entity';
|
|
2
|
+
import { EntityManager } from './EntityManager';
|
|
3
|
+
import { QueryManager } from './QueryManager';
|
|
4
|
+
import { System, SystemType } from './System';
|
|
5
|
+
import { SystemManager } from './SystemManager';
|
|
6
|
+
/**
|
|
7
|
+
* The World is a self-contained entity component system for a particular context.
|
|
8
|
+
*/
|
|
9
|
+
export class World {
|
|
10
|
+
/**
|
|
11
|
+
* The context type is passed to the system updates
|
|
12
|
+
* @param context
|
|
13
|
+
*/
|
|
14
|
+
constructor(context) {
|
|
15
|
+
this.context = context;
|
|
16
|
+
this.queryManager = new QueryManager(this);
|
|
17
|
+
this.entityManager = new EntityManager(this);
|
|
18
|
+
this.systemManager = new SystemManager(this);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Update systems by type and time elapsed in milliseconds
|
|
22
|
+
*/
|
|
23
|
+
update(type, delta) {
|
|
24
|
+
if (type === SystemType.Update) {
|
|
25
|
+
this.entityManager.updateEntities(this.context, delta);
|
|
26
|
+
}
|
|
27
|
+
this.systemManager.updateSystems(type, this.context, delta);
|
|
28
|
+
this.entityManager.findEntitiesForRemoval();
|
|
29
|
+
this.entityManager.processComponentRemovals();
|
|
30
|
+
this.entityManager.processEntityRemovals();
|
|
31
|
+
}
|
|
32
|
+
add(entityOrSystem) {
|
|
33
|
+
if (entityOrSystem instanceof Entity) {
|
|
34
|
+
this.entityManager.addEntity(entityOrSystem);
|
|
35
|
+
}
|
|
36
|
+
if (entityOrSystem instanceof System) {
|
|
37
|
+
this.systemManager.addSystem(entityOrSystem);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
remove(entityOrSystem, deferred = true) {
|
|
41
|
+
if (entityOrSystem instanceof Entity) {
|
|
42
|
+
this.entityManager.removeEntity(entityOrSystem, deferred);
|
|
43
|
+
}
|
|
44
|
+
if (entityOrSystem instanceof System) {
|
|
45
|
+
this.systemManager.removeSystem(entityOrSystem);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
clearEntities() {
|
|
49
|
+
this.entityManager.clear();
|
|
50
|
+
}
|
|
51
|
+
clearSystems() {
|
|
52
|
+
this.systemManager.clear();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=World.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"World.js","sourceRoot":"","sources":["../../../src/engine/EntityComponentSystem/World.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,OAAO,KAAK;IAKhB;;;OAGG;IACH,YAAmB,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QARhC,iBAAY,GAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACpD,kBAAa,GAA+B,IAAI,aAAa,CAAc,IAAI,CAAC,CAAC;QACjF,kBAAa,GAA+B,IAAI,aAAa,CAAc,IAAI,CAAC,CAAC;IAM9C,CAAC;IAE3C;;OAEG;IACH,MAAM,CAAC,IAAgB,EAAE,KAAa;QACpC,IAAI,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE;YAC9B,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACxD;QACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE,CAAC;QAC9C,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;IAC7C,CAAC;IAYD,GAAG,CAAC,cAAiD;QACnD,IAAI,cAAc,YAAY,MAAM,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;SAC9C;QAED,IAAI,cAAc,YAAY,MAAM,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;SAC9C;IACH,CAAC;IAYD,MAAM,CAAC,cAAiD,EAAE,QAAQ,GAAG,IAAI;QACvE,IAAI,cAAc,YAAY,MAAM,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;SAC3D;QAED,IAAI,cAAc,YAAY,MAAM,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;SACjD;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './Component';
|
|
2
|
+
export * from './Entity';
|
|
3
|
+
export * from './EntityManager';
|
|
4
|
+
export * from './Query';
|
|
5
|
+
export * from './QueryManager';
|
|
6
|
+
export * from './System';
|
|
7
|
+
export * from './SystemManager';
|
|
8
|
+
export * from './World';
|
|
9
|
+
export * from './Components/TransformComponent';
|
|
10
|
+
export * from './Components/MotionComponent';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/EntityComponentSystem/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AAExB,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { GameEvent, SubscribeEvent, UnsubscribeEvent } from './Events';
|
|
2
|
+
export class EventDispatcher {
|
|
3
|
+
constructor() {
|
|
4
|
+
this._handlers = {};
|
|
5
|
+
this._wiredEventDispatchers = [];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Clears any existing handlers or wired event dispatchers on this event dispatcher
|
|
9
|
+
*/
|
|
10
|
+
clear() {
|
|
11
|
+
this._handlers = {};
|
|
12
|
+
this._wiredEventDispatchers = [];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Emits an event for target
|
|
16
|
+
* @param eventName The name of the event to publish
|
|
17
|
+
* @param event Optionally pass an event data object to the handler
|
|
18
|
+
*/
|
|
19
|
+
emit(eventName, event) {
|
|
20
|
+
if (!eventName) {
|
|
21
|
+
// key not mapped
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
eventName = eventName.toLowerCase();
|
|
25
|
+
if (!event) {
|
|
26
|
+
event = new GameEvent();
|
|
27
|
+
}
|
|
28
|
+
let i, len;
|
|
29
|
+
if (this._handlers[eventName]) {
|
|
30
|
+
i = 0;
|
|
31
|
+
len = this._handlers[eventName].length;
|
|
32
|
+
for (i; i < len; i++) {
|
|
33
|
+
this._handlers[eventName][i](event);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
i = 0;
|
|
37
|
+
len = this._wiredEventDispatchers.length;
|
|
38
|
+
for (i; i < len; i++) {
|
|
39
|
+
this._wiredEventDispatchers[i].emit(eventName, event);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Subscribe an event handler to a particular event name, multiple handlers per event name are allowed.
|
|
44
|
+
* @param eventName The name of the event to subscribe to
|
|
45
|
+
* @param handler The handler callback to fire on this event
|
|
46
|
+
*/
|
|
47
|
+
on(eventName, handler) {
|
|
48
|
+
eventName = eventName.toLowerCase();
|
|
49
|
+
if (!this._handlers[eventName]) {
|
|
50
|
+
this._handlers[eventName] = [];
|
|
51
|
+
}
|
|
52
|
+
this._handlers[eventName].push(handler);
|
|
53
|
+
// meta event handlers
|
|
54
|
+
if (eventName !== 'unsubscribe' && eventName !== 'subscribe') {
|
|
55
|
+
this.emit('subscribe', new SubscribeEvent(eventName, handler));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Unsubscribe an event handler(s) from an event. If a specific handler
|
|
60
|
+
* is specified for an event, only that handler will be unsubscribed.
|
|
61
|
+
* Otherwise all handlers will be unsubscribed for that event.
|
|
62
|
+
*
|
|
63
|
+
* @param eventName The name of the event to unsubscribe
|
|
64
|
+
* @param handler Optionally the specific handler to unsubscribe
|
|
65
|
+
*/
|
|
66
|
+
off(eventName, handler) {
|
|
67
|
+
eventName = eventName.toLowerCase();
|
|
68
|
+
const eventHandlers = this._handlers[eventName];
|
|
69
|
+
if (eventHandlers) {
|
|
70
|
+
// if no explicit handler is give with the event name clear all handlers
|
|
71
|
+
if (!handler) {
|
|
72
|
+
this._handlers[eventName].length = 0;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
const index = eventHandlers.indexOf(handler);
|
|
76
|
+
this._handlers[eventName].splice(index, 1);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// meta event handlers
|
|
80
|
+
if (eventName !== 'unsubscribe' && eventName !== 'subscribe') {
|
|
81
|
+
this.emit('unsubscribe', new UnsubscribeEvent(eventName, handler));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Once listens to an event one time, then unsubscribes from that event
|
|
86
|
+
*
|
|
87
|
+
* @param eventName The name of the event to subscribe to once
|
|
88
|
+
* @param handler The handler of the event that will be auto unsubscribed
|
|
89
|
+
*/
|
|
90
|
+
once(eventName, handler) {
|
|
91
|
+
const metaHandler = (event) => {
|
|
92
|
+
const ev = event || new GameEvent();
|
|
93
|
+
this.off(eventName, handler);
|
|
94
|
+
handler(ev);
|
|
95
|
+
};
|
|
96
|
+
this.on(eventName, metaHandler);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Wires this event dispatcher to also receive events from another
|
|
100
|
+
*/
|
|
101
|
+
wire(eventDispatcher) {
|
|
102
|
+
eventDispatcher._wiredEventDispatchers.push(this);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Unwires this event dispatcher from another
|
|
106
|
+
*/
|
|
107
|
+
unwire(eventDispatcher) {
|
|
108
|
+
const index = eventDispatcher._wiredEventDispatchers.indexOf(this);
|
|
109
|
+
if (index > -1) {
|
|
110
|
+
eventDispatcher._wiredEventDispatchers.splice(index, 1);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=EventDispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventDispatcher.js","sourceRoot":"","sources":["../../src/engine/EventDispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExEvent.js","sourceRoot":"","sources":["../../../src/engine/Events/ExEvent.ts"],"names":[],"mappings":"AACA,MAAM,OAAgB,OAAO;IAA7B;QAGU,YAAO,GAAG,IAAI,CAAC;IAOzB,CAAC;IANC,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACM,MAAM;QACX,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { GameEvent } from '../Events';
|
|
2
|
+
export class MediaEvent extends GameEvent {
|
|
3
|
+
constructor(target, _name = 'MediaEvent') {
|
|
4
|
+
super();
|
|
5
|
+
this.target = target;
|
|
6
|
+
this._name = _name;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Media event cannot bubble
|
|
10
|
+
*/
|
|
11
|
+
set bubbles(_value) {
|
|
12
|
+
// stubbed
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Media event cannot bubble
|
|
16
|
+
*/
|
|
17
|
+
get bubbles() {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Media event cannot bubble, so they have no path
|
|
22
|
+
*/
|
|
23
|
+
get _path() {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Media event cannot bubble, so they have no path
|
|
28
|
+
*/
|
|
29
|
+
set _path(_val) {
|
|
30
|
+
// stubbed
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Prevents event from bubbling
|
|
34
|
+
*/
|
|
35
|
+
stopPropagation() {
|
|
36
|
+
/**
|
|
37
|
+
* Stub
|
|
38
|
+
*/
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Action, that calls when event happens
|
|
42
|
+
*/
|
|
43
|
+
action() {
|
|
44
|
+
/**
|
|
45
|
+
* Stub
|
|
46
|
+
*/
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Propagate event further through event path
|
|
50
|
+
*/
|
|
51
|
+
propagate() {
|
|
52
|
+
/**
|
|
53
|
+
* Stub
|
|
54
|
+
*/
|
|
55
|
+
}
|
|
56
|
+
layPath(_actor) {
|
|
57
|
+
/**
|
|
58
|
+
* Stub
|
|
59
|
+
*/
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export class NativeSoundEvent extends MediaEvent {
|
|
63
|
+
constructor(target, track) {
|
|
64
|
+
super(target, 'NativeSoundEvent');
|
|
65
|
+
this.track = track;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export class NativeSoundProcessedEvent extends MediaEvent {
|
|
69
|
+
constructor(target, _processedData) {
|
|
70
|
+
super(target, 'NativeSoundProcessedEvent');
|
|
71
|
+
this._processedData = _processedData;
|
|
72
|
+
this.data = this._processedData;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=MediaEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaEvents.js","sourceRoot":"","sources":["../../../src/engine/Events/MediaEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAKtC,MAAM,OAAO,UAAW,SAAQ,SAAgB;IA0B9C,YAAmB,MAAa,EAAY,QAAgB,YAAY;QACtE,KAAK,EAAE,CAAC;QADS,WAAM,GAAN,MAAM,CAAO;QAAY,UAAK,GAAL,KAAK,CAAuB;IAExE,CAAC;IA3BD;;OAEG;IACH,IAAW,OAAO,CAAC,MAAe;QAChC,UAAU;IACZ,CAAC;IACD;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD;;OAEG;IACH,IAAc,KAAK;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;OAEG;IACH,IAAc,KAAK,CAAC,IAAa;QAC/B,UAAU;IACZ,CAAC;IAMD;;OAEG;IACI,eAAe;QACpB;;WAEG;IACL,CAAC;IACD;;OAEG;IACI,MAAM;QACX;;WAEG;IACL,CAAC;IACD;;OAEG;IACI,SAAS;QACd;;WAEG;IACL,CAAC;IAEM,OAAO,CAAC,MAAa;QAC1B;;WAEG;IACL,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC9C,YAAY,MAAa,EAAS,KAAwB;QACxD,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QADF,UAAK,GAAL,KAAK,CAAmB;IAE1D,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,UAAU;IAGvD,YAAY,MAAa,EAAU,cAAoC;QACrE,KAAK,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;QADV,mBAAc,GAAd,cAAc,CAAsB;QAGrE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;IAClC,CAAC;CACF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ExEvent } from './ExEvent';
|
|
2
|
+
export class PointerEvent extends ExEvent {
|
|
3
|
+
constructor(pointerId, coordinates, nativeEvent) {
|
|
4
|
+
super();
|
|
5
|
+
this.pointerId = pointerId;
|
|
6
|
+
this.coordinates = coordinates;
|
|
7
|
+
this.nativeEvent = nativeEvent;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export class PointerUp extends PointerEvent {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.type = 'up';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export class PointerDown extends PointerEvent {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.type = 'down';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class PointerMove extends PointerEvent {
|
|
23
|
+
constructor() {
|
|
24
|
+
super(...arguments);
|
|
25
|
+
this.type = 'move';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class PointerCancel extends PointerEvent {
|
|
29
|
+
constructor() {
|
|
30
|
+
super(...arguments);
|
|
31
|
+
this.type = 'cancel';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export class Wheel extends ExEvent {
|
|
35
|
+
constructor(x, y, pageX, pageY, screenX, screenY, index, deltaX, deltaY, deltaZ, deltaMode, ev) {
|
|
36
|
+
super();
|
|
37
|
+
this.x = x;
|
|
38
|
+
this.y = y;
|
|
39
|
+
this.pageX = pageX;
|
|
40
|
+
this.pageY = pageY;
|
|
41
|
+
this.screenX = screenX;
|
|
42
|
+
this.screenY = screenY;
|
|
43
|
+
this.index = index;
|
|
44
|
+
this.deltaX = deltaX;
|
|
45
|
+
this.deltaY = deltaY;
|
|
46
|
+
this.deltaZ = deltaZ;
|
|
47
|
+
this.deltaMode = deltaMode;
|
|
48
|
+
this.ev = ev;
|
|
49
|
+
this.type = 'wheel';
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=PointerEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PointerEvents.js","sourceRoot":"","sources":["../../../src/engine/Events/PointerEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,OAAgB,YAAa,SAAQ,OAA0C;IACnF,YACS,SAAiB,EACjB,WAA8B,EAC9B,WAAkB;QACzB,KAAK,EAAE,CAAC;QAHD,cAAS,GAAT,SAAS,CAAQ;QACjB,gBAAW,GAAX,WAAW,CAAmB;QAC9B,gBAAW,GAAX,WAAW,CAAO;IAE3B,CAAC;CACF;AACD,MAAM,OAAO,SAAU,SAAQ,YAAY;IAA3C;;QACkB,SAAI,GAAG,IAAI,CAAC;IAC9B,CAAC;CAAA;AACD,MAAM,OAAO,WAAY,SAAQ,YAAY;IAA7C;;QACkB,SAAI,GAAG,MAAM,CAAC;IAChC,CAAC;CAAA;AACD,MAAM,OAAO,WAAY,SAAQ,YAAY;IAA7C;;QACkB,SAAI,GAAG,MAAM,CAAC;IAChC,CAAC;CAAA;AACD,MAAM,OAAO,aAAc,SAAQ,YAAY;IAA/C;;QACkB,SAAI,GAAG,QAAQ,CAAC;IAClC,CAAC;CAAA;AAED,MAAM,OAAO,KAAM,SAAQ,OAAgB;IAEzC,YACS,CAAS,EACT,CAAS,EACT,KAAa,EACb,KAAa,EACb,OAAe,EACf,OAAe,EACf,KAAa,EACb,MAAc,EACd,MAAc,EACd,MAAc,EACd,SAAyB,EACzB,EAAS;QAEhB,KAAK,EAAE,CAAC;QAbD,MAAC,GAAD,CAAC,CAAQ;QACT,MAAC,GAAD,CAAC,CAAQ;QACT,UAAK,GAAL,KAAK,CAAQ;QACb,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAQ;QACf,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAgB;QACzB,OAAE,GAAF,EAAE,CAAO;QAbF,SAAI,GAAG,OAAO,CAAC;IAgB/B,CAAC;CACF"}
|