@vpmedia/phaser 1.105.0 → 1.107.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 (236) hide show
  1. package/dist/index.d.ts +5 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +238 -244
  4. package/dist/index.js.map +1 -1
  5. package/dist/phaser/core/animation.d.ts +2 -2
  6. package/dist/phaser/core/animation.d.ts.map +1 -1
  7. package/dist/phaser/core/animation_manager.d.ts +2 -2
  8. package/dist/phaser/core/animation_manager.d.ts.map +1 -1
  9. package/dist/phaser/core/animation_parser.d.ts +2 -2
  10. package/dist/phaser/core/animation_parser.d.ts.map +1 -1
  11. package/dist/phaser/core/array_set.d.ts.map +1 -1
  12. package/dist/phaser/core/cache.d.ts +6 -6
  13. package/dist/phaser/core/cache.d.ts.map +1 -1
  14. package/dist/phaser/core/device.d.ts.map +1 -1
  15. package/dist/phaser/core/device_util.d.ts.map +1 -1
  16. package/dist/phaser/core/dom.d.ts +2 -2
  17. package/dist/phaser/core/dom.d.ts.map +1 -1
  18. package/dist/phaser/core/event_manager.d.ts.map +1 -1
  19. package/dist/phaser/core/factory.d.ts +1 -1
  20. package/dist/phaser/core/factory.d.ts.map +1 -1
  21. package/dist/phaser/core/frame.d.ts.map +1 -1
  22. package/dist/phaser/core/frame_data.d.ts.map +1 -1
  23. package/dist/phaser/core/frame_util.d.ts.map +1 -1
  24. package/dist/phaser/core/game.d.ts +1 -1
  25. package/dist/phaser/core/game.d.ts.map +1 -1
  26. package/dist/phaser/core/input.d.ts +3 -3
  27. package/dist/phaser/core/input.d.ts.map +1 -1
  28. package/dist/phaser/core/input_handler.d.ts +8 -8
  29. package/dist/phaser/core/input_handler.d.ts.map +1 -1
  30. package/dist/phaser/core/input_mouse.d.ts +8 -8
  31. package/dist/phaser/core/input_mouse.d.ts.map +1 -1
  32. package/dist/phaser/core/input_mspointer.d.ts +6 -6
  33. package/dist/phaser/core/input_mspointer.d.ts.map +1 -1
  34. package/dist/phaser/core/input_pointer.d.ts +3 -3
  35. package/dist/phaser/core/input_pointer.d.ts.map +1 -1
  36. package/dist/phaser/core/input_touch.d.ts +7 -7
  37. package/dist/phaser/core/input_touch.d.ts.map +1 -1
  38. package/dist/phaser/core/loader.d.ts +16 -6
  39. package/dist/phaser/core/loader.d.ts.map +1 -1
  40. package/dist/phaser/core/loader_parser.d.ts +4 -4
  41. package/dist/phaser/core/loader_parser.d.ts.map +1 -1
  42. package/dist/phaser/core/raf.d.ts.map +1 -1
  43. package/dist/phaser/core/scale_manager.d.ts +5 -5
  44. package/dist/phaser/core/scale_manager.d.ts.map +1 -1
  45. package/dist/phaser/core/scene.d.ts +3 -3
  46. package/dist/phaser/core/scene.d.ts.map +1 -1
  47. package/dist/phaser/core/scene_manager.d.ts.map +1 -1
  48. package/dist/phaser/core/signal.d.ts +7 -7
  49. package/dist/phaser/core/signal.d.ts.map +1 -1
  50. package/dist/phaser/core/signal_binding.d.ts +1 -1
  51. package/dist/phaser/core/signal_binding.d.ts.map +1 -1
  52. package/dist/phaser/core/sound.d.ts +3 -3
  53. package/dist/phaser/core/sound.d.ts.map +1 -1
  54. package/dist/phaser/core/sound_manager.d.ts +1 -1
  55. package/dist/phaser/core/sound_manager.d.ts.map +1 -1
  56. package/dist/phaser/core/sound_sprite.d.ts.map +1 -1
  57. package/dist/phaser/core/stage.d.ts.map +1 -1
  58. package/dist/phaser/core/time.d.ts.map +1 -1
  59. package/dist/phaser/core/timer.d.ts +5 -5
  60. package/dist/phaser/core/timer.d.ts.map +1 -1
  61. package/dist/phaser/core/timer_event.d.ts.map +1 -1
  62. package/dist/phaser/core/tween.d.ts +1 -1
  63. package/dist/phaser/core/tween.d.ts.map +1 -1
  64. package/dist/phaser/core/tween_data.d.ts +1 -1
  65. package/dist/phaser/core/tween_data.d.ts.map +1 -1
  66. package/dist/phaser/core/tween_easing.d.ts.map +1 -1
  67. package/dist/phaser/core/tween_manager.d.ts +1 -1
  68. package/dist/phaser/core/tween_manager.d.ts.map +1 -1
  69. package/dist/phaser/core/world.d.ts.map +1 -1
  70. package/dist/phaser/display/bitmap_text.d.ts +3 -3
  71. package/dist/phaser/display/bitmap_text.d.ts.map +1 -1
  72. package/dist/phaser/display/button.d.ts +12 -11
  73. package/dist/phaser/display/button.d.ts.map +1 -1
  74. package/dist/phaser/display/canvas/buffer.d.ts.map +1 -1
  75. package/dist/phaser/display/canvas/graphics.d.ts +3 -3
  76. package/dist/phaser/display/canvas/graphics.d.ts.map +1 -1
  77. package/dist/phaser/display/canvas/masker.d.ts.map +1 -1
  78. package/dist/phaser/display/canvas/pool.d.ts.map +1 -1
  79. package/dist/phaser/display/canvas/renderer.d.ts +2 -2
  80. package/dist/phaser/display/canvas/renderer.d.ts.map +1 -1
  81. package/dist/phaser/display/canvas/tinter.d.ts +1 -1
  82. package/dist/phaser/display/canvas/tinter.d.ts.map +1 -1
  83. package/dist/phaser/display/canvas/util.d.ts +1 -1
  84. package/dist/phaser/display/canvas/util.d.ts.map +1 -1
  85. package/dist/phaser/display/display_object.d.ts +12 -21
  86. package/dist/phaser/display/display_object.d.ts.map +1 -1
  87. package/dist/phaser/display/graphics.d.ts +1 -1
  88. package/dist/phaser/display/graphics.d.ts.map +1 -1
  89. package/dist/phaser/display/graphics_data.d.ts.map +1 -1
  90. package/dist/phaser/display/graphics_data_util.d.ts.map +1 -1
  91. package/dist/phaser/display/group.d.ts +3 -3
  92. package/dist/phaser/display/group.d.ts.map +1 -1
  93. package/dist/phaser/display/image.d.ts +8 -8
  94. package/dist/phaser/display/image.d.ts.map +1 -1
  95. package/dist/phaser/display/sprite_batch.d.ts.map +1 -1
  96. package/dist/phaser/display/sprite_util.d.ts +5 -5
  97. package/dist/phaser/display/sprite_util.d.ts.map +1 -1
  98. package/dist/phaser/display/text.d.ts +8 -7
  99. package/dist/phaser/display/text.d.ts.map +1 -1
  100. package/dist/phaser/display/webgl/abstract_filter.d.ts.map +1 -1
  101. package/dist/phaser/display/webgl/base_texture.d.ts.map +1 -1
  102. package/dist/phaser/display/webgl/blend_manager.d.ts.map +1 -1
  103. package/dist/phaser/display/webgl/earcut.d.ts +5 -5
  104. package/dist/phaser/display/webgl/earcut.d.ts.map +1 -1
  105. package/dist/phaser/display/webgl/earcut_node.d.ts.map +1 -1
  106. package/dist/phaser/display/webgl/fast_sprite_batch.d.ts +3 -2
  107. package/dist/phaser/display/webgl/fast_sprite_batch.d.ts.map +1 -1
  108. package/dist/phaser/display/webgl/filter_manager.d.ts.map +1 -1
  109. package/dist/phaser/display/webgl/filter_texture.d.ts.map +1 -1
  110. package/dist/phaser/display/webgl/graphics.d.ts +4 -3
  111. package/dist/phaser/display/webgl/graphics.d.ts.map +1 -1
  112. package/dist/phaser/display/webgl/graphics_data.d.ts.map +1 -1
  113. package/dist/phaser/display/webgl/mask_manager.d.ts.map +1 -1
  114. package/dist/phaser/display/webgl/render_texture.d.ts +2 -2
  115. package/dist/phaser/display/webgl/render_texture.d.ts.map +1 -1
  116. package/dist/phaser/display/webgl/renderer.d.ts.map +1 -1
  117. package/dist/phaser/display/webgl/shader/complex.d.ts.map +1 -1
  118. package/dist/phaser/display/webgl/shader/fast.d.ts.map +1 -1
  119. package/dist/phaser/display/webgl/shader/normal.d.ts +1 -1
  120. package/dist/phaser/display/webgl/shader/normal.d.ts.map +1 -1
  121. package/dist/phaser/display/webgl/shader/primitive.d.ts.map +1 -1
  122. package/dist/phaser/display/webgl/shader/strip.d.ts.map +1 -1
  123. package/dist/phaser/display/webgl/shader_manager.d.ts +2 -1
  124. package/dist/phaser/display/webgl/shader_manager.d.ts.map +1 -1
  125. package/dist/phaser/display/webgl/sprite_batch.d.ts +2 -1
  126. package/dist/phaser/display/webgl/sprite_batch.d.ts.map +1 -1
  127. package/dist/phaser/display/webgl/stencil_manager.d.ts.map +1 -1
  128. package/dist/phaser/display/webgl/texture.d.ts.map +1 -1
  129. package/dist/phaser/display/webgl/texture_util.d.ts.map +1 -1
  130. package/dist/phaser/display/webgl/util.d.ts +8 -4
  131. package/dist/phaser/display/webgl/util.d.ts.map +1 -1
  132. package/dist/phaser/geom/circle.d.ts +1 -1
  133. package/dist/phaser/geom/circle.d.ts.map +1 -1
  134. package/dist/phaser/geom/ellipse.d.ts +1 -1
  135. package/dist/phaser/geom/ellipse.d.ts.map +1 -1
  136. package/dist/phaser/geom/line.d.ts +3 -3
  137. package/dist/phaser/geom/line.d.ts.map +1 -1
  138. package/dist/phaser/geom/matrix.d.ts +3 -3
  139. package/dist/phaser/geom/matrix.d.ts.map +1 -1
  140. package/dist/phaser/geom/point.d.ts.map +1 -1
  141. package/dist/phaser/geom/polygon.d.ts +1 -1
  142. package/dist/phaser/geom/polygon.d.ts.map +1 -1
  143. package/dist/phaser/geom/rectangle.d.ts +2 -2
  144. package/dist/phaser/geom/rectangle.d.ts.map +1 -1
  145. package/dist/phaser/geom/rounded_rectangle.d.ts.map +1 -1
  146. package/dist/phaser/geom/util/circle.d.ts +3 -3
  147. package/dist/phaser/geom/util/circle.d.ts.map +1 -1
  148. package/dist/phaser/geom/util/ellipse.d.ts +1 -1
  149. package/dist/phaser/geom/util/ellipse.d.ts.map +1 -1
  150. package/dist/phaser/geom/util/line.d.ts +3 -3
  151. package/dist/phaser/geom/util/line.d.ts.map +1 -1
  152. package/dist/phaser/geom/util/matrix.d.ts +1 -1
  153. package/dist/phaser/geom/util/matrix.d.ts.map +1 -1
  154. package/dist/phaser/geom/util/point.d.ts +15 -15
  155. package/dist/phaser/geom/util/point.d.ts.map +1 -1
  156. package/dist/phaser/geom/util/polygon.d.ts +1 -1
  157. package/dist/phaser/geom/util/polygon.d.ts.map +1 -1
  158. package/dist/phaser/geom/util/rectangle.d.ts +5 -5
  159. package/dist/phaser/geom/util/rectangle.d.ts.map +1 -1
  160. package/dist/phaser/geom/util/rounded_rectangle.d.ts +1 -1
  161. package/dist/phaser/geom/util/rounded_rectangle.d.ts.map +1 -1
  162. package/dist/phaser/util/math.d.ts.map +1 -1
  163. package/package.json +15 -15
  164. package/src/index.ts +8 -0
  165. package/src/phaser/core/animation.ts +16 -8
  166. package/src/phaser/core/animation_manager.ts +11 -5
  167. package/src/phaser/core/cache.ts +9 -8
  168. package/src/phaser/core/device.ts +24 -24
  169. package/src/phaser/core/device_util.ts +4 -2
  170. package/src/phaser/core/dom.ts +2 -2
  171. package/src/phaser/core/factory.ts +3 -5
  172. package/src/phaser/core/game.ts +21 -34
  173. package/src/phaser/core/input.ts +9 -5
  174. package/src/phaser/core/input_handler.ts +22 -7
  175. package/src/phaser/core/input_mouse.ts +8 -84
  176. package/src/phaser/core/input_mspointer.ts +22 -18
  177. package/src/phaser/core/input_pointer.ts +48 -48
  178. package/src/phaser/core/input_touch.ts +7 -7
  179. package/src/phaser/core/loader.ts +46 -31
  180. package/src/phaser/core/loader_parser.ts +34 -8
  181. package/src/phaser/core/scale_manager.ts +5 -5
  182. package/src/phaser/core/scene.ts +5 -5
  183. package/src/phaser/core/signal.ts +15 -9
  184. package/src/phaser/core/signal_binding.ts +8 -1
  185. package/src/phaser/core/sound.ts +18 -21
  186. package/src/phaser/core/sound_manager.ts +3 -3
  187. package/src/phaser/core/sound_sprite.ts +7 -7
  188. package/src/phaser/core/stage.ts +6 -6
  189. package/src/phaser/core/time.ts +28 -28
  190. package/src/phaser/core/timer.ts +4 -4
  191. package/src/phaser/core/tween.ts +31 -9
  192. package/src/phaser/core/tween_data.ts +2 -2
  193. package/src/phaser/core/tween_manager.ts +7 -7
  194. package/src/phaser/display/bitmap_text.ts +6 -6
  195. package/src/phaser/display/button.ts +38 -19
  196. package/src/phaser/display/canvas/buffer.ts +4 -4
  197. package/src/phaser/display/canvas/renderer.ts +2 -2
  198. package/src/phaser/display/canvas/util.ts +21 -13
  199. package/src/phaser/display/display_object.ts +17 -31
  200. package/src/phaser/display/graphics.ts +9 -9
  201. package/src/phaser/display/graphics_data.ts +19 -11
  202. package/src/phaser/display/group.ts +8 -8
  203. package/src/phaser/display/image.ts +26 -20
  204. package/src/phaser/display/sprite_util.ts +16 -4
  205. package/src/phaser/display/text.ts +9 -9
  206. package/src/phaser/display/webgl/blend_manager.ts +2 -2
  207. package/src/phaser/display/webgl/earcut.ts +31 -6
  208. package/src/phaser/display/webgl/fast_sprite_batch.ts +19 -17
  209. package/src/phaser/display/webgl/filter_manager.ts +3 -3
  210. package/src/phaser/display/webgl/filter_texture.ts +4 -4
  211. package/src/phaser/display/webgl/graphics.ts +11 -3
  212. package/src/phaser/display/webgl/graphics_data.ts +9 -9
  213. package/src/phaser/display/webgl/render_texture.ts +9 -3
  214. package/src/phaser/display/webgl/shader/complex.ts +5 -5
  215. package/src/phaser/display/webgl/shader/fast.ts +6 -6
  216. package/src/phaser/display/webgl/shader/normal.ts +11 -11
  217. package/src/phaser/display/webgl/shader/primitive.ts +5 -5
  218. package/src/phaser/display/webgl/shader/strip.ts +5 -5
  219. package/src/phaser/display/webgl/shader_manager.ts +12 -11
  220. package/src/phaser/display/webgl/sprite_batch.ts +18 -17
  221. package/src/phaser/display/webgl/stencil_manager.ts +18 -6
  222. package/src/phaser/display/webgl/texture.ts +6 -1
  223. package/src/phaser/display/webgl/util.ts +17 -4
  224. package/src/phaser/geom/circle.ts +1 -1
  225. package/src/phaser/geom/ellipse.ts +1 -1
  226. package/src/phaser/geom/line.ts +2 -2
  227. package/src/phaser/geom/matrix.ts +3 -3
  228. package/src/phaser/geom/polygon.ts +1 -1
  229. package/src/phaser/geom/rectangle.ts +2 -2
  230. package/src/phaser/geom/util/circle.ts +8 -3
  231. package/src/phaser/geom/util/line.ts +9 -2
  232. package/src/phaser/geom/util/matrix.ts +1 -1
  233. package/src/phaser/geom/util/point.ts +23 -16
  234. package/src/phaser/geom/util/polygon.ts +1 -1
  235. package/src/phaser/geom/util/rectangle.ts +13 -6
  236. package/src/phaser/geom/util/rounded_rectangle.ts +1 -1
