@vpmedia/phaser 1.115.0 → 1.117.0

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 (193) hide show
  1. package/dist/index.js +56 -96
  2. package/dist/index.js.map +1 -1
  3. package/dist/phaser/core/animation.d.ts.map +1 -1
  4. package/dist/phaser/core/animation_manager.d.ts +15 -14
  5. package/dist/phaser/core/animation_manager.d.ts.map +1 -1
  6. package/dist/phaser/core/animation_parser.d.ts.map +1 -1
  7. package/dist/phaser/core/array_set.d.ts.map +1 -1
  8. package/dist/phaser/core/cache.d.ts +10 -9
  9. package/dist/phaser/core/cache.d.ts.map +1 -1
  10. package/dist/phaser/core/device_util.d.ts.map +1 -1
  11. package/dist/phaser/core/dom.d.ts.map +1 -1
  12. package/dist/phaser/core/factory.d.ts.map +1 -1
  13. package/dist/phaser/core/game.d.ts.map +1 -1
  14. package/dist/phaser/core/input.d.ts +20 -20
  15. package/dist/phaser/core/input.d.ts.map +1 -1
  16. package/dist/phaser/core/input_handler.d.ts +11 -13
  17. package/dist/phaser/core/input_handler.d.ts.map +1 -1
  18. package/dist/phaser/core/input_mouse.d.ts.map +1 -1
  19. package/dist/phaser/core/input_mspointer.d.ts.map +1 -1
  20. package/dist/phaser/core/input_pointer.d.ts +19 -8
  21. package/dist/phaser/core/input_pointer.d.ts.map +1 -1
  22. package/dist/phaser/core/input_touch.d.ts.map +1 -1
  23. package/dist/phaser/core/loader.d.ts.map +1 -1
  24. package/dist/phaser/core/raf.d.ts.map +1 -1
  25. package/dist/phaser/core/scale_manager.d.ts +38 -13
  26. package/dist/phaser/core/scale_manager.d.ts.map +1 -1
  27. package/dist/phaser/core/scene.d.ts.map +1 -1
  28. package/dist/phaser/core/scene_manager.d.ts.map +1 -1
  29. package/dist/phaser/core/signal.d.ts.map +1 -1
  30. package/dist/phaser/core/signal_binding.d.ts.map +1 -1
  31. package/dist/phaser/core/sound.d.ts +2 -2
  32. package/dist/phaser/core/sound.d.ts.map +1 -1
  33. package/dist/phaser/core/sound_manager.d.ts +24 -22
  34. package/dist/phaser/core/sound_manager.d.ts.map +1 -1
  35. package/dist/phaser/core/sound_sprite.d.ts.map +1 -1
  36. package/dist/phaser/core/stage.d.ts.map +1 -1
  37. package/dist/phaser/core/time.d.ts.map +1 -1
  38. package/dist/phaser/core/timer.d.ts +1 -1
  39. package/dist/phaser/core/timer.d.ts.map +1 -1
  40. package/dist/phaser/core/tween.d.ts.map +1 -1
  41. package/dist/phaser/core/tween_data.d.ts +26 -26
  42. package/dist/phaser/core/tween_data.d.ts.map +1 -1
  43. package/dist/phaser/core/tween_manager.d.ts.map +1 -1
  44. package/dist/phaser/core/world.d.ts.map +1 -1
  45. package/dist/phaser/display/bitmap_text.d.ts.map +1 -1
  46. package/dist/phaser/display/button.d.ts.map +1 -1
  47. package/dist/phaser/display/canvas/buffer.d.ts.map +1 -1
  48. package/dist/phaser/display/canvas/graphics.d.ts.map +1 -1
  49. package/dist/phaser/display/canvas/masker.d.ts.map +1 -1
  50. package/dist/phaser/display/canvas/pool.d.ts.map +1 -1
  51. package/dist/phaser/display/canvas/renderer.d.ts.map +1 -1
  52. package/dist/phaser/display/canvas/tinter.d.ts +3 -2
  53. package/dist/phaser/display/canvas/tinter.d.ts.map +1 -1
  54. package/dist/phaser/display/canvas/util.d.ts.map +1 -1
  55. package/dist/phaser/display/display_object.d.ts.map +1 -1
  56. package/dist/phaser/display/graphics.d.ts.map +1 -1
  57. package/dist/phaser/display/graphics_data.d.ts.map +1 -1
  58. package/dist/phaser/display/graphics_data_util.d.ts.map +1 -1
  59. package/dist/phaser/display/group.d.ts.map +1 -1
  60. package/dist/phaser/display/image.d.ts +2 -2
  61. package/dist/phaser/display/image.d.ts.map +1 -1
  62. package/dist/phaser/display/sprite_util.d.ts.map +1 -1
  63. package/dist/phaser/display/text.d.ts.map +1 -1
  64. package/dist/phaser/display/webgl/abstract_filter.d.ts.map +1 -1
  65. package/dist/phaser/display/webgl/base_texture.d.ts +12 -10
  66. package/dist/phaser/display/webgl/base_texture.d.ts.map +1 -1
  67. package/dist/phaser/display/webgl/blend_manager.d.ts.map +1 -1
  68. package/dist/phaser/display/webgl/earcut.d.ts.map +1 -1
  69. package/dist/phaser/display/webgl/fast_sprite_batch.d.ts +13 -12
  70. package/dist/phaser/display/webgl/fast_sprite_batch.d.ts.map +1 -1
  71. package/dist/phaser/display/webgl/filter_manager.d.ts.map +1 -1
  72. package/dist/phaser/display/webgl/filter_texture.d.ts.map +1 -1
  73. package/dist/phaser/display/webgl/graphics.d.ts +9 -7
  74. package/dist/phaser/display/webgl/graphics.d.ts.map +1 -1
  75. package/dist/phaser/display/webgl/graphics_data.d.ts.map +1 -1
  76. package/dist/phaser/display/webgl/mask_manager.d.ts.map +1 -1
  77. package/dist/phaser/display/webgl/render_texture.d.ts.map +1 -1
  78. package/dist/phaser/display/webgl/renderer.d.ts +12 -10
  79. package/dist/phaser/display/webgl/renderer.d.ts.map +1 -1
  80. package/dist/phaser/display/webgl/shader/normal.d.ts.map +1 -1
  81. package/dist/phaser/display/webgl/shader_manager.d.ts.map +1 -1
  82. package/dist/phaser/display/webgl/sprite_batch.d.ts.map +1 -1
  83. package/dist/phaser/display/webgl/stencil_manager.d.ts.map +1 -1
  84. package/dist/phaser/display/webgl/texture.d.ts +18 -33
  85. package/dist/phaser/display/webgl/texture.d.ts.map +1 -1
  86. package/dist/phaser/display/webgl/texture_util.d.ts.map +1 -1
  87. package/dist/phaser/display/webgl/util.d.ts.map +1 -1
  88. package/dist/phaser/geom/circle.d.ts.map +1 -1
  89. package/dist/phaser/geom/ellipse.d.ts.map +1 -1
  90. package/dist/phaser/geom/line.d.ts.map +1 -1
  91. package/dist/phaser/geom/matrix.d.ts +1 -1
  92. package/dist/phaser/geom/matrix.d.ts.map +1 -1
  93. package/dist/phaser/geom/point.d.ts.map +1 -1
  94. package/dist/phaser/geom/polygon.d.ts.map +1 -1
  95. package/dist/phaser/geom/rectangle.d.ts.map +1 -1
  96. package/dist/phaser/geom/rounded_rectangle.d.ts.map +1 -1
  97. package/dist/phaser/geom/util/circle.d.ts.map +1 -1
  98. package/dist/phaser/geom/util/ellipse.d.ts.map +1 -1
  99. package/dist/phaser/geom/util/line.d.ts +5 -4
  100. package/dist/phaser/geom/util/line.d.ts.map +1 -1
  101. package/dist/phaser/geom/util/matrix.d.ts.map +1 -1
  102. package/dist/phaser/geom/util/point.d.ts.map +1 -1
  103. package/dist/phaser/geom/util/polygon.d.ts.map +1 -1
  104. package/dist/phaser/geom/util/rectangle.d.ts +10 -1
  105. package/dist/phaser/geom/util/rectangle.d.ts.map +1 -1
  106. package/dist/phaser/geom/util/rounded_rectangle.d.ts.map +1 -1
  107. package/package.json +1 -1
  108. package/src/phaser/core/animation.ts +20 -20
  109. package/src/phaser/core/animation_manager.ts +27 -24
  110. package/src/phaser/core/animation_parser.ts +2 -2
  111. package/src/phaser/core/array_set.ts +7 -7
  112. package/src/phaser/core/cache.ts +55 -51
  113. package/src/phaser/core/callback_context.test.ts +70 -0
  114. package/src/phaser/core/device_util.ts +13 -13
  115. package/src/phaser/core/dom.ts +26 -22
  116. package/src/phaser/core/factory.ts +6 -6
  117. package/src/phaser/core/game.ts +10 -10
  118. package/src/phaser/core/input.ts +37 -39
  119. package/src/phaser/core/input_handler.ts +90 -93
  120. package/src/phaser/core/input_mouse.ts +19 -19
  121. package/src/phaser/core/input_mspointer.ts +15 -15
  122. package/src/phaser/core/input_pointer.ts +37 -28
  123. package/src/phaser/core/input_touch.ts +17 -17
  124. package/src/phaser/core/loader.ts +52 -52
  125. package/src/phaser/core/loader_parser.ts +3 -3
  126. package/src/phaser/core/raf.ts +3 -3
  127. package/src/phaser/core/scale_manager.ts +86 -67
  128. package/src/phaser/core/scene.ts +7 -7
  129. package/src/phaser/core/scene_manager.ts +16 -16
  130. package/src/phaser/core/signal.ts +29 -19
  131. package/src/phaser/core/signal_binding.ts +4 -4
  132. package/src/phaser/core/sound.ts +17 -17
  133. package/src/phaser/core/sound_manager.ts +71 -72
  134. package/src/phaser/core/sound_sprite.ts +1 -1
  135. package/src/phaser/core/stage.ts +7 -7
  136. package/src/phaser/core/time.ts +16 -16
  137. package/src/phaser/core/timer.ts +36 -26
  138. package/src/phaser/core/tween.ts +23 -23
  139. package/src/phaser/core/tween_data.ts +41 -37
  140. package/src/phaser/core/tween_manager.ts +11 -11
  141. package/src/phaser/core/world.ts +1 -1
  142. package/src/phaser/display/bitmap_text.ts +13 -13
  143. package/src/phaser/display/button.ts +13 -13
  144. package/src/phaser/display/canvas/buffer.ts +3 -3
  145. package/src/phaser/display/canvas/graphics.ts +3 -3
  146. package/src/phaser/display/canvas/masker.ts +2 -2
  147. package/src/phaser/display/canvas/pool.ts +6 -6
  148. package/src/phaser/display/canvas/renderer.ts +6 -6
  149. package/src/phaser/display/canvas/tinter.ts +39 -8
  150. package/src/phaser/display/canvas/util.ts +15 -9
  151. package/src/phaser/display/display_object.ts +38 -38
  152. package/src/phaser/display/graphics.ts +30 -30
  153. package/src/phaser/display/graphics_data.ts +1 -1
  154. package/src/phaser/display/graphics_data_util.ts +1 -1
  155. package/src/phaser/display/group.ts +16 -16
  156. package/src/phaser/display/image.ts +30 -26
  157. package/src/phaser/display/sprite_util.ts +12 -4
  158. package/src/phaser/display/text.ts +55 -55
  159. package/src/phaser/display/webgl/abstract_filter.ts +1 -1
  160. package/src/phaser/display/webgl/base_texture.ts +22 -18
  161. package/src/phaser/display/webgl/blend_manager.ts +3 -3
  162. package/src/phaser/display/webgl/earcut.ts +3 -3
  163. package/src/phaser/display/webgl/fast_sprite_batch.ts +26 -24
  164. package/src/phaser/display/webgl/filter_manager.ts +7 -7
  165. package/src/phaser/display/webgl/filter_texture.ts +3 -3
  166. package/src/phaser/display/webgl/graphics.ts +43 -41
  167. package/src/phaser/display/webgl/graphics_data.ts +2 -2
  168. package/src/phaser/display/webgl/mask_manager.ts +2 -2
  169. package/src/phaser/display/webgl/render_texture.ts +6 -6
  170. package/src/phaser/display/webgl/renderer.ts +20 -25
  171. package/src/phaser/display/webgl/shader/normal.ts +3 -3
  172. package/src/phaser/display/webgl/shader_manager.ts +2 -2
  173. package/src/phaser/display/webgl/sprite_batch.ts +9 -9
  174. package/src/phaser/display/webgl/stencil_manager.ts +4 -4
  175. package/src/phaser/display/webgl/texture.ts +23 -42
  176. package/src/phaser/display/webgl/texture_util.ts +2 -2
  177. package/src/phaser/display/webgl/util.ts +11 -7
  178. package/src/phaser/geom/circle.ts +21 -21
  179. package/src/phaser/geom/ellipse.ts +7 -7
  180. package/src/phaser/geom/line.ts +29 -29
  181. package/src/phaser/geom/matrix.ts +13 -13
  182. package/src/phaser/geom/point.ts +36 -30
  183. package/src/phaser/geom/polygon.ts +6 -6
  184. package/src/phaser/geom/rectangle.ts +42 -42
  185. package/src/phaser/geom/rounded_rectangle.ts +2 -2
  186. package/src/phaser/geom/util/circle.ts +7 -7
  187. package/src/phaser/geom/util/ellipse.ts +1 -1
  188. package/src/phaser/geom/util/line.ts +13 -5
  189. package/src/phaser/geom/util/matrix.ts +3 -3
  190. package/src/phaser/geom/util/point.ts +20 -20
  191. package/src/phaser/geom/util/polygon.ts +1 -1
  192. package/src/phaser/geom/util/rectangle.ts +34 -17
  193. package/src/phaser/geom/util/rounded_rectangle.ts +1 -1
