excalibur 0.26.0-alpha.288 → 0.26.0-alpha.292

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.
Files changed (109) hide show
  1. package/CHANGELOG.md +26 -28
  2. package/build/dist/Actor.d.ts +23 -30
  3. package/build/dist/Actor.js +11 -59
  4. package/build/dist/Actor.js.map +1 -1
  5. package/build/dist/Class.d.ts +4 -5
  6. package/build/dist/Class.js.map +1 -1
  7. package/build/dist/Engine.js +4 -4
  8. package/build/dist/Engine.js.map +1 -1
  9. package/build/dist/Events/ExEvent.d.ts +6 -0
  10. package/build/dist/Events/ExEvent.js +12 -0
  11. package/build/dist/Events/ExEvent.js.map +1 -0
  12. package/build/dist/Events/PointerEvents.d.ts +37 -0
  13. package/build/dist/Events/PointerEvents.js +52 -0
  14. package/build/dist/Events/PointerEvents.js.map +1 -0
  15. package/build/dist/Input/EngineInput.d.ts +2 -2
  16. package/build/dist/Input/Index.d.ts +10 -3
  17. package/build/dist/Input/Index.js +10 -3
  18. package/build/dist/Input/Index.js.map +1 -1
  19. package/build/dist/Input/NativePointerButton.d.ts +10 -0
  20. package/build/dist/Input/NativePointerButton.js +12 -0
  21. package/build/dist/Input/NativePointerButton.js.map +1 -0
  22. package/build/dist/Input/PointerAbstraction.d.ts +33 -0
  23. package/build/dist/Input/PointerAbstraction.js +41 -0
  24. package/build/dist/Input/PointerAbstraction.js.map +1 -0
  25. package/build/dist/Input/PointerButton.d.ts +10 -0
  26. package/build/dist/Input/PointerButton.js +12 -0
  27. package/build/dist/Input/PointerButton.js.map +1 -0
  28. package/build/dist/Input/PointerComponent.d.ts +24 -0
  29. package/build/dist/Input/PointerComponent.js +28 -0
  30. package/build/dist/Input/PointerComponent.js.map +1 -0
  31. package/build/dist/Input/PointerEvent.d.ts +18 -0
  32. package/build/dist/Input/PointerEvent.js +25 -0
  33. package/build/dist/Input/PointerEvent.js.map +1 -0
  34. package/build/dist/Input/PointerEventReceiver.d.ts +114 -0
  35. package/build/dist/Input/PointerEventReceiver.js +385 -0
  36. package/build/dist/Input/PointerEventReceiver.js.map +1 -0
  37. package/build/dist/Input/PointerScope.d.ts +14 -0
  38. package/build/dist/Input/PointerScope.js +16 -0
  39. package/build/dist/Input/PointerScope.js.map +1 -0
  40. package/build/dist/Input/PointerSystem.d.ts +35 -0
  41. package/build/dist/Input/PointerSystem.js +208 -0
  42. package/build/dist/Input/PointerSystem.js.map +1 -0
  43. package/build/dist/Input/PointerType.d.ts +9 -0
  44. package/build/dist/Input/PointerType.js +11 -0
  45. package/build/dist/Input/PointerType.js.map +1 -0
  46. package/build/dist/Input/WheelDeltaMode.d.ts +5 -0
  47. package/build/dist/Input/WheelDeltaMode.js +7 -0
  48. package/build/dist/Input/WheelDeltaMode.js.map +1 -0
  49. package/build/dist/Input/WheelEvent.d.ts +18 -0
  50. package/build/dist/Input/WheelEvent.js +21 -0
  51. package/build/dist/Input/WheelEvent.js.map +1 -0
  52. package/build/dist/Interfaces/PointerEventHandlers.d.ts +17 -16
  53. package/build/dist/Scene.js +2 -2
  54. package/build/dist/Scene.js.map +1 -1
  55. package/build/dist/ScreenElement.js +0 -4
  56. package/build/dist/ScreenElement.js.map +1 -1
  57. package/build/dist/Traits/Index.d.ts +0 -1
  58. package/build/dist/Traits/Index.js +0 -1
  59. package/build/dist/Traits/Index.js.map +1 -1
  60. package/build/dist/excalibur.js +1250 -1465
  61. package/build/dist/excalibur.js.map +1 -1
  62. package/build/dist/excalibur.min.js +1 -1
  63. package/build/dist/excalibur.min.js.LICENSE.txt +1 -1
  64. package/build/dist/excalibur.min.js.map +1 -1
  65. package/build/dist/index.d.ts +1 -0
  66. package/build/dist/index.js +3 -2
  67. package/build/dist/index.js.map +1 -1
  68. package/build/esm/Actor.d.ts +23 -30
  69. package/build/esm/Class.d.ts +4 -5
  70. package/build/esm/Events/ExEvent.d.ts +6 -0
  71. package/build/esm/Events/PointerEvents.d.ts +37 -0
  72. package/build/esm/Input/EngineInput.d.ts +2 -2
  73. package/build/esm/Input/Index.d.ts +10 -3
  74. package/build/esm/Input/NativePointerButton.d.ts +10 -0
  75. package/build/esm/Input/PointerAbstraction.d.ts +33 -0
  76. package/build/esm/Input/PointerButton.d.ts +10 -0
  77. package/build/esm/Input/PointerComponent.d.ts +24 -0
  78. package/build/esm/Input/PointerEvent.d.ts +18 -0
  79. package/build/esm/Input/PointerEventReceiver.d.ts +114 -0
  80. package/build/esm/Input/PointerScope.d.ts +14 -0
  81. package/build/esm/Input/PointerSystem.d.ts +35 -0
  82. package/build/esm/Input/PointerType.d.ts +9 -0
  83. package/build/esm/Input/WheelDeltaMode.d.ts +5 -0
  84. package/build/esm/Input/WheelEvent.d.ts +18 -0
  85. package/build/esm/Interfaces/PointerEventHandlers.d.ts +17 -16
  86. package/build/esm/Traits/Index.d.ts +0 -1
  87. package/build/esm/excalibur.js +1252 -1466
  88. package/build/esm/excalibur.js.map +1 -1
  89. package/build/esm/excalibur.min.js +1 -1
  90. package/build/esm/excalibur.min.js.LICENSE.txt +1 -1
  91. package/build/esm/excalibur.min.js.map +1 -1
  92. package/build/esm/index.d.ts +1 -0
  93. package/package.json +1 -1
  94. package/build/dist/Input/Pointer.d.ts +0 -134
  95. package/build/dist/Input/Pointer.js +0 -205
  96. package/build/dist/Input/Pointer.js.map +0 -1
  97. package/build/dist/Input/PointerEvents.d.ts +0 -170
  98. package/build/dist/Input/PointerEvents.js +0 -309
  99. package/build/dist/Input/PointerEvents.js.map +0 -1
  100. package/build/dist/Input/Pointers.d.ts +0 -78
  101. package/build/dist/Input/Pointers.js +0 -405
  102. package/build/dist/Input/Pointers.js.map +0 -1
  103. package/build/dist/Traits/CapturePointer.d.ts +0 -10
  104. package/build/dist/Traits/CapturePointer.js +0 -16
  105. package/build/dist/Traits/CapturePointer.js.map +0 -1
  106. package/build/esm/Input/Pointer.d.ts +0 -134
  107. package/build/esm/Input/PointerEvents.d.ts +0 -170
  108. package/build/esm/Input/Pointers.d.ts +0 -78
  109. package/build/esm/Traits/CapturePointer.d.ts +0 -10