@@ -211,7 +211,7 @@ export class DOM {
211
211
  * @param {Point} point - Optional Point object to store the result.
212
212
  * @returns {Point} The offset position of the element.
213
213
  */
214
- getOffset(element: HTMLCanvasElement, point: Point = null) {
214
+ getOffset(element: HTMLCanvasElement, point: Point | null = null) {
215
215
  point = point || new Point();
216
216
  const box = element.getBoundingClientRect();
217
217
  const scrollTop = this.scrollY;
@@ -230,7 +230,7 @@ export class DOM {
230
230
  * @returns {boolean} True if bounds were successfully retrieved, false otherwise.
231
231
  */
232
232
  getBounds(element: HTMLCanvasElement, cushion: number = 0) {
233
- element = element && !element.nodeType ? element[0] : element;
233
+ element = element && !element.nodeType ? (element as unknown as HTMLCanvasElement[])[0] : element;
234
234
  if (!element || element.nodeType !== 1) {
235
235
  return false;
236
236
  }
@@ -24,11 +24,9 @@ export class GameObjectFactory {
24
24
  * @param {Group} group - The parent group for the image.
25
25
  * @returns {Image} The created Image object.
26
26
  */
27
- image(x: number, y: number, key: string, frame: any, group: Group = null) {
28
- if (!group) {
29
- group = this.game.world;
30
- }
31
- return group.add(new Image(this.game, x, y, key, frame));
27
+ image(x: number, y: number, key: string, frame: any, group: Group | null = null) {
28
+ const target = group ?? this.game.world;
29
+ return target.add(new Image(this.game, x, y, key, frame));
32
30
  }
33
31
 
34
32
  /**
@@ -43,7 +43,12 @@ export class Game {
43
43
  device!: Device;
44
44
  logger!: Logger;
45
45
  canvas!: HTMLCanvasElement;
46
- context!: CanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext;
46
+ context!:
47
+ | CanvasRenderingContext2D
48
+ | ImageBitmapRenderingContext
49
+ | WebGLRenderingContext
50
+ | WebGL2RenderingContext
51
+ | null;
47
52
  onPause!: Signal;
48
53
  onResume!: Signal;
49
54
  onBoot!: Signal;
@@ -79,27 +84,9 @@ export class Game {
79
84
  this.parent = '';
80
85
  this.width = 800;
81
86
  this.height = 600;
82
- this.renderer = null;
83
- this.state = null;
84
87
  this.isBooted = false;
85
88
  this.paused = false;
86
- this.raf = null;
87
- this.add = null;
88
- this.cache = null;
89
- this.input = null;
90
- this.load = null;
91
- this.scale = null;
92
- this.sound = null;
93
- this.stage = null;
94
- this.time = null;
95
- this.tweens = null;
96
- this.world = null;
97
89
  this.device = new Device();
98
- /** @type {Logger} */
99
- this.logger = null;
100
- /** @type {HTMLCanvasElement} */
101
- this.canvas = null;
102
- /** @type {CanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext} */
103
90
  this.context = null;
104
91
  this.onPause = new Signal();
105
92
  this.onResume = new Signal();
@@ -172,12 +159,12 @@ export class Game {
172
159
  this.canvas = create(this, this.width, this.height, this.config.canvasID, true);
173
160
  }
174
161
  if (this.config.canvasStyle) {
175
- const properties = Object.keys(this.config.canvasStyle);
176
- for (const property of properties) {
177
- this.canvas.style[property] = this.config.canvasStyle[property];
162
+ const canvasStyle = this.config.canvasStyle as Record<string, string>;
163
+ for (const property of Object.keys(canvasStyle)) {
164
+ this.canvas.style.setProperty(property, canvasStyle[property]);
178
165
  }
179
166
  } else {
180
- this.canvas.style['-webkit-full-screen'] = 'width: 100%; height: 100%';
167
+ this.canvas.style.setProperty('-webkit-full-screen', 'width: 100%; height: 100%');
181
168
  }
182
169
  }
183
170
 
@@ -355,16 +342,16 @@ export class Game {
355
342
  this.renderer.destroy(false);
356
343
  removeFromDOM(this.canvas);
357
344
 
358
- this.cache = null;
359
- this.load = null;
360
- this.time = null;
361
- this.world = null;
362
- this.state = null;
363
- this.sound = null;
364
- this.scale = null;
365
- this.stage = null;
366
- this.input = null;
367
- this.canvas = null;
368
- this.renderer = null;
345
+ this.cache = null!;
346
+ this.load = null!;
347
+ this.time = null!;
348
+ this.world = null!;
349
+ this.state = null!;
350
+ this.sound = null!;
351
+ this.scale = null!;
352
+ this.stage = null!;
353
+ this.input = null!;
354
+ this.canvas = null!;
355
+ this.renderer = null!;
369
356
  }
370
357
  }
@@ -220,7 +220,7 @@ export class Input {
220
220
  const id = this.pointers.length + 1;
221
221
  const pointer = new Pointer(this.game, id, POINTER_CONTACT);
222
222
  this.pointers.push(pointer);
223
- this[`pointer${id}`] = pointer;
223
+ (this as unknown as Record<string, Pointer>)[`pointer${id}`] = pointer;
224
224
  return pointer;
225
225
  }
226
226
 
@@ -286,7 +286,7 @@ export class Input {
286
286
  * @param {MouseEvent|TouchEvent|PointerEvent} event - TBD.
287
287
  * @returns {Pointer} TBD.
288
288
  */
289
- startPointer(event: any|TouchEvent|PointerEvent) {
289
+ startPointer(event: any | TouchEvent | PointerEvent) {
290
290
  if (this.maxPointers >= 0 && this.countActivePointers(this.maxPointers) >= this.maxPointers) {
291
291
  return null;
292
292
  }
@@ -310,7 +310,7 @@ export class Input {
310
310
  * @param {MouseEvent|TouchEvent|PointerEvent} event - TBD.
311
311
  * @returns {Pointer} TBD.
312
312
  */
313
- updatePointer(event: any|TouchEvent|PointerEvent) {
313
+ updatePointer(event: any | TouchEvent | PointerEvent) {
314
314
  if (this.pointer1.active && this.pointer1.identifier === event.identifier) {
315
315
  return this.pointer1.move(event);
316
316
  }
@@ -331,7 +331,7 @@ export class Input {
331
331
  * @param {MouseEvent|TouchEvent|PointerEvent} event - TBD.
332
332
  * @returns {Pointer} TBD.
333
333
  */
334
- stopPointer(event: any|TouchEvent|PointerEvent) {
334
+ stopPointer(event: any | TouchEvent | PointerEvent) {
335
335
  if (this.pointer1.active && this.pointer1.identifier === event.identifier) {
336
336
  return this.pointer1.stop(event);
337
337
  }
@@ -417,7 +417,11 @@ export class Input {
417
417
  * @param {Point} output - TBD.
418
418
  * @returns {Point} TBD.
419
419
  */
420
- getLocalPosition(displayObject: import('../display/display_object.js').DisplayObject, pointer: Pointer, output: Point = null) {
420
+ getLocalPosition(
421
+ displayObject: import('../display/display_object.js').DisplayObject,
422
+ pointer: Pointer,
423
+ output: Point | null = null
424
+ ) {
421
425
  const result = output || new Point();
422
426
  const wt = displayObject.worldTransform;
423
427
  const id = 1 / (wt.a * wt.d + wt.c * -wt.b);
@@ -42,7 +42,7 @@ export class InputHandler {
42
42
  _dragTimePass!: any;
43
43
  _dragDistancePass!: any;
44
44
  _wasEnabled!: any;
45
- _tempPoint!: any;
45
+ _tempPoint!: import('../geom/point.js').Point;
46
46
  _pointerData!: any;
47
47
  _dx!: any;
48
48
  _dy!: any;
@@ -324,7 +324,7 @@ export class InputHandler {
324
324
  * @param {number} pointerId - TBD.
325
325
  * @returns {boolean} TBD.
326
326
  */
327
- pointerOver(pointerId: number = null) {
327
+ pointerOver(pointerId: number | null = null) {
328
328
  if (!this.enabled) {
329
329
  return false;
330
330
  }
@@ -344,7 +344,7 @@ export class InputHandler {
344
344
  * @param {number} pointerId - TBD.
345
345
  * @returns {boolean} TBD.
346
346
  */
347
- pointerOut(pointerId: number = null) {
347
+ pointerOut(pointerId: number | null = null) {
348
348
  if (!this.enabled) {
349
349
  return false;
350
350
  }
@@ -354,6 +354,7 @@ export class InputHandler {
354
354
  return true;
355
355
  }
356
356
  }
357
+ return false;
357
358
  }
358
359
  return this._pointerData[pointerId].isOut;
359
360
  }
@@ -449,10 +450,10 @@ export class InputHandler {
449
450
  * @param {import('./input_pointer.js').Pointer} pointer - TBD.
450
451
  * @returns {boolean} TBD.
451
452
  */
452
- checkPixel(x: number, y: number, pointer?: any) {
453
+ checkPixel(x: number | null, y: number | null, pointer?: any) {
453
454
  // Grab a pixel from our image into the hitCanvas and then test it
454
455
  if (this.sprite.texture.baseTexture.source) {
455
- if (x === null && y === null) {
456
+ if (x === null || y === null) {
456
457
  // Use the pointer parameter
457
458
  this.game.input.getLocalPosition(this.sprite, pointer, this._tempPoint);
458
459
  x = this._tempPoint.x;
@@ -813,7 +814,14 @@ export class InputHandler {
813
814
  * @param {import('../geom/rectangle.js').Rectangle | null | undefined} boundsRect - TBD.
814
815
  * @param {import('../display/display_object.js').DisplayObject | null | undefined} boundsSprite - TBD.
815
816
  */
816
- enableDrag(lockCenter: boolean = false, bringToTop: boolean = false, pixelPerfect: boolean = false, alphaThreshold: number = 255, boundsRect: import('../geom/rectangle.js').Rectangle | null | undefined = null, boundsSprite: import('../display/display_object.js').DisplayObject | null | undefined = null) {
817
+ enableDrag(
818
+ lockCenter: boolean = false,
819
+ bringToTop: boolean = false,
820
+ pixelPerfect: boolean = false,
821
+ alphaThreshold: number = 255,
822
+ boundsRect: import('../geom/rectangle.js').Rectangle | null | undefined = null,
823
+ boundsSprite: import('../display/display_object.js').DisplayObject | null | undefined = null
824
+ ) {
817
825
  this._dragPoint = new Point();
818
826
  this.draggable = true;
819
827
  this.bringToTop = bringToTop;
@@ -944,7 +952,14 @@ export class InputHandler {
944
952
  * @param {number} snapOffsetX - TBD.
945
953
  * @param {number} snapOffsetY - TBD.
946
954
  */
947
- enableSnap(snapX: number, snapY: number, onDrag: boolean = true, onRelease: boolean = false, snapOffsetX: number = 0, snapOffsetY: number = 0) {
955
+ enableSnap(
956
+ snapX: number,
957
+ snapY: number,
958
+ onDrag: boolean = true,
959
+ onRelease: boolean = false,
960
+ snapOffsetX: number = 0,
961
+ snapOffsetY: number = 0
962
+ ) {
948
963
  this.snapX = snapX;
949
964
  this.snapY = snapY;
950
965
  this.snapOffsetX = snapOffsetX;
@@ -1,79 +1,3 @@
1
- /* const NO_BUTTON = -1;
2
- const LEFT_BUTTON = 0;
3
- const MIDDLE_BUTTON = 1;
4
- const RIGHT_BUTTON = 2;
5
- const BACK_BUTTON = 3;
6
- const FORWARD_BUTTON = 4;
7
- const WHEEL_UP = 1;
8
- const WHEEL_DOWN = -1; */
9
-
10
- class WheelEventProxy {
11
- _scaleFactor!: any;
12
- _deltaMode!: any;
13
- originalEvent!: any;
14
- type!: any;
15
- deltaZ!: any;
16
- /**
17
- * TBD.
18
- * @param {number} scaleFactor - TBD.
19
- * @param {number} deltaMode - TBD.
20
- */
21
- constructor(scaleFactor: number, deltaMode: number) {
22
- this._scaleFactor = scaleFactor;
23
- this._deltaMode = deltaMode;
24
- this.originalEvent = null;
25
- this.type = 'wheel';
26
- this.deltaZ = { value: 0 };
27
- }
28
-
29
- /**
30
- * TBD.
31
- * @param {WheelEvent} event - TBD.
32
- * @returns {WheelEventProxy} TBD.
33
- */
34
- bindEvent(event: any) {
35
- // TODO
36
- console.warn('input_mouse.bindEvent() is not implemented');
37
- /*
38
- if (!window.PhaserRegistry.isMouseWheelEventBinded && event) {
39
- const makeBinder = (name) => {
40
- return () => {
41
- const v = this.originalEvent[name];
42
- return typeof v !== 'function' ? v : v.bind(this.originalEvent);
43
- };
44
- };
45
- window.PhaserRegistry.isMouseWheelEventBinded = true;
46
- }
47
- */
48
- this.originalEvent = event;
49
- return this;
50
- }
51
-
52
- /**
53
- * TBD.
54
- * @returns {number} TBD.
55
- */
56
- get deltaMode() {
57
- return this._deltaMode;
58
- }
59
-
60
- /**
61
- * TBD.
62
- * @returns {number} TBD.
63
- */
64
- get deltaY() {
65
- return this._scaleFactor * (this.originalEvent.wheelDelta || this.originalEvent.detail) || 0;
66
- }
67
-
68
- /**
69
- * TBD.
70
- * @returns {number} TBD.
71
- */
72
- get deltaX() {
73
- return this._scaleFactor * this.originalEvent.wheelDeltaX || 0;
74
- }
75
- }
76
-
77
1
  export class Mouse {
78
2
  game!: any;
79
3
  input!: any;
@@ -91,14 +15,14 @@ export class Mouse {
91
15
  locked!: any;
92
16
  stopOnGameOut!: any;
93
17
  event!: any;
94
- _onMouseDown!: any;
95
- _onMouseMove!: any;
96
- _onMouseUp!: any;
97
- _onMouseOut!: any;
98
- _onMouseOver!: any;
99
- _onMouseWheel!: any;
100
- _onMouseUpGlobal!: any;
101
- _onMouseOutGlobal!: any;
18
+ _onMouseDown!: ((event: MouseEvent) => void) | null;
19
+ _onMouseMove!: ((event: MouseEvent) => void) | null;
20
+ _onMouseUp!: ((event: MouseEvent) => void) | null;
21
+ _onMouseOut!: ((event: MouseEvent) => void) | null;
22
+ _onMouseOver!: ((event: MouseEvent) => void) | null;
23
+ _onMouseWheel!: ((event: WheelEvent) => void) | null;
24
+ _onMouseUpGlobal!: (event: MouseEvent) => void;
25
+ _onMouseOutGlobal!: (event: MouseEvent) => void;
102
26
  _wheelEvent!: any;
103
27
  /**
104
28
  * TBD.
@@ -1,20 +1,20 @@
1
1
  export class MSPointer {
2
- game!: any;
3
- input!: any;
4
- callbackContext!: any;
5
- pointerDownCallback!: any;
6
- pointerMoveCallback!: any;
7
- pointerUpCallback!: any;
8
- capture!: any;
9
- button!: any;
10
- event!: any;
11
- enabled!: any;
12
- _onMSPointerDown!: any;
13
- _onMSPointerMove!: any;
14
- _onMSPointerUp!: any;
15
- _onMSPointerUpGlobal!: any;
16
- _onMSPointerOut!: any;
17
- _onMSPointerOver!: any;
2
+ game!: any;
3
+ input!: any;
4
+ callbackContext!: any;
5
+ pointerDownCallback!: any;
6
+ pointerMoveCallback!: any;
7
+ pointerUpCallback!: any;
8
+ capture!: any;
9
+ button!: any;
10
+ event!: any;
11
+ enabled!: any;
12
+ _onMSPointerDown!: ((event: PointerEvent) => void) | null;
13
+ _onMSPointerMove!: ((event: PointerEvent) => void) | null;
14
+ _onMSPointerUp!: ((event: PointerEvent) => void) | null;
15
+ _onMSPointerUpGlobal!: ((event: Event) => void) | null;
16
+ _onMSPointerOut!: ((event: PointerEvent) => void) | null;
17
+ _onMSPointerOver!: ((event: PointerEvent) => void) | null;
18
18
  /**
19
19
  * TBD.
20
20
  * @param {import('./game.js').Game} game - TBD.
@@ -86,11 +86,15 @@ _onMSPointerOver!: any;
86
86
  canvas.removeEventListener('pointerdown', this._onMSPointerDown, false);
87
87
  canvas.removeEventListener('pointermove', this._onMSPointerMove, false);
88
88
  canvas.removeEventListener('pointerup', this._onMSPointerUp, false);
89
- window.removeEventListener('MSPointerUp', this._onMSPointerUpGlobal, true);
89
+ if (this._onMSPointerUpGlobal) {
90
+ window.removeEventListener('MSPointerUp', this._onMSPointerUpGlobal, true);
91
+ }
90
92
  canvas.removeEventListener('MSPointerOver', this._onMSPointerOver, true);
91
93
  canvas.removeEventListener('MSPointerOut', this._onMSPointerOut, true);
92
94
  // IE11+ uses non-prefix events
93
- window.removeEventListener('pointerup', this._onMSPointerUpGlobal, true);
95
+ if (this._onMSPointerUpGlobal) {
96
+ window.removeEventListener('pointerup', this._onMSPointerUpGlobal, true);
97
+ }
94
98
  canvas.removeEventListener('pointerover', this._onMSPointerOver, true);
95
99
  canvas.removeEventListener('pointerout', this._onMSPointerOut, true);
96
100
  }
@@ -10,50 +10,50 @@ import {
10
10
  } from './const.js';
11
11
 
12
12
  export class Pointer {
13
- game!: any;
14
- id!: any;
15
- type!: any;
16
- exists!: any;
17
- identifier!: any;
18
- pointerId!: any;
19
- pointerMode!: any;
20
- target!: any;
21
- button!: any;
22
- _holdSent!: any;
23
- _history!: any;
24
- _nextDrop!: any;
25
- _stateReset!: any;
26
- withinGame!: any;
27
- clientX!: any;
28
- clientY!: any;
29
- pageX!: any;
30
- pageY!: any;
31
- screenX!: any;
32
- screenY!: any;
33
- rawMovementX!: any;
34
- rawMovementY!: any;
35
- movementX!: any;
36
- movementY!: any;
37
- x!: any;
38
- y!: any;
39
- isMouse!: any;
40
- isDown!: any;
41
- isUp!: any;
42
- timeDown!: any;
43
- timeUp!: any;
44
- previousTapTime!: any;
45
- totalTouches!: any;
46
- msSinceLastClick!: any;
47
- targetObject!: any;
48
- interactiveCandidates!: any;
49
- active!: any;
50
- dirty!: any;
51
- position!: any;
52
- positionDown!: any;
53
- positionUp!: any;
54
- circle!: any;
55
- _clickTrampolines!: any;
56
- _trampolineTargetObject!: any;
13
+ game!: any;
14
+ id!: any;
15
+ type!: any;
16
+ exists!: any;
17
+ identifier!: any;
18
+ pointerId!: any;
19
+ pointerMode!: any;
20
+ target!: any;
21
+ button!: any;
22
+ _holdSent!: any;
23
+ _history!: any;
24
+ _nextDrop!: any;
25
+ _stateReset!: any;
26
+ withinGame!: any;
27
+ clientX!: any;
28
+ clientY!: any;
29
+ pageX!: any;
30
+ pageY!: any;
31
+ screenX!: any;
32
+ screenY!: any;
33
+ rawMovementX!: any;
34
+ rawMovementY!: any;
35
+ movementX!: any;
36
+ movementY!: any;
37
+ x!: any;
38
+ y!: any;
39
+ isMouse!: any;
40
+ isDown!: any;
41
+ isUp!: any;
42
+ timeDown!: any;
43
+ timeUp!: any;
44
+ previousTapTime!: any;
45
+ totalTouches!: any;
46
+ msSinceLastClick!: any;
47
+ targetObject!: any;
48
+ interactiveCandidates!: any;
49
+ active!: any;
50
+ dirty!: any;
51
+ position!: any;
52
+ positionDown!: any;
53
+ positionUp!: any;
54
+ circle!: any;
55
+ _clickTrampolines!: any;
56
+ _trampolineTargetObject!: any;
57
57
  /**
58
58
  * TBD.
59
59
  * @param {import('./game.js').Game} game - TBD.
@@ -137,7 +137,7 @@ _trampolineTargetObject!: any;
137
137
  * TBD.
138
138
  * @param {MouseEvent|PointerEvent} event - TBD.
139
139
  */
140
- updateButtons(event: any|PointerEvent) {
140
+ updateButtons(event: any | PointerEvent) {
141
141
  if (event.type.toLowerCase().substr(-4) === 'down') {
142
142
  this.isUp = false;
143
143
  this.isDown = true;
@@ -241,7 +241,7 @@ _trampolineTargetObject!: any;
241
241
  * @param {boolean} fromClick - TBD.
242
242
  * @returns {Pointer} TBD.
243
243
  */
244
- move(event: any|PointerEvent, fromClick: boolean = false) {
244
+ move(event: any | PointerEvent, fromClick: boolean = false) {
245
245
  const input = this.game.input;
246
246
  if (input.pollLocked) {
247
247
  return null;
@@ -397,7 +397,7 @@ _trampolineTargetObject!: any;
397
397
  * TBD.
398
398
  * @param {MouseEvent|PointerEvent} event - TBD.
399
399
  */
400
- leave(event: any|PointerEvent) {
400
+ leave(event: any | PointerEvent) {
401
401
  this.withinGame = false;
402
402
  this.move(event, false);
403
403
  }
@@ -407,7 +407,7 @@ _trampolineTargetObject!: any;
407
407
  * @param {MouseEvent|PointerEvent} event - TBD.
408
408
  * @returns {Pointer} TBD.
409
409
  */
410
- stop(event: any|PointerEvent) {
410
+ stop(event: any | PointerEvent) {
411
411
  const input = this.game.input;
412
412
  if (this._stateReset && this.withinGame) {
413
413
  event.preventDefault();
@@ -10,13 +10,13 @@ export class Touch {
10
10
  touchCancelCallback!: any;
11
11
  preventDefault!: any;
12
12
  event!: any;
13
- _onTouchStart!: any;
14
- _onTouchMove!: any;
15
- _onTouchEnd!: any;
16
- _onTouchEnter!: any;
17
- _onTouchLeave!: any;
18
- _onTouchCancel!: any;
19
- _documentTouchMove!: any;
13
+ _onTouchStart!: ((event: TouchEvent) => void) | null;
14
+ _onTouchMove!: ((event: TouchEvent) => void) | null;
15
+ _onTouchEnd!: ((event: TouchEvent) => void) | null;
16
+ _onTouchEnter!: ((event: TouchEvent) => void) | null;
17
+ _onTouchLeave!: ((event: TouchEvent) => void) | null;
18
+ _onTouchCancel!: ((event: TouchEvent) => void) | null;
19
+ _documentTouchMove!: (event: TouchEvent) => void;
20
20
  /**
21
21
  * TBD.
22
22
  * @param {import('./game.js').Game} game - TBD.