@@ -61,7 +61,7 @@ export class Mouse {
61
61
  /**
62
62
  * TBD.
63
63
  */
64
- public start() {
64
+ public start(): void {
65
65
  if (this.game.device.android && !this.game.device.chrome) {
66
66
  // Android stock browser fires mouse events even if you preventDefault on the touchStart, so ...
67
67
  return;
@@ -71,28 +71,28 @@ export class Mouse {
71
71
  return;
72
72
  }
73
73
  const scope = this;
74
- this._onMouseDown = (event) => {
74
+ this._onMouseDown = (event): void => {
75
75
  scope.onMouseDown(event);
76
76
  };
77
- this._onMouseMove = (event) => {
77
+ this._onMouseMove = (event): void => {
78
78
  scope.onMouseMove(event);
79
79
  };
80
- this._onMouseUp = (event) => {
80
+ this._onMouseUp = (event): void => {
81
81
  scope.onMouseUp(event);
82
82
  };
83
- this._onMouseUpGlobal = (event) => {
83
+ this._onMouseUpGlobal = (event): void => {
84
84
  scope.onMouseUpGlobal(event);
85
85
  };
86
- this._onMouseOutGlobal = (event) => {
86
+ this._onMouseOutGlobal = (event): void => {
87
87
  scope.onMouseOutGlobal(event);
88
88
  };
89
- this._onMouseOut = (event) => {
89
+ this._onMouseOut = (event): void => {
90
90
  scope.onMouseOut(event);
91
91
  };
92
- this._onMouseOver = (event) => {
92
+ this._onMouseOver = (event): void => {
93
93
  scope.onMouseOver(event);
94
94
  };
95
- this._onMouseWheel = (event) => {
95
+ this._onMouseWheel = (event): void => {
96
96
  scope.onMouseWheel(event);
97
97
  };
98
98
  const { canvas } = this.game;
@@ -112,7 +112,7 @@ export class Mouse {
112
112
  /**
113
113
  * TBD.
114
114
  */
115
- public stop() {
115
+ public stop(): void {
116
116
  const { canvas } = this.game;
117
117
  if (this._onMouseDown) {
118
118
  canvas.removeEventListener('mousedown', this._onMouseDown, true);
@@ -147,7 +147,7 @@ export class Mouse {
147
147
  * TBD.
148
148
  * @param {MouseEvent} event - TBD.
149
149
  */
150
- public onMouseDown(event: InputEvent) {
150
+ public onMouseDown(event: InputEvent): void {
151
151
  this.event = event;
152
152
  this.eventPreventDefault(event);
153
153
  if (this.mouseDownCallback) {
@@ -164,7 +164,7 @@ export class Mouse {
164
164
  * TBD.
165
165
  * @param {MouseEvent} event - TBD.
166
166
  */
167
- public onMouseMove(event: InputEvent) {
167
+ public onMouseMove(event: InputEvent): void {
168
168
  this.event = event;
169
169
  this.eventPreventDefault(event);
170
170
  if (this.mouseMoveCallback) {
@@ -181,7 +181,7 @@ export class Mouse {
181
181
  * TBD.
182
182
  * @param {MouseEvent} event - TBD.
183
183
  */
184
- public onMouseUp(event: InputEvent) {
184
+ public onMouseUp(event: InputEvent): void {
185
185
  this.event = event;
186
186
  this.eventPreventDefault(event);
187
187
  if (this.mouseUpCallback) {
@@ -198,7 +198,7 @@ export class Mouse {
198
198
  * TBD.
199
199
  * @param {MouseEvent} event - TBD.
200
200
  */
201
- public onMouseUpGlobal(event: InputEvent) {
201
+ public onMouseUpGlobal(event: InputEvent): void {
202
202
  if (!this.input.mousePointer.withinGame) {
203
203
  if (this.mouseUpCallback) {
204
204
  this.mouseUpCallback.call(this.callbackContext, event);
@@ -212,7 +212,7 @@ export class Mouse {
212
212
  * TBD.
213
213
  * @param {MouseEvent} event - TBD.
214
214
  */
215
- public onMouseOutGlobal(event: InputEvent) {
215
+ public onMouseOutGlobal(event: InputEvent): void {
216
216
  this.event = event;
217
217
  this.eventPreventDefault(event);
218
218
  this.input.mousePointer.withinGame = false;
@@ -231,7 +231,7 @@ export class Mouse {
231
231
  * TBD.
232
232
  * @param {MouseEvent} event - TBD.
233
233
  */
234
- public onMouseOut(event: InputEvent) {
234
+ public onMouseOut(event: InputEvent): void {
235
235
  this.event = event;
236
236
  this.eventPreventDefault(event);
237
237
  this.input.mousePointer.withinGame = false;
@@ -251,7 +251,7 @@ export class Mouse {
251
251
  * TBD.
252
252
  * @param {MouseEvent} event - TBD.
253
253
  */
254
- public onMouseOver(event: InputEvent) {
254
+ public onMouseOver(event: InputEvent): void {
255
255
  this.event = event;
256
256
  this.eventPreventDefault(event);
257
257
  this.input.mousePointer.withinGame = true;
@@ -264,7 +264,7 @@ export class Mouse {
264
264
  * TBD.
265
265
  * @param {WheelEvent} event - TBD.
266
266
  */
267
- public onMouseWheel(event: InputEvent) {
267
+ public onMouseWheel(event: InputEvent): void {
268
268
  if (this._wheelEvent) {
269
269
  event = this._wheelEvent.bindEvent(event);
270
270
  }
@@ -281,7 +281,7 @@ export class Mouse {
281
281
  * TBD.
282
282
  * @param {MouseEvent} event - TBD.
283
283
  */
284
- public eventPreventDefault(event: Event) {
284
+ public eventPreventDefault(event: Event): void {
285
285
  if (this.capture) {
286
286
  if (typeof event.cancelable !== 'boolean' || event.cancelable) {
287
287
  event.preventDefault();
@@ -43,27 +43,27 @@ export class MSPointer {
43
43
  /**
44
44
  * TBD.
45
45
  */
46
- public start() {
46
+ public start(): void {
47
47
  if (!this.game.device.mspointer || this._onMSPointerDown !== null) {
48
48
  return;
49
49
  }
50
50
  const scope = this;
51
- this._onMSPointerDown = (event) => {
51
+ this._onMSPointerDown = (event): void => {
52
52
  scope.onPointerDown(event);
53
53
  };
54
- this._onMSPointerMove = (event) => {
54
+ this._onMSPointerMove = (event): void => {
55
55
  scope.onPointerMove(event);
56
56
  };
57
- this._onMSPointerUp = (event) => {
57
+ this._onMSPointerUp = (event): void => {
58
58
  scope.onPointerUp(event);
59
59
  };
60
- this._onMSPointerUpGlobal = (event) => {
60
+ this._onMSPointerUpGlobal = (event): void => {
61
61
  scope.onPointerUpGlobal(event);
62
62
  };
63
- this._onMSPointerOut = (event) => {
63
+ this._onMSPointerOut = (event): void => {
64
64
  scope.onPointerOut(event);
65
65
  };
66
- this._onMSPointerOver = (event) => {
66
+ this._onMSPointerOver = (event): void => {
67
67
  scope.onPointerOver(event);
68
68
  };
69
69
  const { canvas } = this.game;
@@ -88,7 +88,7 @@ export class MSPointer {
88
88
  /**
89
89
  * TBD.
90
90
  */
91
- public stop() {
91
+ public stop(): void {
92
92
  if (!this.game.device.mspointer) {
93
93
  return;
94
94
  }
@@ -141,7 +141,7 @@ export class MSPointer {
141
141
  * TBD.
142
142
  * @param {PointerEvent} event - TBD.
143
143
  */
144
- public onPointerDown(event: InputEvent) {
144
+ public onPointerDown(event: InputEvent): void {
145
145
  this.event = event;
146
146
  this.eventPreventDefault(event);
147
147
  if (this.pointerDownCallback) {
@@ -162,7 +162,7 @@ export class MSPointer {
162
162
  * TBD.
163
163
  * @param {PointerEvent} event - TBD.
164
164
  */
165
- public onPointerMove(event: InputEvent) {
165
+ public onPointerMove(event: InputEvent): void {
166
166
  this.event = event;
167
167
  this.eventPreventDefault(event);
168
168
  if (this.pointerMoveCallback) {
@@ -183,7 +183,7 @@ export class MSPointer {
183
183
  * TBD.
184
184
  * @param {PointerEvent} event - TBD.
185
185
  */
186
- public onPointerUp(event: InputEvent) {
186
+ public onPointerUp(event: InputEvent): void {
187
187
  this.event = event;
188
188
  this.eventPreventDefault(event);
189
189
  if (this.pointerUpCallback) {
@@ -204,7 +204,7 @@ export class MSPointer {
204
204
  * TBD.
205
205
  * @param {PointerEvent} event - TBD.
206
206
  */
207
- public onPointerUpGlobal(event: InputEvent) {
207
+ public onPointerUpGlobal(event: InputEvent): void {
208
208
  if ((event.pointerType === 'mouse' || event.pointerType === 0x00000004) && !this.input.mousePointer.withinGame) {
209
209
  this.onPointerUp(event);
210
210
  } else {
@@ -219,7 +219,7 @@ export class MSPointer {
219
219
  * TBD.
220
220
  * @param {PointerEvent} event - TBD.
221
221
  */
222
- public onPointerOut(event: InputEvent) {
222
+ public onPointerOut(event: InputEvent): void {
223
223
  this.event = event;
224
224
  this.eventPreventDefault(event);
225
225
  let pointer;
@@ -251,7 +251,7 @@ export class MSPointer {
251
251
  * TBD.
252
252
  * @param {PointerEvent} event - TBD.
253
253
  */
254
- public onPointerOver(event: InputEvent) {
254
+ public onPointerOver(event: InputEvent): void {
255
255
  this.event = event;
256
256
  this.eventPreventDefault(event);
257
257
  if (event.pointerType === 'mouse' || event.pointerType === 0x00000004) {
@@ -271,7 +271,7 @@ export class MSPointer {
271
271
  * TBD.
272
272
  * @param {Event} event - TBD.
273
273
  */
274
- public eventPreventDefault(event: Event) {
274
+ public eventPreventDefault(event: Event): void {
275
275
  if (this.capture) {
276
276
  if (typeof event.cancelable !== 'boolean' || event.cancelable) {
277
277
  event.preventDefault();
@@ -12,18 +12,27 @@ import {
12
12
  TOUCH_OVERRIDES_MOUSE,
13
13
  } from './const.js';
14
14
 
15
+ /** A callback deferred until the click that triggered it has finished dispatching. */
16
+ export type ClickTrampoline = {
17
+ name: string;
18
+ targetObject: InputHandler | null;
19
+ callback: Function;
20
+ callbackContext: unknown;
21
+ callbackArgs: unknown[];
22
+ };
23
+
15
24
  export class Pointer {
16
25
  public game!: Game;
17
26
  public id!: number;
18
27
  public type!: number;
19
28
  public exists!: boolean;
20
29
  public identifier!: number | null;
21
- public pointerId!: any;
30
+ public pointerId!: number | null;
22
31
  public pointerMode!: number;
23
32
  public target!: EventTarget | null;
24
- public button!: any;
33
+ public button!: number | null;
25
34
  public _holdSent!: boolean;
26
- public _history!: any;
35
+ public _history!: { x: number; y: number }[];
27
36
  public _nextDrop!: number;
28
37
  public _stateReset!: boolean;
29
38
  public withinGame!: boolean;
@@ -47,16 +56,16 @@ export class Pointer {
47
56
  public previousTapTime!: number;
48
57
  public totalTouches!: number;
49
58
  public msSinceLastClick!: number;
50
- public targetObject!: any;
51
- public interactiveCandidates!: any;
59
+ public targetObject!: InputHandler | null;
60
+ public interactiveCandidates!: InputHandler[];
52
61
  public active!: boolean;
53
62
  public dirty!: boolean;
54
63
  public position!: Point;
55
64
  public positionDown!: Point;
56
65
  public positionUp!: Point;
57
66
  public circle!: Circle;
58
- public _clickTrampolines!: any;
59
- public _trampolineTargetObject!: any;
67
+ public _clickTrampolines!: ClickTrampoline[] | null;
68
+ public _trampolineTargetObject!: InputHandler | null;
60
69
  /**
61
70
  * TBD.
62
71
  * @param {Game} game - TBD.
@@ -113,7 +122,7 @@ export class Pointer {
113
122
  /**
114
123
  * TBD.
115
124
  */
116
- public resetButtons() {
125
+ public resetButtons(): void {
117
126
  this.isDown = false;
118
127
  this.isUp = true;
119
128
  }
@@ -122,7 +131,7 @@ export class Pointer {
122
131
  * TBD.
123
132
  * @param {MouseEvent|PointerEvent} event - TBD.
124
133
  */
125
- public updateButtons(event: InputEvent) {
134
+ public updateButtons(event: InputEvent): void {
126
135
  if (event.type.toLowerCase().endsWith('down')) {
127
136
  this.isUp = false;
128
137
  this.isDown = true;
@@ -137,7 +146,7 @@ export class Pointer {
137
146
  * @param {PointerEvent} event - TBD.
138
147
  * @returns {Pointer} TBD.
139
148
  */
140
- public start(event: InputEvent) {
149
+ public start(event: InputEvent): this {
141
150
  const { input } = this.game;
142
151
  if (event.pointerId) {
143
152
  this.pointerId = event.pointerId;
@@ -186,7 +195,7 @@ export class Pointer {
186
195
  /**
187
196
  * TBD.
188
197
  */
189
- public update() {
198
+ public update(): void {
190
199
  const { input } = this.game;
191
200
  if (this.active) {
192
201
  // Force a check?
@@ -226,7 +235,7 @@ export class Pointer {
226
235
  * @param {boolean} fromClick - TBD.
227
236
  * @returns {Pointer} TBD.
228
237
  */
229
- public move(event: InputEvent, fromClick = false) {
238
+ public move(event: InputEvent, fromClick = false): this | null {
230
239
  const { input } = this.game;
231
240
  if (input.pollLocked) {
232
241
  return null;
@@ -275,8 +284,8 @@ export class Pointer {
275
284
  moveCallback.callback.call(moveCallback.context, this, this.x, this.y, fromClick);
276
285
  }
277
286
  // Easy out if we're dragging something and it still exists
278
- if (this.targetObject !== null && this.targetObject.isDragged === true) {
279
- if (this.targetObject.update(this) === false) {
287
+ if (this.targetObject !== null && this.targetObject.isDragged) {
288
+ if (!this.targetObject.update(this)) {
280
289
  this.targetObject = null;
281
290
  }
282
291
  } else if (input.interactiveItems.total > 0) {
@@ -290,7 +299,7 @@ export class Pointer {
290
299
  * @param {boolean} fromClick - TBD.
291
300
  * @returns {boolean} TBD.
292
301
  */
293
- public processInteractiveObjects(fromClick = false) {
302
+ public processInteractiveObjects(fromClick = false): boolean {
294
303
  // Work out which object is on the top
295
304
  let highestRenderOrderID = 0;
296
305
  let highestInputPriorityID = -1;
@@ -352,7 +361,7 @@ export class Pointer {
352
361
  * @param {InputHandler} newTarget - TBD.
353
362
  * @param {boolean} silent - TBD.
354
363
  */
355
- public swapTarget(newTarget: InputHandler, silent = false) {
364
+ public swapTarget(newTarget: InputHandler, silent = false): void {
356
365
  // Now we know the top-most item (if any) we can process it
357
366
  if (newTarget === null) {
358
367
  // The pointer isn't currently over anything, check if we've got a lingering previous target
@@ -383,7 +392,7 @@ export class Pointer {
383
392
  * TBD.
384
393
  * @param {MouseEvent|PointerEvent} event - TBD.
385
394
  */
386
- public leave(event: InputEvent) {
395
+ public leave(event: InputEvent): void {
387
396
  this.withinGame = false;
388
397
  this.move(event, false);
389
398
  }
@@ -393,7 +402,7 @@ export class Pointer {
393
402
  * @param {MouseEvent|PointerEvent} event - TBD.
394
403
  * @returns {Pointer} TBD.
395
404
  */
396
- public stop(event: InputEvent) {
405
+ public stop(event: InputEvent): this | null {
397
406
  const { input } = this.game;
398
407
  if (this._stateReset && this.withinGame) {
399
408
  event.preventDefault();
@@ -446,7 +455,7 @@ export class Pointer {
446
455
  * @param {number} duration - TBD.
447
456
  * @returns {boolean} TBD.
448
457
  */
449
- public justPressed(duration: number) {
458
+ public justPressed(duration: number): boolean {
450
459
  duration = duration || this.game.input.justPressedRate;
451
460
  return this.isDown && this.timeDown + duration > this.game.time.time;
452
461
  }
@@ -456,7 +465,7 @@ export class Pointer {
456
465
  * @param {number} duration - TBD.
457
466
  * @returns {boolean} TBD.
458
467
  */
459
- public justReleased(duration: number) {
468
+ public justReleased(duration: number): boolean {
460
469
  duration = duration || this.game.input.justReleasedRate;
461
470
  return this.isUp && this.timeUp + duration > this.game.time.time;
462
471
  }
@@ -468,14 +477,14 @@ export class Pointer {
468
477
  * @param {object} callbackContext - TBD.
469
478
  * @param {...any} callbackArgs - TBD.
470
479
  */
471
- public addClickTrampoline(name: string, callback: Function, callbackContext: unknown, callbackArgs: any) {
480
+ public addClickTrampoline(name: string, callback: Function, callbackContext: unknown, callbackArgs: unknown[]): void {
472
481
  if (!this.isDown) {
473
482
  return;
474
483
  }
475
484
  this._clickTrampolines = this._clickTrampolines ?? [];
476
485
  const trampolines = this._clickTrampolines;
477
486
  for (let i = 0; i < trampolines.length; i += 1) {
478
- if (trampolines[i].name === name) {
487
+ if (trampolines[i]!.name === name) {
479
488
  trampolines.splice(i, 1);
480
489
  break;
481
490
  }
@@ -492,7 +501,7 @@ export class Pointer {
492
501
  /**
493
502
  * TBD.
494
503
  */
495
- public processClickTrampolines() {
504
+ public processClickTrampolines(): void {
496
505
  const trampolines = this._clickTrampolines;
497
506
  if (!trampolines) {
498
507
  return;
@@ -509,7 +518,7 @@ export class Pointer {
509
518
  /**
510
519
  * TBD.
511
520
  */
512
- public reset() {
521
+ public reset(): void {
513
522
  if (!this.isMouse) {
514
523
  this.active = false;
515
524
  }
@@ -530,7 +539,7 @@ export class Pointer {
530
539
  /**
531
540
  * TBD.
532
541
  */
533
- public resetMovement() {
542
+ public resetMovement(): void {
534
543
  this.movementX = 0;
535
544
  this.movementY = 0;
536
545
  }
@@ -539,7 +548,7 @@ export class Pointer {
539
548
  * TBD.
540
549
  * @returns {number} TBD.
541
550
  */
542
- public get duration() {
551
+ public get duration(): number {
543
552
  if (this.isUp) {
544
553
  return -1;
545
554
  }
@@ -550,7 +559,7 @@ export class Pointer {
550
559
  * TBD.
551
560
  * @returns {number} TBD.
552
561
  */
553
- public get worldX() {
562
+ public get worldX(): number {
554
563
  return this.x;
555
564
  }
556
565
 
@@ -558,7 +567,7 @@ export class Pointer {
558
567
  * TBD.
559
568
  * @returns {number} TBD.
560
569
  */
561
- public get worldY() {
570
+ public get worldY(): number {
562
571
  return this.y;
563
572
  }
564
573
  }
@@ -47,27 +47,27 @@ export class Touch {
47
47
  /**
48
48
  * TBD.
49
49
  */
50
- public start() {
50
+ public start(): void {
51
51
  if (!this.game.device.touch || this._onTouchStart !== null) {
52
52
  return;
53
53
  }
54
54
  const scope = this;
55
- this._onTouchStart = (event) => {
55
+ this._onTouchStart = (event): void => {
56
56
  scope.onTouchStart(event);
57
57
  };
58
- this._onTouchMove = (event) => {
58
+ this._onTouchMove = (event): void => {
59
59
  scope.onTouchMove(event);
60
60
  };
61
- this._onTouchEnd = (event) => {
61
+ this._onTouchEnd = (event): void => {
62
62
  scope.onTouchEnd(event);
63
63
  };
64
- this._onTouchEnter = (event) => {
64
+ this._onTouchEnter = (event): void => {
65
65
  scope.onTouchEnter(event);
66
66
  };
67
- this._onTouchLeave = (event) => {
67
+ this._onTouchLeave = (event): void => {
68
68
  scope.onTouchLeave(event);
69
69
  };
70
- this._onTouchCancel = (event) => {
70
+ this._onTouchCancel = (event): void => {
71
71
  scope.onTouchCancel(event);
72
72
  };
73
73
  this.game.canvas.addEventListener('touchstart', this._onTouchStart, false);
@@ -81,7 +81,7 @@ export class Touch {
81
81
  /**
82
82
  * TBD.
83
83
  */
84
- public stop() {
84
+ public stop(): void {
85
85
  if (!this.game.device.touch) {
86
86
  return;
87
87
  }
@@ -108,8 +108,8 @@ export class Touch {
108
108
  /**
109
109
  * TBD.
110
110
  */
111
- public consumeDocumentTouches() {
112
- this._documentTouchMove = (event) => {
111
+ public consumeDocumentTouches(): void {
112
+ this._documentTouchMove = (event): void => {
113
113
  event.preventDefault();
114
114
  };
115
115
  document.addEventListener('touchmove', this._documentTouchMove, false);
@@ -119,7 +119,7 @@ export class Touch {
119
119
  * TBD.
120
120
  * @param {TouchEvent} event - TBD.
121
121
  */
122
- public onTouchStart(event: InputEvent) {
122
+ public onTouchStart(event: InputEvent): void {
123
123
  this.event = event;
124
124
  if (!this.game.input.enabled || !this.enabled) {
125
125
  return;
@@ -141,7 +141,7 @@ export class Touch {
141
141
  * TBD.
142
142
  * @param {TouchEvent} event - TBD.
143
143
  */
144
- public onTouchCancel(event: InputEvent) {
144
+ public onTouchCancel(event: InputEvent): void {
145
145
  this.event = event;
146
146
  if (this.touchCancelCallback) {
147
147
  this.touchCancelCallback.call(this.callbackContext, event);
@@ -162,7 +162,7 @@ export class Touch {
162
162
  * TBD.
163
163
  * @param {TouchEvent} event - TBD.
164
164
  */
165
- public onTouchEnter(event: InputEvent) {
165
+ public onTouchEnter(event: InputEvent): void {
166
166
  this.event = event;
167
167
  if (this.touchEnterCallback) {
168
168
  this.touchEnterCallback.call(this.callbackContext, event);
@@ -177,7 +177,7 @@ export class Touch {
177
177
  * TBD.
178
178
  * @param {TouchEvent} event - TBD.
179
179
  */
180
- public onTouchLeave(event: InputEvent) {
180
+ public onTouchLeave(event: InputEvent): void {
181
181
  this.event = event;
182
182
  if (this.touchLeaveCallback) {
183
183
  this.touchLeaveCallback.call(this.callbackContext, event);
@@ -189,7 +189,7 @@ export class Touch {
189
189
  * TBD.
190
190
  * @param {TouchEvent} event - TBD.
191
191
  */
192
- public onTouchMove(event: InputEvent) {
192
+ public onTouchMove(event: InputEvent): void {
193
193
  this.event = event;
194
194
  if (this.touchMoveCallback) {
195
195
  this.touchMoveCallback.call(this.callbackContext, event);
@@ -205,7 +205,7 @@ export class Touch {
205
205
  * TBD.
206
206
  * @param {TouchEvent} event - TBD.
207
207
  */
208
- public onTouchEnd(event: InputEvent) {
208
+ public onTouchEnd(event: InputEvent): void {
209
209
  this.event = event;
210
210
  if (this.touchEndCallback) {
211
211
  this.touchEndCallback.call(this.callbackContext, event);
@@ -224,7 +224,7 @@ export class Touch {
224
224
  * TBD.
225
225
  * @param {TouchEvent} event - TBD.
226
226
  */
227
- public eventPreventDefault(event: InputEvent) {
227
+ public eventPreventDefault(event: InputEvent): void {
228
228
  if (this.preventDefault) {
229
229
  if (typeof event.cancelable !== 'boolean' || event.cancelable) {
230
230
  event.preventDefault();