package/CHANGELOG.md CHANGED
@@ -8,15 +8,18 @@ This project adheres to [Semantic Versioning](http://semver.org/).
8
8
  ### Breaking Changes
9
9
 
10
10
  -
11
+
11
12
  ### Deprecated
12
13
 
13
14
  -
14
15
 
15
16
  ### Added
16
17
 
18
+ - Pointers can now be configured to use the collider or the graphics bounds as the target for pointers with the `ex.PointerComponent`
19
+ - `useColliderShape` - (default true) uses the collider component geometry for pointer events
20
+ - `useGraphicsBounds` - (default false) uses the graphics bounds for pointer events
17
21
  -
18
22
 
19
-
20
23
  ### Fixed
21
24
 
22
25
  -
@@ -27,17 +30,18 @@ This project adheres to [Semantic Versioning](http://semver.org/).
27
30
 
28
31
  ### Changed
29
32
 
33
+ - Pointer Events:
34
+ * Event types (up, down, move, etc) now all exist in 2 types `ex.Input.PointerEvent` and `ex.Input.WheelEvent`
35
+ * The `stopPropagation()` method used to cancel further dispatches has been renamed to `cancel()` to match other events API.
36
+ * Events no longer have a reference to the `pointer` but now have all of the same information that was availabe on the pointer `worldPos`, `screenPos`, `pagePos`
30
37
  -
31
38
 
32
-
33
39
  <!--------------------------------- DO NOT EDIT BELOW THIS LINE --------------------------------->
34
40
  <!--------------------------------- DO NOT EDIT BELOW THIS LINE --------------------------------->
35
41
  <!--------------------------------- DO NOT EDIT BELOW THIS LINE --------------------------------->
36
- ## [v0.25.1] - 2021-11-05
37
42
 
38
- ### Breaking Changes
43
+ ## [0.25.1] - 2021-11-05
39
44
 
40
- -
41
45
  ### Added
42
46
 
43
47
  - *Experimental:* Native ES module bundle distribution in package `esm/excalibur.js` entrypoint ([#2064](https://github.com/excaliburjs/Excalibur/pull/2064))
@@ -45,21 +49,22 @@ This project adheres to [Semantic Versioning](http://semver.org/).
45
49
  - Story to show a play / pause implementation.
46
50
  - `ex.Animation` now support `totalDuration` that will calculate automatically each frame duration based on how many frames have.
47
51
  - `ex.Animation` now supports `.reverse()` to reverse the direction of play in an animation, use the `ex.Animation.direction` to inspect if the animation is playing in the `ex.AnimationDirection.Forward` direction or the `ex.AnimationDirection.Backward` direction.
48
- -
49
52
  ### Changed
50
53
 
54
+ - Pointer system refactored into 2 parts:
55
+ * First is an ECS style system `ex.PointerSystem` that dispatches events to Entities/Actors
56
+ * Second is an event receiver `ex.PointerEventReceiver` which is responsible for collecting the native browser events
57
+ * The API is mostly backwards compatible breaking changes are listed in the breaking change section, event types have been simplified, and `stopPropagation()` and been renamed to `cancel()`
51
58
  - Internal Actions implementation converted to ECS system and component, this is a backwards compatible change with v0.25.0
52
59
  - `ex.ActionsSystem` and `ex.ActionsComponent` now wrap the existing `ex.ActionContext`
53
60
  - Actions can be shared with all entities now!
54
61
  - Dispatch the `hidePlayButton` on the Button Event to prevent that keep on the screen on some situations [#1431].
55
62
  - Revert VSCode Workbench Colors
56
- -
63
+
57
64
  ### Deprecated
58
65
 
59
66
  - Actions `asPromise()` renamed to `toPromise()`
60
- ### Removed
61
67
 
62
- -
63
68
  ### Fixed
64
69
 
65
70
  - Fixed loader button position on window resize
@@ -123,7 +128,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
123
128
  - Directly changing debug drawing by `engine.isDebug = value` has been replaced by `engine.showDebug(value)` and `engine.toggleDebug()` ([#1655](https://github.com/excaliburjs/Excalibur/issues/1655))
124
129
  - `UIActor` Class instances need to be replaced to `ScreenElement` (This Class it's marked as Obsolete) ([#1656](https://github.com/excaliburjs/Excalibur/issues/1656))
125
130
  - Switch to browser based promise, the Excalibur implementation `ex.Promise` is marked deprecated ([#994](https://github.com/excaliburjs/Excalibur/issues/994))
126
-
127
131
  - `DisplayMode`'s have changed ([#1733](https://github.com/excaliburjs/Excalibur/issues/1733)) & ([#1928](https://github.com/excaliburjs/Excalibur/issues/1928)):
128
132
 
129
133
  - `DisplayMode.FitContainer` fits the screen to the available width/height in the canvas parent element, while maintaining aspect ratio and resolution
@@ -199,6 +203,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
199
203
  - Add `KeyEvent.originalEvent?: KeyboardEvent` which exposes the raw keyboard event handled from the browser.
200
204
  - Added a new getter to GraphicsComponent.ts called currentKeys that will return the names of the graphics shown in all layers
201
205
  - Added a new getter to GraphicsLayer called currentKeys that will the names of the graphics shown in this layer
206
+
202
207
  ### Changed
203
208
 
204
209
  - `Gif` now supports new graphics component
@@ -219,8 +224,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
219
224
  - `ex.Promise` is marked deprecated ([#994](https://github.com/excaliburjs/Excalibur/issues/994))
220
225
  - `ex.DisplayMode.Position` CSS can accomplish this task better than Excalibur ([#1733](https://github.com/excaliburjs/Excalibur/issues/1733))
221
226
 
222
- ### Removed
223
-
224
227
  ### Fixed
225
228
 
226
229
  - Fixed allow `ex.ColliderComponent` to not have a collider
@@ -253,8 +256,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
253
256
  - Fixed `anchor` properly of single shape `Actor` [#1535](https://github.com/excaliburjs/Excalibur/issues/1535)
254
257
  - Fixed Safari bug where `Sound` resources would fail to load ([#1848](https://github.com/excaliburjs/Excalibur/issues/1848))
255
258
 
259
+ <!----------------------------------------------------------------------------------------------->
256
260
 
257
- ## [[0.24.5] - 2020-09-07
261
+ ## [0.24.5] - 2020-09-07
258
262
 
259
263
  ### Breaking Changes
260
264
 
@@ -269,19 +273,13 @@ This project adheres to [Semantic Versioning](http://semver.org/).
269
273
  - Adds new `ex.System` type which operates on matching Entities to do some behavior in Excalibur.
270
274
  - Adds new `ex.Observable` a small observable implementation for observing Entity component changes over time
271
275
 
272
- ### Changed
273
-
274
- ### Deprecated
275
-
276
- ### Removed
277
-
278
276
  ### Fixed
279
277
 
280
278
  - Fixed Animation flicker bug on the first frame when using animations with scale, anchors, or rotation. ([#1636](https://github.com/excaliburjs/Excalibur/issues/1636))
281
279
 
282
- ## [0.24.4] - 2020-09-02
280
+ <!----------------------------------------------------------------------------------------------->
283
281
 
284
- ### Breaking Changes
282
+ ## [0.24.4] - 2020-09-02
285
283
 
286
284
  ### Added
287
285
 
@@ -302,10 +300,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
302
300
  - Upgrade Excalibur to TypeScript 3.9.2
303
301
  - Upgrade Excalibur to Node 12 LTS
304
302
 
305
- ### Deprecated
306
-
307
- ### Removed
308
-
309
303
  ### Fixed
310
304
 
311
305
  - Fixed Loader play button markup and styles are now cleaned up after clicked ([#1431](https://github.com/excaliburjs/Excalibur/issues/1431))
@@ -315,6 +309,8 @@ This project adheres to [Semantic Versioning](http://semver.org/).
315
309
  - Fixed issue where actors that were not in scene still received pointer events ([#1555](https://github.com/excaliburjs/Excalibur/issues/1555))
316
310
  - Fixed Scene initialization order when using the lifecycle overrides ([#1553](https://github.com/excaliburjs/Excalibur/issues/1553))
317
311
 
312
+ <!----------------------------------------------------------------------------------------------->
313
+
318
314
  ## [0.24.0] - 2020-04-23
319
315
 
320
316
  ### Breaking Changes
@@ -382,7 +378,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
382
378
  - Changed `moveBy`, `rotateBy`, and `scaleBy` to operate relative to the current actor position at a speed, instead of moving to an absolute by a certain time.
383
379
  - Changed event handlers in excalibur to expect non-null event objects, before `hander: (event?: GameEvent) => void` implied that event could be null. This change addresses ([#1147](https://github.com/excaliburjs/Excalibur/issues/1147)) making strict null/function checks compatible with new TypeScript.
384
380
  - Changed collision system to remove actor coupling, in addition `ex.Collider` is a new type that encapsulates all collision behavior. Use `ex.Actor.body.collider` to interact with collisions in Excalibur ([#1119](https://github.com/excaliburjs/Excalibur/issues/1119))
385
-
386
381
  - Add new `ex.Collider` type that is the housing for all collision related code
387
382
  - The source of truth for `ex.CollisionType` is now on collider, with a convenience getter on actor
388
383
  - The collision system now operates on `ex.Collider`'s not `ex.Actor`'s
@@ -422,7 +417,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
422
417
  - Removed `NaiveCollisionBroadphase` as it was no longer used
423
418
  - Renamed methods and properties will be available until `v0.24.0`
424
419
  - Deprecated collision attributes on actor, use `Actor.body.collider`
425
-
426
420
  - `Actor.x` & `Actor.y` will be removed in `v0.24.0` use `Actor.pos.x` & `Actor.pos.y`
427
421
  - `Actor.collisionArea` will be removed in `v0.24.0` use `Actor.body.collider.shape`
428
422
  - `Actor.getLeft()`, `Actor.getRight()`, `Actor.getTop()`, and `Actor.getBottom` are deprecated
@@ -1184,7 +1178,11 @@ This project adheres to [Semantic Versioning](http://semver.org/).
1184
1178
 
1185
1179
  <!----------------------------------------------------------------------------------------------->
1186
1180
 
1187
- [unreleased]: https://github.com/excaliburjs/Excalibur/compare/v0.24.0...HEAD
1181
+ [unreleased]: https://github.com/excaliburjs/Excalibur/compare/v0.25.1...HEAD
1182
+ [0.25.1]: https://github.com/excaliburjs/Excalibur/compare/v0.25.0...v0.25.1
1183
+ [0.25.0]: https://github.com/excaliburjs/Excalibur/compare/v0.24.5...v0.25.0
1184
+ [0.24.5]: https://github.com/excaliburjs/Excalibur/compare/v0.24.4...v0.24.5
1185
+ [0.24.4]: https://github.com/excaliburjs/Excalibur/compare/v0.24.0...v0.24.4
1188
1186
  [0.24.0]: https://github.com/excaliburjs/Excalibur/compare/v0.23.0...v0.24.0
1189
1187
  [0.23.0]: https://github.com/excaliburjs/Excalibur/compare/v0.22.0...v0.23.0
1190
1188
  [0.22.0]: https://github.com/excaliburjs/Excalibur/compare/v0.21.0...v0.22.0
@@ -1,6 +1,5 @@
1
1
  import { Texture } from './Drawing/Texture';
2
2
  import { InitializeEvent, KillEvent, PreUpdateEvent, PostUpdateEvent, PreDrawEvent, PostDrawEvent, PreDebugDrawEvent, PostDebugDrawEvent, PostCollisionEvent, PreCollisionEvent, CollisionStartEvent, CollisionEndEvent, PostKillEvent, PreKillEvent, GameEvent, ExitTriggerEvent, EnterTriggerEvent, EnterViewPortEvent, ExitViewPortEvent } from './Events';
3
- import { PointerEvent, WheelEvent, PointerDragEvent } from './Input/PointerEvents';
4
3
  import { Engine } from './Engine';
5
4
  import { Color } from './Color';
6
5
  import { Sprite } from './Drawing/Sprite';
@@ -21,7 +20,9 @@ import { MotionComponent } from './EntityComponentSystem/Components/MotionCompon
21
20
  import { GraphicsComponent } from './Graphics/GraphicsComponent';
22
21
  import { ColliderComponent } from './Collision/ColliderComponent';
23
22
  import { Collider, CollisionGroup } from './Collision/Index';
24
- import { CapturePointerConfig } from './Input/CapturePointerConfig';
23
+ import { PointerEvent } from './Input/PointerEvent';
24
+ import { WheelEvent } from './Input/WheelEvent';
25
+ import { PointerComponent } from './Input/PointerComponent';
25
26
  import { ActionsComponent } from './Actions/ActionsComponent';
26
27
  /**
27
28
  * Type guard for checking if something is an Actor
@@ -144,6 +145,10 @@ export declare class Actor extends Entity implements Eventable, PointerEvents, C
144
145
  * Access to the Actor's built in [[ColliderComponent]]
145
146
  */
146
147
  get collider(): ColliderComponent;
148
+ /**
149
+ * Access to the Actor's built in [[PointerComponent]] config
150
+ */
151
+ get pointer(): PointerComponent;
147
152
  /**
148
153
  * Useful for quickly scripting actor behavior, like moving to a place, patroling back and forth, blinking, etc.
149
154
  *
@@ -281,6 +286,7 @@ export declare class Actor extends Entity implements Eventable, PointerEvents, C
281
286
  set draggable(isDraggable: boolean);
282
287
  /**
283
288
  * Modify the current actor update pipeline.
289
+ * @deprecated will be removed in v0.26.0
284
290
  */
285
291
  traits: Trait[];
286
292
  /**
@@ -292,15 +298,6 @@ export declare class Actor extends Entity implements Eventable, PointerEvents, C
292
298
  get color(): Color;
293
299
  set color(v: Color);
294
300
  private _color;
295
- /**
296
- * Whether or not to enable the [[Traits.CapturePointer]] trait that propagates
297
- * pointer events to this actor
298
- */
299
- enableCapturePointer: boolean;
300
- /**
301
- * Configuration for [[Traits.CapturePointer]] trait
302
- */
303
- capturePointer: CapturePointerConfig;
304
301
  /**
305
302
  *
306
303
  * @param config
@@ -321,10 +318,6 @@ export declare class Actor extends Entity implements Eventable, PointerEvents, C
321
318
  * @internal
322
319
  */
323
320
  _initialize(engine: Engine): void;
324
- private _capturePointerEvents;
325
- private _captureMoveEvents;
326
- private _captureDragEvents;
327
- private _checkForPointerOptIn;
328
321
  on(eventName: Events.exittrigger, handler: (event: ExitTriggerEvent) => void): void;
329
322
  on(eventName: Events.entertrigger, handler: (event: EnterTriggerEvent) => void): void;
330
323
  /**
@@ -379,11 +372,11 @@ export declare class Actor extends Entity implements Eventable, PointerEvents, C
379
372
  on(eventName: Events.pointermove, handler: (event: PointerEvent) => void): void;
380
373
  on(eventName: Events.pointercancel, handler: (event: PointerEvent) => void): void;
381
374
  on(eventName: Events.pointerwheel, handler: (event: WheelEvent) => void): void;
382
- on(eventName: Events.pointerdragstart, handler: (event: PointerDragEvent) => void): void;
383
- on(eventName: Events.pointerdragend, handler: (event: PointerDragEvent) => void): void;
384
- on(eventName: Events.pointerdragenter, handler: (event: PointerDragEvent) => void): void;
385
- on(eventName: Events.pointerdragleave, handler: (event: PointerDragEvent) => void): void;
386
- on(eventName: Events.pointerdragmove, handler: (event: PointerDragEvent) => void): void;
375
+ on(eventName: Events.pointerdragstart, handler: (event: PointerEvent) => void): void;
376
+ on(eventName: Events.pointerdragend, handler: (event: PointerEvent) => void): void;
377
+ on(eventName: Events.pointerdragenter, handler: (event: PointerEvent) => void): void;
378
+ on(eventName: Events.pointerdragleave, handler: (event: PointerEvent) => void): void;
379
+ on(eventName: Events.pointerdragmove, handler: (event: PointerEvent) => void): void;
387
380
  on(eventName: Events.enterviewport, handler: (event: EnterViewPortEvent) => void): void;
388
381
  on(eventName: Events.exitviewport, handler: (event: ExitViewPortEvent) => void): void;
389
382
  on(eventName: string, handler: (event: GameEvent<Actor>) => void): void;
@@ -441,11 +434,11 @@ export declare class Actor extends Entity implements Eventable, PointerEvents, C
441
434
  once(eventName: Events.pointermove, handler: (event: PointerEvent) => void): void;
442
435
  once(eventName: Events.pointercancel, handler: (event: PointerEvent) => void): void;
443
436
  once(eventName: Events.pointerwheel, handler: (event: WheelEvent) => void): void;
444
- once(eventName: Events.pointerdragstart, handler: (event: PointerDragEvent) => void): void;
445
- once(eventName: Events.pointerdragend, handler: (event: PointerDragEvent) => void): void;
446
- once(eventName: Events.pointerdragenter, handler: (event: PointerDragEvent) => void): void;
447
- once(eventName: Events.pointerdragleave, handler: (event: PointerDragEvent) => void): void;
448
- once(eventName: Events.pointerdragmove, handler: (event: PointerDragEvent) => void): void;
437
+ once(eventName: Events.pointerdragstart, handler: (event: PointerEvent) => void): void;
438
+ once(eventName: Events.pointerdragend, handler: (event: PointerEvent) => void): void;
439
+ once(eventName: Events.pointerdragenter, handler: (event: PointerEvent) => void): void;
440
+ once(eventName: Events.pointerdragleave, handler: (event: PointerEvent) => void): void;
441
+ once(eventName: Events.pointerdragmove, handler: (event: PointerEvent) => void): void;
449
442
  once(eventName: Events.enterviewport, handler: (event: EnterViewPortEvent) => void): void;
450
443
  once(eventName: Events.exitviewport, handler: (event: ExitViewPortEvent) => void): void;
451
444
  once(eventName: string, handler: (event: GameEvent<Actor>) => void): void;
@@ -493,11 +486,11 @@ export declare class Actor extends Entity implements Eventable, PointerEvents, C
493
486
  off(eventName: Events.pointermove, handler?: (event: PointerEvent) => void): void;
494
487
  off(eventName: Events.pointercancel, handler?: (event: PointerEvent) => void): void;
495
488
  off(eventName: Events.pointerwheel, handler?: (event: WheelEvent) => void): void;
496
- off(eventName: Events.pointerdragstart, handler?: (event: PointerDragEvent) => void): void;
497
- off(eventName: Events.pointerdragend, handler?: (event: PointerDragEvent) => void): void;
498
- off(eventName: Events.pointerdragenter, handler?: (event: PointerDragEvent) => void): void;
499
- off(eventName: Events.pointerdragleave, handler?: (event: PointerDragEvent) => void): void;
500
- off(eventName: Events.pointerdragmove, handler?: (event: PointerDragEvent) => void): void;
489
+ off(eventName: Events.pointerdragstart, handler?: (event: PointerEvent) => void): void;
490
+ off(eventName: Events.pointerdragend, handler?: (event: PointerEvent) => void): void;
491
+ off(eventName: Events.pointerdragenter, handler?: (event: PointerEvent) => void): void;
492
+ off(eventName: Events.pointerdragleave, handler?: (event: PointerEvent) => void): void;
493
+ off(eventName: Events.pointerdragmove, handler?: (event: PointerEvent) => void): void;
501
494
  off(eventName: Events.prekill, handler?: (event: PreKillEvent) => void): void;
502
495
  off(eventName: Events.postkill, handler?: (event: PostKillEvent) => void): void;
503
496
  off(eventName: Events.initialize, handler?: (event: Events.InitializeEvent<Actor>) => void): void;
@@ -25,6 +25,7 @@ import { ColliderComponent } from './Collision/ColliderComponent';
25
25
  import { Shape } from './Collision/Colliders/Shape';
26
26
  import { watch } from './Util/Watch';
27
27
  import { Circle } from './Graphics/Circle';
28
+ import { PointerComponent } from './Input/PointerComponent';
28
29
  import { ActionsComponent } from './Actions/ActionsComponent';
29
30
  /**
30
31
  * Type guard for checking if something is an Actor
@@ -88,58 +89,19 @@ export class Actor extends Entity {
88
89
  };
89
90
  this._pointerDragMoveHandler = (pe) => {
90
91
  if (this._dragging) {
91
- this.pos = pe.pointer.lastWorldPos;
92
+ this.pos = pe.worldPos;
92
93
  }
93
94
  };
94
95
  this._pointerDragLeaveHandler = (pe) => {
95
96
  if (this._dragging) {
96
- this.pos = pe.pointer.lastWorldPos;
97
+ this.pos = pe.worldPos;
97
98
  }
98
99
  };
99
100
  /**
100
101
  * Modify the current actor update pipeline.
102
+ * @deprecated will be removed in v0.26.0
101
103
  */
102
104
  this.traits = [];
103
- /**
104
- * Whether or not to enable the [[Traits.CapturePointer]] trait that propagates
105
- * pointer events to this actor
106
- */
107
- this.enableCapturePointer = false;
108
- /**
109
- * Configuration for [[Traits.CapturePointer]] trait
110
- */
111
- this.capturePointer = {
112
- captureMoveEvents: false,
113
- captureDragEvents: false
114
- };
115
- // #region Events
116
- this._capturePointerEvents = [
117
- 'pointerup',
118
- 'pointerdown',
119
- 'pointermove',
120
- 'pointerenter',
121
- 'pointerleave',
122
- 'pointerdragstart',
123
- 'pointerdragend',
124
- 'pointerdragmove',
125
- 'pointerdragenter',
126
- 'pointerdragleave'
127
- ];
128
- this._captureMoveEvents = [
129
- 'pointermove',
130
- 'pointerenter',
131
- 'pointerleave',
132
- 'pointerdragmove',
133
- 'pointerdragenter',
134
- 'pointerdragleave'
135
- ];
136
- this._captureDragEvents = [
137
- 'pointerdragstart',
138
- 'pointerdragend',
139
- 'pointerdragmove',
140
- 'pointerdragenter',
141
- 'pointerdragleave'
142
- ];
143
105
  const { name, x, y, pos, scale, width, height, radius, collider, vel, acc, rotation, angularVelocity, z, color, visible, anchor, collisionType, collisionGroup } = Object.assign({}, config);
144
106
  this._setName(name);
145
107
  this.anchor = anchor !== null && anchor !== void 0 ? anchor : Actor.defaults.anchor.clone();
@@ -148,6 +110,7 @@ export class Actor extends Entity {
148
110
  this.rotation = rotation !== null && rotation !== void 0 ? rotation : 0;
149
111
  this.scale = scale !== null && scale !== void 0 ? scale : vec(1, 1);
150
112
  this.z = z !== null && z !== void 0 ? z : 0;
113
+ this.addComponent(new PointerComponent);
151
114
  this.addComponent(new GraphicsComponent());
152
115
  this.addComponent(new CanvasDrawComponent((ctx, delta) => this.draw(ctx, delta)));
153
116
  this.addComponent(new MotionComponent());
@@ -196,7 +159,6 @@ export class Actor extends Entity {
196
159
  // TODO remove offscreen trait after legacy drawing removed
197
160
  this.traits.push(new Traits.OffscreenCulling());
198
161
  }
199
- this.traits.push(new Traits.CapturePointer());
200
162
  }
201
163
  /**
202
164
  * The physics body the is associated with this actor. The body is the container for all physical properties, like position, velocity,
@@ -229,6 +191,12 @@ export class Actor extends Entity {
229
191
  get collider() {
230
192
  return this.get(ColliderComponent);
231
193
  }
194
+ /**
195
+ * Access to the Actor's built in [[PointerComponent]] config
196
+ */
197
+ get pointer() {
198
+ return this.get(PointerComponent);
199
+ }
232
200
  /**
233
201
  * Useful for quickly scripting actor behavior, like moving to a place, patroling back and forth, blinking, etc.
234
202
  *
@@ -434,26 +402,10 @@ export class Actor extends Entity {
434
402
  child._initialize(engine);
435
403
  }
436
404
  }
437
- _checkForPointerOptIn(eventName) {
438
- if (eventName) {
439
- const normalized = eventName.toLowerCase();
440
- if (this._capturePointerEvents.indexOf(normalized) !== -1) {
441
- this.enableCapturePointer = true;
442
- if (this._captureMoveEvents.indexOf(normalized) !== -1) {
443
- this.capturePointer.captureMoveEvents = true;
444
- }
445
- if (this._captureDragEvents.indexOf(normalized) !== -1) {
446
- this.capturePointer.captureDragEvents = true;
447
- }
448
- }
449
- }
450
- }
451
405
  on(eventName, handler) {
452
- this._checkForPointerOptIn(eventName);
453
406
  super.on(eventName, handler);
454
407
  }
455
408
  once(eventName, handler) {
456
- this._checkForPointerOptIn(eventName);
457
409
  super.once(eventName, handler);
458
410
  }
459
411
  off(eventName, handler) {
@@ -1 +1 @@
1
- {"version":3,"file":"Actor.js","sourceRoot":"","sources":["../../src/engine/Actor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Actor.js","sourceRoot":"","sources":["../../src/engine/Actor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { GameEvent } from './Events';
2
1
  import { EventDispatcher } from './EventDispatcher';
3
2
  import { Eventable } from './Interfaces/Evented';
4
3
  /**
@@ -17,7 +16,7 @@ export declare class Class implements Eventable {
17
16
  * @param eventName Name of the event to listen for
18
17
  * @param handler Event handler for the thrown event
19
18
  */
20
- on(eventName: string, handler: (event: GameEvent<any>) => void): void;
19
+ on(eventName: string, handler: (event: any) => void): void;
21
20
  /**
22
21
  * Alias for `removeEventListener`. If only the eventName is specified
23
22
  * it will remove all handlers registered for that specific event. If the eventName
@@ -26,18 +25,18 @@ export declare class Class implements Eventable {
26
25
  * @param eventName Name of the event to listen for
27
26
  * @param handler Event handler for the thrown event
28
27
  */
29
- off(eventName: string, handler?: (event: GameEvent<any>) => void): void;
28
+ off(eventName: string, handler?: (event: any) => void): void;
30
29
  /**
31
30
  * Emits a new event
32
31
  * @param eventName Name of the event to emit
33
32
  * @param eventObject Data associated with this event
34
33
  */
35
- emit(eventName: string, eventObject: GameEvent<any>): void;
34
+ emit(eventName: string, eventObject: any): void;
36
35
  /**
37
36
  * Once listens to an event one time, then unsubscribes from that event
38
37
  *
39
38
  * @param eventName The name of the event to subscribe to once
40
39
  * @param handler The handler of the event that will be auto unsubscribed
41
40
  */
42
- once(eventName: string, handler: (event: GameEvent<any>) => void): void;
41
+ once(eventName: string, handler: (event: any) => void): void;
43
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Class.js","sourceRoot":"","sources":["../../src/engine/Class.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;GAGG;AACH,MAAM,OAAO,KAAK;IAMhB;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACI,EAAE,CAAC,SAAiB,EAAE,OAAwC;QACnE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;OAOG;IACI,GAAG,CAAC,SAAiB,EAAE,OAAyC;QACrE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,SAAiB,EAAE,WAA2B;QACxD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACI,IAAI,CAAC,SAAiB,EAAE,OAAwC;QACrE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;CACF"}
1
+ {"version":3,"file":"Class.js","sourceRoot":"","sources":["../../src/engine/Class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;GAGG;AACH,MAAM,OAAO,KAAK;IAMhB;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACI,EAAE,CAAC,SAAiB,EAAE,OAA6B;QACxD,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;OAOG;IACI,GAAG,CAAC,SAAiB,EAAE,OAA8B;QAC1D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,SAAiB,EAAE,WAAgB;QAC7C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACI,IAAI,CAAC,SAAiB,EAAE,OAA6B;QAC1D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -22,6 +22,7 @@ import * as Input from './Input/Index';
22
22
  import { BrowserEvents } from './Util/Browser';
23
23
  import { obsolete } from './Util/Decorators';
24
24
  import { ExcaliburGraphicsContext2DCanvas, ExcaliburGraphicsContextWebGL } from './Graphics';
25
+ import { PointerEventReceiver } from './Input/PointerEventReceiver';
25
26
  /**
26
27
  * Enum representing the different mousewheel event bubble prevention
27
28
  */
@@ -495,13 +496,14 @@ O|===|* >________________>\n\
495
496
  _initialize(options) {
496
497
  this.pageScrollPreventionMode = options.scrollPreventionMode;
497
498
  // initialize inputs
499
+ const pointerTarget = options && options.pointerScope === Input.PointerScope.Document ? document : this.canvas;
498
500
  this.input = {
499
501
  keyboard: new Input.Keyboard(),
500
- pointers: new Input.Pointers(this),
502
+ pointers: new PointerEventReceiver(pointerTarget, this),
501
503
  gamepads: new Input.Gamepads()
502
504
  };
503
505
  this.input.keyboard.init();
504
- this.input.pointers.init(options && options.pointerScope === Input.PointerScope.Document ? document : this.canvas);
506
+ this.input.pointers.init();
505
507
  this.input.gamepads.init();
506
508
  // Issue #385 make use of the visibility api
507
509
  // https://developer.mozilla.org/en-US/docs/Web/Guide/User_experience/Using_the_Page_Visibility_API
@@ -580,7 +582,6 @@ O|===|* >________________>\n\
580
582
  this._loader.update(this, delta);
581
583
  // Update input listeners
582
584
  this.input.keyboard.update();
583
- this.input.pointers.update();
584
585
  this.input.gamepads.update();
585
586
  return;
586
587
  }
@@ -596,7 +597,6 @@ O|===|* >________________>\n\
596
597
  });
597
598
  // Update input listeners
598
599
  this.input.keyboard.update();
599
- this.input.pointers.update();
600
600
  this.input.gamepads.update();
601
601
  // Publish update event
602
602
  this._postupdate(delta);