@vpmedia/phaser 1.112.0 → 1.114.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 (296) hide show
  1. package/dist/index.js +1261 -1314
  2. package/dist/index.js.map +1 -1
  3. package/dist/phaser/core/animation.d.ts +14 -10
  4. package/dist/phaser/core/animation.d.ts.map +1 -1
  5. package/dist/phaser/core/animation_manager.d.ts +10 -8
  6. package/dist/phaser/core/animation_manager.d.ts.map +1 -1
  7. package/dist/phaser/core/animation_parser.d.ts +5 -4
  8. package/dist/phaser/core/animation_parser.d.ts.map +1 -1
  9. package/dist/phaser/core/array_set.d.ts.map +1 -1
  10. package/dist/phaser/core/cache.d.ts +4 -3
  11. package/dist/phaser/core/cache.d.ts.map +1 -1
  12. package/dist/phaser/core/const.d.ts.map +1 -1
  13. package/dist/phaser/core/device.d.ts.map +1 -1
  14. package/dist/phaser/core/device_util.d.ts.map +1 -1
  15. package/dist/phaser/core/dom.d.ts +3 -2
  16. package/dist/phaser/core/dom.d.ts.map +1 -1
  17. package/dist/phaser/core/event_manager.d.ts.map +1 -1
  18. package/dist/phaser/core/factory.d.ts +1 -1
  19. package/dist/phaser/core/factory.d.ts.map +1 -1
  20. package/dist/phaser/core/frame.d.ts.map +1 -1
  21. package/dist/phaser/core/frame_data.d.ts.map +1 -1
  22. package/dist/phaser/core/game.d.ts.map +1 -1
  23. package/dist/phaser/core/input.d.ts +8 -6
  24. package/dist/phaser/core/input.d.ts.map +1 -1
  25. package/dist/phaser/core/input_handler.d.ts +40 -30
  26. package/dist/phaser/core/input_handler.d.ts.map +1 -1
  27. package/dist/phaser/core/input_mouse.d.ts +3 -2
  28. package/dist/phaser/core/input_mouse.d.ts.map +1 -1
  29. package/dist/phaser/core/input_mspointer.d.ts +3 -2
  30. package/dist/phaser/core/input_mspointer.d.ts.map +1 -1
  31. package/dist/phaser/core/input_pointer.d.ts +6 -4
  32. package/dist/phaser/core/input_pointer.d.ts.map +1 -1
  33. package/dist/phaser/core/input_touch.d.ts +3 -2
  34. package/dist/phaser/core/input_touch.d.ts.map +1 -1
  35. package/dist/phaser/core/loader.d.ts +4 -3
  36. package/dist/phaser/core/loader.d.ts.map +1 -1
  37. package/dist/phaser/core/loader_parser.d.ts +9 -8
  38. package/dist/phaser/core/loader_parser.d.ts.map +1 -1
  39. package/dist/phaser/core/raf.d.ts +3 -2
  40. package/dist/phaser/core/raf.d.ts.map +1 -1
  41. package/dist/phaser/core/registry.d.ts +7 -0
  42. package/dist/phaser/core/registry.d.ts.map +1 -0
  43. package/dist/phaser/core/scale_manager.d.ts +1 -1
  44. package/dist/phaser/core/scale_manager.d.ts.map +1 -1
  45. package/dist/phaser/core/scene.d.ts +0 -1
  46. package/dist/phaser/core/scene.d.ts.map +1 -1
  47. package/dist/phaser/core/scene_manager.d.ts +1 -1
  48. package/dist/phaser/core/scene_manager.d.ts.map +1 -1
  49. package/dist/phaser/core/signal.d.ts +0 -1
  50. package/dist/phaser/core/signal.d.ts.map +1 -1
  51. package/dist/phaser/core/signal_binding.d.ts +4 -3
  52. package/dist/phaser/core/signal_binding.d.ts.map +1 -1
  53. package/dist/phaser/core/sound.d.ts +6 -4
  54. package/dist/phaser/core/sound.d.ts.map +1 -1
  55. package/dist/phaser/core/sound_manager.d.ts +3 -2
  56. package/dist/phaser/core/sound_manager.d.ts.map +1 -1
  57. package/dist/phaser/core/sound_sprite.d.ts +5 -4
  58. package/dist/phaser/core/sound_sprite.d.ts.map +1 -1
  59. package/dist/phaser/core/stage.d.ts +3 -2
  60. package/dist/phaser/core/stage.d.ts.map +1 -1
  61. package/dist/phaser/core/time.d.ts +1 -1
  62. package/dist/phaser/core/time.d.ts.map +1 -1
  63. package/dist/phaser/core/timer.d.ts +1 -1
  64. package/dist/phaser/core/timer.d.ts.map +1 -1
  65. package/dist/phaser/core/timer_event.d.ts.map +1 -1
  66. package/dist/phaser/core/tween.d.ts +10 -7
  67. package/dist/phaser/core/tween.d.ts.map +1 -1
  68. package/dist/phaser/core/tween_data.d.ts +3 -2
  69. package/dist/phaser/core/tween_data.d.ts.map +1 -1
  70. package/dist/phaser/core/tween_easing.d.ts.map +1 -1
  71. package/dist/phaser/core/tween_manager.d.ts +3 -2
  72. package/dist/phaser/core/tween_manager.d.ts.map +1 -1
  73. package/dist/phaser/core/world.d.ts +3 -2
  74. package/dist/phaser/core/world.d.ts.map +1 -1
  75. package/dist/phaser/display/bitmap_text.d.ts +3 -2
  76. package/dist/phaser/display/bitmap_text.d.ts.map +1 -1
  77. package/dist/phaser/display/button.d.ts +3 -2
  78. package/dist/phaser/display/button.d.ts.map +1 -1
  79. package/dist/phaser/display/canvas/buffer.d.ts.map +1 -1
  80. package/dist/phaser/display/canvas/graphics.d.ts +7 -6
  81. package/dist/phaser/display/canvas/graphics.d.ts.map +1 -1
  82. package/dist/phaser/display/canvas/pool.d.ts +2 -2
  83. package/dist/phaser/display/canvas/pool.d.ts.map +1 -1
  84. package/dist/phaser/display/canvas/renderer.d.ts +10 -8
  85. package/dist/phaser/display/canvas/renderer.d.ts.map +1 -1
  86. package/dist/phaser/display/canvas/tinter.d.ts +3 -2
  87. package/dist/phaser/display/canvas/tinter.d.ts.map +1 -1
  88. package/dist/phaser/display/canvas/util.d.ts +2 -2
  89. package/dist/phaser/display/canvas/util.d.ts.map +1 -1
  90. package/dist/phaser/display/display_object.d.ts +14 -12
  91. package/dist/phaser/display/display_object.d.ts.map +1 -1
  92. package/dist/phaser/display/graphics.d.ts +8 -5
  93. package/dist/phaser/display/graphics.d.ts.map +1 -1
  94. package/dist/phaser/display/graphics_data.d.ts.map +1 -1
  95. package/dist/phaser/display/graphics_data_util.d.ts.map +1 -1
  96. package/dist/phaser/display/group.d.ts +4 -3
  97. package/dist/phaser/display/group.d.ts.map +1 -1
  98. package/dist/phaser/display/image.d.ts +13 -10
  99. package/dist/phaser/display/image.d.ts.map +1 -1
  100. package/dist/phaser/display/sprite_batch.d.ts +3 -2
  101. package/dist/phaser/display/sprite_batch.d.ts.map +1 -1
  102. package/dist/phaser/display/sprite_util.d.ts +18 -15
  103. package/dist/phaser/display/sprite_util.d.ts.map +1 -1
  104. package/dist/phaser/display/text.d.ts +12 -10
  105. package/dist/phaser/display/text.d.ts.map +1 -1
  106. package/dist/phaser/display/webgl/abstract_filter.d.ts.map +1 -1
  107. package/dist/phaser/display/webgl/base_texture.d.ts.map +1 -1
  108. package/dist/phaser/display/webgl/blend_manager.d.ts +0 -1
  109. package/dist/phaser/display/webgl/blend_manager.d.ts.map +1 -1
  110. package/dist/phaser/display/webgl/earcut.d.ts +1 -1
  111. package/dist/phaser/display/webgl/earcut.d.ts.map +1 -1
  112. package/dist/phaser/display/webgl/earcut_node.d.ts.map +1 -1
  113. package/dist/phaser/display/webgl/fast_sprite_batch.d.ts +4 -3
  114. package/dist/phaser/display/webgl/fast_sprite_batch.d.ts.map +1 -1
  115. package/dist/phaser/display/webgl/filter_manager.d.ts +2 -1
  116. package/dist/phaser/display/webgl/filter_manager.d.ts.map +1 -1
  117. package/dist/phaser/display/webgl/filter_texture.d.ts +2 -1
  118. package/dist/phaser/display/webgl/filter_texture.d.ts.map +1 -1
  119. package/dist/phaser/display/webgl/graphics.d.ts +7 -6
  120. package/dist/phaser/display/webgl/graphics.d.ts.map +1 -1
  121. package/dist/phaser/display/webgl/graphics_data.d.ts +2 -1
  122. package/dist/phaser/display/webgl/graphics_data.d.ts.map +1 -1
  123. package/dist/phaser/display/webgl/render_texture.d.ts +4 -2
  124. package/dist/phaser/display/webgl/render_texture.d.ts.map +1 -1
  125. package/dist/phaser/display/webgl/renderer.d.ts +16 -11
  126. package/dist/phaser/display/webgl/renderer.d.ts.map +1 -1
  127. package/dist/phaser/display/webgl/shader/complex.d.ts +16 -6
  128. package/dist/phaser/display/webgl/shader/complex.d.ts.map +1 -1
  129. package/dist/phaser/display/webgl/shader/fast.d.ts +19 -7
  130. package/dist/phaser/display/webgl/shader/fast.d.ts.map +1 -1
  131. package/dist/phaser/display/webgl/shader/normal.d.ts +33 -12
  132. package/dist/phaser/display/webgl/shader/normal.d.ts.map +1 -1
  133. package/dist/phaser/display/webgl/shader/primitive.d.ts +15 -6
  134. package/dist/phaser/display/webgl/shader/primitive.d.ts.map +1 -1
  135. package/dist/phaser/display/webgl/shader/strip.d.ts +15 -6
  136. package/dist/phaser/display/webgl/shader/strip.d.ts.map +1 -1
  137. package/dist/phaser/display/webgl/shader_manager.d.ts +16 -11
  138. package/dist/phaser/display/webgl/shader_manager.d.ts.map +1 -1
  139. package/dist/phaser/display/webgl/sprite_batch.d.ts +29 -20
  140. package/dist/phaser/display/webgl/sprite_batch.d.ts.map +1 -1
  141. package/dist/phaser/display/webgl/stencil_manager.d.ts +12 -10
  142. package/dist/phaser/display/webgl/stencil_manager.d.ts.map +1 -1
  143. package/dist/phaser/display/webgl/texture.d.ts +3 -2
  144. package/dist/phaser/display/webgl/texture.d.ts.map +1 -1
  145. package/dist/phaser/display/webgl/texture_util.d.ts.map +1 -1
  146. package/dist/phaser/display/webgl/util.d.ts.map +1 -1
  147. package/dist/phaser/geom/circle.d.ts +4 -1
  148. package/dist/phaser/geom/circle.d.ts.map +1 -1
  149. package/dist/phaser/geom/ellipse.d.ts.map +1 -1
  150. package/dist/phaser/geom/line.d.ts +1 -1
  151. package/dist/phaser/geom/line.d.ts.map +1 -1
  152. package/dist/phaser/geom/matrix.d.ts.map +1 -1
  153. package/dist/phaser/geom/point.d.ts.map +1 -1
  154. package/dist/phaser/geom/polygon.d.ts.map +1 -1
  155. package/dist/phaser/geom/rectangle.d.ts.map +1 -1
  156. package/dist/phaser/geom/rounded_rectangle.d.ts.map +1 -1
  157. package/dist/phaser/geom/util/circle.d.ts.map +1 -1
  158. package/dist/phaser/geom/util/ellipse.d.ts +3 -2
  159. package/dist/phaser/geom/util/ellipse.d.ts.map +1 -1
  160. package/dist/phaser/geom/util/line.d.ts.map +1 -1
  161. package/dist/phaser/geom/util/matrix.d.ts +2 -2
  162. package/dist/phaser/geom/util/matrix.d.ts.map +1 -1
  163. package/dist/phaser/geom/util/point.d.ts.map +1 -1
  164. package/dist/phaser/geom/util/rectangle.d.ts +1 -1
  165. package/dist/phaser/geom/util/rectangle.d.ts.map +1 -1
  166. package/dist/phaser/util/math.d.ts.map +1 -1
  167. package/package.json +5 -5
  168. package/src/phaser/core/animation.ts +64 -60
  169. package/src/phaser/core/animation_manager.ts +50 -53
  170. package/src/phaser/core/animation_parser.ts +9 -9
  171. package/src/phaser/core/array_set.ts +16 -17
  172. package/src/phaser/core/cache.ts +92 -93
  173. package/src/phaser/core/const.ts +1 -1
  174. package/src/phaser/core/device.ts +24 -29
  175. package/src/phaser/core/device_util.ts +22 -26
  176. package/src/phaser/core/dom.ts +54 -65
  177. package/src/phaser/core/event_manager.ts +64 -94
  178. package/src/phaser/core/factory.ts +14 -14
  179. package/src/phaser/core/frame.ts +28 -28
  180. package/src/phaser/core/frame_data.test.ts +100 -0
  181. package/src/phaser/core/frame_data.ts +24 -24
  182. package/src/phaser/core/frame_util.ts +2 -2
  183. package/src/phaser/core/game.ts +47 -48
  184. package/src/phaser/core/input.ts +104 -110
  185. package/src/phaser/core/input_handler.test.ts +113 -0
  186. package/src/phaser/core/input_handler.ts +199 -218
  187. package/src/phaser/core/input_mouse.ts +71 -54
  188. package/src/phaser/core/input_mspointer.ts +52 -39
  189. package/src/phaser/core/input_pointer.ts +81 -80
  190. package/src/phaser/core/input_touch.ts +49 -36
  191. package/src/phaser/core/loader.ts +173 -152
  192. package/src/phaser/core/loader_parser.ts +39 -57
  193. package/src/phaser/core/raf.ts +8 -7
  194. package/src/phaser/core/registry.test.ts +31 -0
  195. package/src/phaser/core/registry.ts +9 -0
  196. package/src/phaser/core/scale_manager.ts +156 -152
  197. package/src/phaser/core/scene.ts +9 -13
  198. package/src/phaser/core/scene_manager.ts +47 -47
  199. package/src/phaser/core/signal.test.ts +4 -4
  200. package/src/phaser/core/signal.ts +41 -52
  201. package/src/phaser/core/signal_binding.ts +26 -25
  202. package/src/phaser/core/signal_dispatch.test.ts +180 -0
  203. package/src/phaser/core/sound.ts +75 -83
  204. package/src/phaser/core/sound_manager.ts +52 -51
  205. package/src/phaser/core/sound_sprite.ts +17 -16
  206. package/src/phaser/core/stage.ts +25 -24
  207. package/src/phaser/core/time.ts +52 -52
  208. package/src/phaser/core/timer.test.ts +187 -0
  209. package/src/phaser/core/timer.ts +82 -69
  210. package/src/phaser/core/timer_event.ts +10 -10
  211. package/src/phaser/core/tween.ts +90 -93
  212. package/src/phaser/core/tween_data.ts +45 -51
  213. package/src/phaser/core/tween_easing.test.ts +106 -0
  214. package/src/phaser/core/tween_easing.ts +151 -123
  215. package/src/phaser/core/tween_manager.ts +19 -18
  216. package/src/phaser/core/world.ts +4 -3
  217. package/src/phaser/display/bitmap_text.ts +56 -64
  218. package/src/phaser/display/button.ts +33 -32
  219. package/src/phaser/display/canvas/buffer.ts +8 -8
  220. package/src/phaser/display/canvas/graphics.ts +36 -37
  221. package/src/phaser/display/canvas/masker.ts +2 -2
  222. package/src/phaser/display/canvas/pool.test.ts +106 -0
  223. package/src/phaser/display/canvas/pool.ts +25 -27
  224. package/src/phaser/display/canvas/renderer.ts +32 -31
  225. package/src/phaser/display/canvas/tinter.ts +25 -25
  226. package/src/phaser/display/canvas/util.ts +7 -10
  227. package/src/phaser/display/display_object.ts +114 -118
  228. package/src/phaser/display/graphics.ts +121 -119
  229. package/src/phaser/display/graphics_data.ts +12 -12
  230. package/src/phaser/display/graphics_data_util.ts +2 -3
  231. package/src/phaser/display/group.ts +50 -57
  232. package/src/phaser/display/image.ts +55 -52
  233. package/src/phaser/display/sprite_batch.ts +3 -2
  234. package/src/phaser/display/sprite_util.ts +48 -54
  235. package/src/phaser/display/text.test.ts +110 -0
  236. package/src/phaser/display/text.ts +199 -204
  237. package/src/phaser/display/webgl/abstract_filter.ts +9 -9
  238. package/src/phaser/display/webgl/base_texture.ts +21 -24
  239. package/src/phaser/display/webgl/blend_manager.ts +6 -10
  240. package/src/phaser/display/webgl/earcut.ts +73 -37
  241. package/src/phaser/display/webgl/earcut_node.ts +10 -10
  242. package/src/phaser/display/webgl/fast_sprite_batch.ts +34 -34
  243. package/src/phaser/display/webgl/filter_manager.ts +13 -12
  244. package/src/phaser/display/webgl/filter_texture.ts +14 -13
  245. package/src/phaser/display/webgl/graphics.ts +51 -57
  246. package/src/phaser/display/webgl/graphics_data.ts +15 -14
  247. package/src/phaser/display/webgl/mask_manager.ts +2 -2
  248. package/src/phaser/display/webgl/render_texture.ts +26 -25
  249. package/src/phaser/display/webgl/renderer.ts +57 -62
  250. package/src/phaser/display/webgl/shader/complex.ts +28 -12
  251. package/src/phaser/display/webgl/shader/fast.ts +30 -12
  252. package/src/phaser/display/webgl/shader/normal.ts +70 -57
  253. package/src/phaser/display/webgl/shader/primitive.ts +26 -11
  254. package/src/phaser/display/webgl/shader/shader.test.ts +148 -0
  255. package/src/phaser/display/webgl/shader/strip.ts +27 -12
  256. package/src/phaser/display/webgl/shader_manager.test.ts +124 -0
  257. package/src/phaser/display/webgl/shader_manager.ts +26 -34
  258. package/src/phaser/display/webgl/sprite_batch.ts +67 -61
  259. package/src/phaser/display/webgl/stencil_manager.ts +23 -34
  260. package/src/phaser/display/webgl/texture.ts +43 -50
  261. package/src/phaser/display/webgl/texture_util.ts +2 -3
  262. package/src/phaser/display/webgl/util.ts +26 -25
  263. package/src/phaser/geom/circle.test.ts +2 -3
  264. package/src/phaser/geom/circle.ts +36 -36
  265. package/src/phaser/geom/ellipse.test.ts +73 -71
  266. package/src/phaser/geom/ellipse.ts +14 -14
  267. package/src/phaser/geom/line.test.ts +5 -5
  268. package/src/phaser/geom/line.ts +35 -35
  269. package/src/phaser/geom/matrix.test.ts +1 -1
  270. package/src/phaser/geom/matrix.ts +27 -27
  271. package/src/phaser/geom/point.test.ts +1 -2
  272. package/src/phaser/geom/point.ts +35 -35
  273. package/src/phaser/geom/polygon.test.ts +82 -0
  274. package/src/phaser/geom/polygon.ts +16 -16
  275. package/src/phaser/geom/rectangle.test.ts +14 -14
  276. package/src/phaser/geom/rectangle.ts +83 -75
  277. package/src/phaser/geom/rounded_rectangle.test.ts +1 -7
  278. package/src/phaser/geom/rounded_rectangle.ts +9 -9
  279. package/src/phaser/geom/util/circle.test.ts +25 -23
  280. package/src/phaser/geom/util/circle.ts +9 -18
  281. package/src/phaser/geom/util/ellipse.test.ts +7 -5
  282. package/src/phaser/geom/util/ellipse.ts +3 -2
  283. package/src/phaser/geom/util/line.test.ts +10 -8
  284. package/src/phaser/geom/util/line.ts +6 -16
  285. package/src/phaser/geom/util/matrix.test.ts +20 -18
  286. package/src/phaser/geom/util/matrix.ts +8 -15
  287. package/src/phaser/geom/util/point.test.ts +8 -6
  288. package/src/phaser/geom/util/point.ts +24 -28
  289. package/src/phaser/geom/util/polygon.test.ts +12 -10
  290. package/src/phaser/geom/util/polygon.ts +2 -2
  291. package/src/phaser/geom/util/rectangle.test.ts +10 -8
  292. package/src/phaser/geom/util/rectangle.ts +18 -37
  293. package/src/phaser/geom/util/rounded_rectangle.test.ts +11 -9
  294. package/src/phaser/geom/util/rounded_rectangle.ts +1 -1
  295. package/src/phaser/util/math.test.ts +11 -11
  296. package/src/phaser/util/math.ts +29 -46
@@ -1,6 +1,10 @@
1
1
  import { Point } from '../geom/point.js';
2
2
  import { distance } from '../util/math.js';
3
3
  import { GROUP } from './const.js';
4
+ import type { Image } from '../display/image.js';
5
+ import type { DisplayObject } from '../display/display_object.js';
6
+ import type { Pointer } from './input_pointer.js';
7
+ import type { Rectangle } from '../geom/rectangle.js';
4
8
 
5
9
  interface PointerData {
6
10
  id: number;
@@ -20,56 +24,74 @@ interface PointerData {
20
24
  isDragged: boolean;
21
25
  }
22
26
 
27
+ const createPointerData = (id: number): PointerData => ({
28
+ id,
29
+ x: 0,
30
+ y: 0,
31
+ camX: 0,
32
+ camY: 0,
33
+ isDown: false,
34
+ isUp: false,
35
+ isOver: false,
36
+ isOut: false,
37
+ timeOver: 0,
38
+ timeOut: 0,
39
+ timeDown: 0,
40
+ timeUp: 0,
41
+ downDuration: 0,
42
+ isDragged: false,
43
+ });
44
+
23
45
  export class InputHandler {
24
- sprite!: any;
25
- game!: any;
26
- enabled!: boolean;
27
- checked!: boolean;
28
- priorityID!: number;
29
- useHandCursor!: boolean;
30
- _setHandCursor!: boolean;
31
- isDragged!: boolean;
32
- allowHorizontalDrag!: boolean;
33
- allowVerticalDrag!: boolean;
34
- bringToTop!: boolean;
35
- snapOffset!: any;
36
- snapOnDrag!: boolean;
37
- snapOnRelease!: boolean;
38
- snapX!: number;
39
- snapY!: number;
40
- snapOffsetX!: number;
41
- snapOffsetY!: number;
42
- pixelPerfectOver!: boolean;
43
- pixelPerfectClick!: boolean;
44
- pixelPerfectAlpha!: number;
45
- draggable!: boolean;
46
- boundsRect!: any;
47
- boundsSprite!: any;
48
- scaleLayer!: boolean;
49
- dragOffset!: Point;
50
- dragFromCenter!: boolean;
51
- dragStopBlocksInputUp!: boolean;
52
- dragStartPoint!: Point;
53
- dragDistanceThreshold!: number;
54
- dragTimeThreshold!: number;
55
- downPoint!: Point;
56
- snapPoint!: Point;
57
- _dragPoint!: Point;
58
- _dragPhase!: boolean;
59
- _pendingDrag!: boolean;
60
- _dragTimePass!: boolean;
61
- _dragDistancePass!: boolean;
62
- _wasEnabled!: boolean;
63
- _tempPoint!: import('../geom/point.js').Point;
64
- _pointerData!: PointerData[];
65
- _dx!: any;
66
- _dy!: any;
67
- _draggedPointerID!: any;
68
- /**
69
- * TBD.
70
- * @param {import('../display/image.js').Image} sprite - TBD.
71
- */
72
- constructor(sprite: import('../display/image.js').Image) {
46
+ public sprite!: any;
47
+ public game!: any;
48
+ public enabled!: boolean;
49
+ public checked!: boolean;
50
+ public priorityID!: number;
51
+ public useHandCursor!: boolean;
52
+ public _setHandCursor!: boolean;
53
+ public isDragged!: boolean;
54
+ public allowHorizontalDrag!: boolean;
55
+ public allowVerticalDrag!: boolean;
56
+ public bringToTop!: boolean;
57
+ public snapOffset!: any;
58
+ public snapOnDrag!: boolean;
59
+ public snapOnRelease!: boolean;
60
+ public snapX!: number;
61
+ public snapY!: number;
62
+ public snapOffsetX!: number;
63
+ public snapOffsetY!: number;
64
+ public pixelPerfectOver!: boolean;
65
+ public pixelPerfectClick!: boolean;
66
+ public pixelPerfectAlpha!: number;
67
+ public draggable!: boolean;
68
+ public boundsRect!: any;
69
+ public boundsSprite!: any;
70
+ public scaleLayer!: boolean;
71
+ public dragOffset!: Point;
72
+ public dragFromCenter!: boolean;
73
+ public dragStopBlocksInputUp!: boolean;
74
+ public dragStartPoint!: Point;
75
+ public dragDistanceThreshold!: number;
76
+ public dragTimeThreshold!: number;
77
+ public downPoint!: Point;
78
+ public snapPoint!: Point;
79
+ public _dragPoint!: Point;
80
+ public _dragPhase!: boolean;
81
+ public _pendingDrag!: boolean;
82
+ public _dragTimePass!: boolean;
83
+ public _dragDistancePass!: boolean;
84
+ public _wasEnabled!: boolean;
85
+ public _tempPoint!: Point;
86
+ public _pointerData!: PointerData[];
87
+ public _dx!: any;
88
+ public _dy!: any;
89
+ public _draggedPointerID!: any;
90
+ /**
91
+ * TBD.
92
+ * @param {Image} sprite - TBD.
93
+ */
94
+ public constructor(sprite: Image) {
73
95
  this.sprite = sprite;
74
96
  this.game = sprite.game;
75
97
  this.enabled = false;
@@ -110,57 +132,24 @@ export class InputHandler {
110
132
  this._dragDistancePass = false;
111
133
  this._wasEnabled = false;
112
134
  this._tempPoint = new Point();
113
- this._pointerData = [];
114
- this._pointerData.push({
115
- id: 0,
116
- x: 0,
117
- y: 0,
118
- camX: 0,
119
- camY: 0,
120
- isDown: false,
121
- isUp: false,
122
- isOver: false,
123
- isOut: false,
124
- timeOver: 0,
125
- timeOut: 0,
126
- timeDown: 0,
127
- timeUp: 0,
128
- downDuration: 0,
129
- isDragged: false,
130
- });
135
+ this._pointerData = [createPointerData(0)];
131
136
  }
132
137
 
133
138
  /**
134
139
  * TBD.
135
140
  * @param {number} priority - TBD.
136
141
  * @param {boolean} useHandCursor - TBD.
137
- * @returns {import('../display/display_object.js').DisplayObject} TBD.
142
+ * @returns {DisplayObject} TBD.
138
143
  */
139
- start(priority: number = 0, useHandCursor: boolean = false) {
144
+ public start(priority = 0, useHandCursor = false) {
140
145
  // Turning on
141
- if (this.enabled === false) {
146
+ if (!this.enabled) {
142
147
  // Register, etc
143
148
  this.game.input.interactiveItems.add(this);
144
149
  this.useHandCursor = useHandCursor;
145
150
  this.priorityID = priority;
146
151
  for (let i = 0; i < 10; i += 1) {
147
- this._pointerData[i] = {
148
- id: i,
149
- x: 0,
150
- y: 0,
151
- camX: 0,
152
- camY: 0,
153
- isDown: false,
154
- isUp: false,
155
- isOver: false,
156
- isOut: false,
157
- timeOver: 0,
158
- timeOut: 0,
159
- timeDown: 0,
160
- timeUp: 0,
161
- downDuration: 0,
162
- isDragged: false,
163
- };
152
+ this._pointerData[i] = createPointerData(i);
164
153
  }
165
154
  this.snapOffset = new Point();
166
155
  this.enabled = true;
@@ -174,7 +163,7 @@ export class InputHandler {
174
163
  /**
175
164
  * TBD.
176
165
  */
177
- addedToGroup() {
166
+ public addedToGroup() {
178
167
  if (this._dragPhase) {
179
168
  return;
180
169
  }
@@ -186,7 +175,7 @@ export class InputHandler {
186
175
  /**
187
176
  * TBD.
188
177
  */
189
- removedFromGroup() {
178
+ public removedFromGroup() {
190
179
  if (this._dragPhase) {
191
180
  return;
192
181
  }
@@ -201,33 +190,32 @@ export class InputHandler {
201
190
  /**
202
191
  * TBD.
203
192
  */
204
- reset() {
193
+ public reset() {
205
194
  this.enabled = false;
206
195
  for (let i = 0; i < 10; i += 1) {
207
- this._pointerData[i] = {
208
- id: i,
209
- x: 0,
210
- y: 0,
211
- camX: 0,
212
- camY: 0,
213
- isDown: false,
214
- isUp: false,
215
- isOver: false,
216
- isOut: false,
217
- timeOver: 0,
218
- timeOut: 0,
219
- timeDown: 0,
220
- timeUp: 0,
221
- downDuration: 0,
222
- isDragged: false,
223
- };
196
+ this._pointerData[i] = createPointerData(i);
224
197
  }
225
198
  }
226
199
 
200
+ /**
201
+ * Returns the tracking record for a pointer, creating it on first use.
202
+ * @param {number} pointerId - TBD.
203
+ * @returns {PointerData} TBD.
204
+ */
205
+ public pointerData(pointerId: number): PointerData {
206
+ const existing = this._pointerData[pointerId];
207
+ if (existing) {
208
+ return existing;
209
+ }
210
+ const created = createPointerData(pointerId);
211
+ this._pointerData[pointerId] = created;
212
+ return created;
213
+ }
214
+
227
215
  /**
228
216
  * TBD.
229
217
  */
230
- stop() {
218
+ public stop() {
231
219
  if (this.enabled) {
232
220
  this.enabled = false;
233
221
  this.game.input.interactiveItems.remove(this);
@@ -237,7 +225,7 @@ export class InputHandler {
237
225
  /**
238
226
  * TBD.
239
227
  */
240
- destroy() {
228
+ public destroy() {
241
229
  if (this.sprite) {
242
230
  if (this._setHandCursor) {
243
231
  this.game.canvas.style.cursor = 'default';
@@ -259,7 +247,7 @@ export class InputHandler {
259
247
  * @param {boolean} includePixelPerfect - TBD.
260
248
  * @returns {boolean} TBD.
261
249
  */
262
- validForInput(highestID: number, highestRenderID: number, includePixelPerfect: boolean = true) {
250
+ public validForInput(highestID: number, highestRenderID: number, includePixelPerfect = true) {
263
251
  if (
264
252
  !this.enabled ||
265
253
  this.sprite.scale.x === 0 ||
@@ -283,7 +271,7 @@ export class InputHandler {
283
271
  * TBD.
284
272
  * @returns {boolean} TBD.
285
273
  */
286
- isPixelPerfect() {
274
+ public isPixelPerfect() {
287
275
  return this.pixelPerfectClick || this.pixelPerfectOver;
288
276
  }
289
277
 
@@ -292,8 +280,8 @@ export class InputHandler {
292
280
  * @param {number} pointerId - TBD.
293
281
  * @returns {number} TBD.
294
282
  */
295
- pointerX(pointerId: number = 0) {
296
- return this._pointerData[pointerId].x;
283
+ public pointerX(pointerId = 0) {
284
+ return this.pointerData(pointerId).x;
297
285
  }
298
286
 
299
287
  /**
@@ -301,8 +289,8 @@ export class InputHandler {
301
289
  * @param {number} pointerId - TBD.
302
290
  * @returns {number} TBD.
303
291
  */
304
- pointerY(pointerId: number = 0) {
305
- return this._pointerData[pointerId].y;
292
+ public pointerY(pointerId = 0) {
293
+ return this.pointerData(pointerId).y;
306
294
  }
307
295
 
308
296
  /**
@@ -310,8 +298,8 @@ export class InputHandler {
310
298
  * @param {number} pointerId - TBD.
311
299
  * @returns {boolean} TBD.
312
300
  */
313
- pointerDown(pointerId: number = 0) {
314
- return this._pointerData[pointerId].isDown;
301
+ public pointerDown(pointerId = 0) {
302
+ return this.pointerData(pointerId).isDown;
315
303
  }
316
304
 
317
305
  /**
@@ -319,8 +307,8 @@ export class InputHandler {
319
307
  * @param {number} pointerId - TBD.
320
308
  * @returns {boolean} TBD.
321
309
  */
322
- pointerUp(pointerId: number = 0) {
323
- return this._pointerData[pointerId].isUp;
310
+ public pointerUp(pointerId = 0) {
311
+ return this.pointerData(pointerId).isUp;
324
312
  }
325
313
 
326
314
  /**
@@ -328,8 +316,8 @@ export class InputHandler {
328
316
  * @param {number} pointerId - TBD.
329
317
  * @returns {number} TBD.
330
318
  */
331
- pointerTimeDown(pointerId: number = 0) {
332
- return this._pointerData[pointerId].timeDown;
319
+ public pointerTimeDown(pointerId = 0) {
320
+ return this.pointerData(pointerId).timeDown;
333
321
  }
334
322
 
335
323
  /**
@@ -337,8 +325,8 @@ export class InputHandler {
337
325
  * @param {number} pointerId - TBD.
338
326
  * @returns {number} TBD.
339
327
  */
340
- pointerTimeUp(pointerId: number = 0) {
341
- return this._pointerData[pointerId].timeUp;
328
+ public pointerTimeUp(pointerId = 0) {
329
+ return this.pointerData(pointerId).timeUp;
342
330
  }
343
331
 
344
332
  /**
@@ -346,19 +334,19 @@ export class InputHandler {
346
334
  * @param {number} pointerId - TBD.
347
335
  * @returns {boolean} TBD.
348
336
  */
349
- pointerOver(pointerId: number | null = null) {
337
+ public pointerOver(pointerId: number | null = null) {
350
338
  if (!this.enabled) {
351
339
  return false;
352
340
  }
353
341
  if (pointerId === undefined || pointerId === null) {
354
342
  for (let i = 0; i < 10; i += 1) {
355
- if (this._pointerData[i].isOver) {
343
+ if (this.pointerData(i).isOver) {
356
344
  return true;
357
345
  }
358
346
  }
359
347
  return false;
360
348
  }
361
- return this._pointerData[pointerId].isOver;
349
+ return this.pointerData(pointerId).isOver;
362
350
  }
363
351
 
364
352
  /**
@@ -366,19 +354,19 @@ export class InputHandler {
366
354
  * @param {number} pointerId - TBD.
367
355
  * @returns {boolean} TBD.
368
356
  */
369
- pointerOut(pointerId: number | null = null) {
357
+ public pointerOut(pointerId: number | null = null) {
370
358
  if (!this.enabled) {
371
359
  return false;
372
360
  }
373
361
  if (pointerId === undefined || pointerId === null) {
374
362
  for (let i = 0; i < 10; i += 1) {
375
- if (this._pointerData[i].isOut) {
363
+ if (this.pointerData(i).isOut) {
376
364
  return true;
377
365
  }
378
366
  }
379
367
  return false;
380
368
  }
381
- return this._pointerData[pointerId].isOut;
369
+ return this.pointerData(pointerId).isOut;
382
370
  }
383
371
 
384
372
  /**
@@ -386,8 +374,8 @@ export class InputHandler {
386
374
  * @param {number} pointerId - TBD.
387
375
  * @returns {number} TBD.
388
376
  */
389
- pointerTimeOver(pointerId: number = 0) {
390
- return this._pointerData[pointerId].timeOver;
377
+ public pointerTimeOver(pointerId = 0) {
378
+ return this.pointerData(pointerId).timeOver;
391
379
  }
392
380
 
393
381
  /**
@@ -395,8 +383,8 @@ export class InputHandler {
395
383
  * @param {number} pointerId - TBD.
396
384
  * @returns {number} TBD.
397
385
  */
398
- pointerTimeOut(pointerId: number = 0) {
399
- return this._pointerData[pointerId].timeOut;
386
+ public pointerTimeOut(pointerId = 0) {
387
+ return this.pointerData(pointerId).timeOut;
400
388
  }
401
389
 
402
390
  /**
@@ -404,17 +392,17 @@ export class InputHandler {
404
392
  * @param {number} pointerId - TBD.
405
393
  * @returns {boolean} TBD.
406
394
  */
407
- pointerDragged(pointerId: number = 0) {
408
- return this._pointerData[pointerId].isDragged;
395
+ public pointerDragged(pointerId = 0) {
396
+ return this.pointerData(pointerId).isDragged;
409
397
  }
410
398
 
411
399
  /**
412
400
  * TBD.
413
- * @param {import('./input_pointer.js').Pointer} pointer - TBD.
401
+ * @param {Pointer} pointer - TBD.
414
402
  * @param {boolean} fastTest - TBD.
415
403
  * @returns {boolean} TBD.
416
404
  */
417
- checkPointerDown(pointer: import('./input_pointer.js').Pointer, fastTest: boolean = false) {
405
+ public checkPointerDown(pointer: Pointer, fastTest = false) {
418
406
  if (
419
407
  !pointer.isDown ||
420
408
  !this.enabled ||
@@ -439,11 +427,11 @@ export class InputHandler {
439
427
 
440
428
  /**
441
429
  * TBD.
442
- * @param {import('./input_pointer.js').Pointer} pointer - TBD.
430
+ * @param {Pointer} pointer - TBD.
443
431
  * @param {boolean} fastTest - TBD.
444
432
  * @returns {boolean} TBD.
445
433
  */
446
- checkPointerOver(pointer: import('./input_pointer.js').Pointer, fastTest: boolean = false) {
434
+ public checkPointerOver(pointer: Pointer, fastTest = false) {
447
435
  if (
448
436
  !this.enabled ||
449
437
  !this.sprite ||
@@ -469,10 +457,10 @@ export class InputHandler {
469
457
  * TBD.
470
458
  * @param {number} x - TBD.
471
459
  * @param {number} y - TBD.
472
- * @param {import('./input_pointer.js').Pointer} pointer - TBD.
460
+ * @param {Pointer} pointer - TBD.
473
461
  * @returns {boolean} TBD.
474
462
  */
475
- checkPixel(x: number | null, y: number | null, pointer?: any) {
463
+ public checkPixel(x: number | null, y: number | null, pointer?: any) {
476
464
  // Grab a pixel from our image into the hitCanvas and then test it
477
465
  if (this.sprite.texture.baseTexture.source) {
478
466
  if (x === null || y === null) {
@@ -518,10 +506,10 @@ export class InputHandler {
518
506
 
519
507
  /**
520
508
  * TBD.
521
- * @param {import('./input_pointer.js').Pointer} pointer - TBD.
509
+ * @param {Pointer} pointer - TBD.
522
510
  * @returns {boolean} TBD.
523
511
  */
524
- update(pointer: import('./input_pointer.js').Pointer) {
512
+ public update(pointer: Pointer) {
525
513
  if (this.sprite === null || this.sprite.parent === undefined) {
526
514
  // Abort. We've been destroyed.
527
515
  return false;
@@ -541,10 +529,10 @@ export class InputHandler {
541
529
  return true;
542
530
  } else if (this.draggable && this._draggedPointerID === pointer.id) {
543
531
  return this.updateDrag(pointer, false);
544
- } else if (this._pointerData[pointer.id].isOver) {
532
+ } else if (this.pointerData(pointer.id).isOver) {
545
533
  if (this.checkPointerOver(pointer)) {
546
- this._pointerData[pointer.id].x = pointer.x - this.sprite.x;
547
- this._pointerData[pointer.id].y = pointer.y - this.sprite.y;
534
+ this.pointerData(pointer.id).x = pointer.x - this.sprite.x;
535
+ this.pointerData(pointer.id).y = pointer.y - this.sprite.y;
548
536
  return true;
549
537
  }
550
538
  this._pointerOutHandler(pointer);
@@ -555,23 +543,23 @@ export class InputHandler {
555
543
 
556
544
  /**
557
545
  * TBD.
558
- * @param {import('./input_pointer.js').Pointer} pointer - TBD.
546
+ * @param {Pointer} pointer - TBD.
559
547
  * @param {boolean} silent - TBD.
560
548
  */
561
- _pointerOverHandler(pointer: import('./input_pointer.js').Pointer, silent: boolean) {
549
+ public _pointerOverHandler(pointer: Pointer, silent: boolean) {
562
550
  if (this.sprite === null) {
563
551
  // Abort. We've been destroyed.
564
552
  return;
565
553
  }
566
- const data = this._pointerData[pointer.id];
567
- if (data.isOver === false || pointer.dirty) {
568
- const sendEvent = data.isOver === false;
554
+ const data = this.pointerData(pointer.id);
555
+ if (!data.isOver || pointer.dirty) {
556
+ const sendEvent = !data.isOver;
569
557
  data.isOver = true;
570
558
  data.isOut = false;
571
559
  data.timeOver = this.game.time.time;
572
560
  data.x = pointer.x - this.sprite.x;
573
561
  data.y = pointer.y - this.sprite.y;
574
- if (this.useHandCursor && data.isDragged === false) {
562
+ if (this.useHandCursor && !data.isDragged) {
575
563
  this.game.canvas.style.cursor = 'pointer';
576
564
  this._setHandCursor = true;
577
565
  }
@@ -586,19 +574,19 @@ export class InputHandler {
586
574
 
587
575
  /**
588
576
  * TBD.
589
- * @param {import('./input_pointer.js').Pointer} pointer - TBD.
577
+ * @param {Pointer} pointer - TBD.
590
578
  * @param {boolean} silent - TBD.
591
579
  */
592
- _pointerOutHandler(pointer: import('./input_pointer.js').Pointer, silent: boolean = false) {
580
+ public _pointerOutHandler(pointer: Pointer, silent = false) {
593
581
  if (this.sprite === null) {
594
582
  // Abort. We've been destroyed.
595
583
  return;
596
584
  }
597
- const data = this._pointerData[pointer.id];
585
+ const data = this.pointerData(pointer.id);
598
586
  data.isOver = false;
599
587
  data.isOut = true;
600
588
  data.timeOut = this.game.time.time;
601
- if (this.useHandCursor && data.isDragged === false) {
589
+ if (this.useHandCursor && !data.isDragged) {
602
590
  this.game.canvas.style.cursor = 'default';
603
591
  this._setHandCursor = false;
604
592
  }
@@ -612,14 +600,14 @@ export class InputHandler {
612
600
 
613
601
  /**
614
602
  * TBD.
615
- * @param {import('./input_pointer.js').Pointer} pointer - TBD.
603
+ * @param {Pointer} pointer - TBD.
616
604
  */
617
- _touchedHandler(pointer: import('./input_pointer.js').Pointer) {
605
+ public _touchedHandler(pointer: Pointer) {
618
606
  if (this.sprite === null) {
619
607
  // Abort. We've been destroyed.
620
608
  return;
621
609
  }
622
- const data = this._pointerData[pointer.id];
610
+ const data = this.pointerData(pointer.id);
623
611
  if (!data.isDown && data.isOver) {
624
612
  if (this.pixelPerfectClick && !this.checkPixel(null, null, pointer)) {
625
613
  return;
@@ -642,7 +630,7 @@ export class InputHandler {
642
630
  }
643
631
  }
644
632
  // Start drag
645
- if (this.draggable && this.isDragged === false) {
633
+ if (this.draggable && !this.isDragged) {
646
634
  if (this.dragTimeThreshold === 0 && this.dragDistanceThreshold === 0) {
647
635
  this.startDrag(pointer);
648
636
  } else {
@@ -664,9 +652,9 @@ export class InputHandler {
664
652
 
665
653
  /**
666
654
  * TBD.
667
- * @param {import('./input_pointer.js').Pointer} pointer - TBD.
655
+ * @param {Pointer} pointer - TBD.
668
656
  */
669
- dragTimeElapsed(pointer: import('./input_pointer.js').Pointer) {
657
+ public dragTimeElapsed(pointer: Pointer) {
670
658
  this._dragTimePass = true;
671
659
  if (this._pendingDrag && this.sprite) {
672
660
  if (this._dragDistancePass) {
@@ -677,14 +665,14 @@ export class InputHandler {
677
665
 
678
666
  /**
679
667
  * TBD.
680
- * @param {import('./input_pointer.js').Pointer} pointer - TBD.
668
+ * @param {Pointer} pointer - TBD.
681
669
  */
682
- _releasedHandler(pointer: import('./input_pointer.js').Pointer) {
670
+ public _releasedHandler(pointer: Pointer) {
683
671
  if (this.sprite === null) {
684
672
  // Abort. We've been destroyed.
685
673
  return;
686
674
  }
687
- const data = this._pointerData[pointer.id];
675
+ const data = this.pointerData(pointer.id);
688
676
  // If was previously touched by this Pointer, check if still is AND still over this item
689
677
  if (data.isDown && pointer.isUp) {
690
678
  data.isDown = false;
@@ -725,11 +713,11 @@ export class InputHandler {
725
713
 
726
714
  /**
727
715
  * TBD.
728
- * @param {import('./input_pointer.js').Pointer} pointer - TBD.
716
+ * @param {Pointer} pointer - TBD.
729
717
  * @param {boolean} fromStart - TBD.
730
718
  * @returns {boolean} TBD.
731
719
  */
732
- updateDrag(pointer: import('./input_pointer.js').Pointer, fromStart: boolean = false) {
720
+ public updateDrag(pointer: Pointer, fromStart = false) {
733
721
  if (pointer.isUp) {
734
722
  this.stopDrag(pointer);
735
723
  return false;
@@ -769,8 +757,8 @@ export class InputHandler {
769
757
  * @param {number} delay - TBD.
770
758
  * @returns {boolean} TBD.
771
759
  */
772
- justOver(pointerId: number = 0, delay: number = 500) {
773
- return this._pointerData[pointerId].isOver && this.overDuration(pointerId) < delay;
760
+ public justOver(pointerId = 0, delay = 500) {
761
+ return this.pointerData(pointerId).isOver && this.overDuration(pointerId) < delay;
774
762
  }
775
763
 
776
764
  /**
@@ -779,8 +767,8 @@ export class InputHandler {
779
767
  * @param {number} delay - TBD.
780
768
  * @returns {boolean} TBD.
781
769
  */
782
- justOut(pointerId: number = 0, delay: number = 500) {
783
- return this._pointerData[pointerId].isOut && this.game.time.time - this._pointerData[pointerId].timeOut < delay;
770
+ public justOut(pointerId = 0, delay = 500) {
771
+ return this.pointerData(pointerId).isOut && this.game.time.time - this.pointerData(pointerId).timeOut < delay;
784
772
  }
785
773
 
786
774
  /**
@@ -789,8 +777,8 @@ export class InputHandler {
789
777
  * @param {number} delay - TBD.
790
778
  * @returns {boolean} TBD.
791
779
  */
792
- justPressed(pointerId: number = 0, delay: number = 500) {
793
- return this._pointerData[pointerId].isDown && this.downDuration(pointerId) < delay;
780
+ public justPressed(pointerId = 0, delay = 500) {
781
+ return this.pointerData(pointerId).isDown && this.downDuration(pointerId) < delay;
794
782
  }
795
783
 
796
784
  /**
@@ -799,8 +787,8 @@ export class InputHandler {
799
787
  * @param {number} delay - TBD.
800
788
  * @returns {boolean} TBD.
801
789
  */
802
- justReleased(pointerId: number = 0, delay: number = 500) {
803
- return this._pointerData[pointerId].isUp && this.game.time.time - this._pointerData[pointerId].timeUp < delay;
790
+ public justReleased(pointerId = 0, delay = 500) {
791
+ return this.pointerData(pointerId).isUp && this.game.time.time - this.pointerData(pointerId).timeUp < delay;
804
792
  }
805
793
 
806
794
  /**
@@ -808,9 +796,9 @@ export class InputHandler {
808
796
  * @param {number} pointerId - TBD.
809
797
  * @returns {number} TBD.
810
798
  */
811
- overDuration(pointerId: number = 0) {
812
- if (this._pointerData[pointerId].isOver) {
813
- return this.game.time.time - this._pointerData[pointerId].timeOver;
799
+ public overDuration(pointerId = 0) {
800
+ if (this.pointerData(pointerId).isOver) {
801
+ return this.game.time.time - this.pointerData(pointerId).timeOver;
814
802
  }
815
803
  return -1;
816
804
  }
@@ -820,9 +808,9 @@ export class InputHandler {
820
808
  * @param {number} pointerId - TBD.
821
809
  * @returns {number} TBD.
822
810
  */
823
- downDuration(pointerId: number = 0) {
824
- if (this._pointerData[pointerId].isDown) {
825
- return this.game.time.time - this._pointerData[pointerId].timeDown;
811
+ public downDuration(pointerId = 0) {
812
+ if (this.pointerData(pointerId).isDown) {
813
+ return this.game.time.time - this.pointerData(pointerId).timeDown;
826
814
  }
827
815
  return -1;
828
816
  }
@@ -833,16 +821,16 @@ export class InputHandler {
833
821
  * @param {boolean} bringToTop - TBD.
834
822
  * @param {boolean} pixelPerfect - TBD.
835
823
  * @param {number} alphaThreshold - TBD.
836
- * @param {import('../geom/rectangle.js').Rectangle | null | undefined} boundsRect - TBD.
837
- * @param {import('../display/display_object.js').DisplayObject | null | undefined} boundsSprite - TBD.
838
- */
839
- enableDrag(
840
- lockCenter: boolean = false,
841
- bringToTop: boolean = false,
842
- pixelPerfect: boolean = false,
843
- alphaThreshold: number = 255,
844
- boundsRect: import('../geom/rectangle.js').Rectangle | null | undefined = null,
845
- boundsSprite: import('../display/display_object.js').DisplayObject | null | undefined = null
824
+ * @param {Rectangle | null | undefined} boundsRect - TBD.
825
+ * @param {DisplayObject | null | undefined} boundsSprite - TBD.
826
+ */
827
+ public enableDrag(
828
+ lockCenter = false,
829
+ bringToTop = false,
830
+ pixelPerfect = false,
831
+ alphaThreshold = 255,
832
+ boundsRect: Rectangle | null | undefined = null,
833
+ boundsSprite: DisplayObject | null | undefined = null
846
834
  ) {
847
835
  this._dragPoint = new Point();
848
836
  this.draggable = true;
@@ -862,10 +850,10 @@ export class InputHandler {
862
850
  /**
863
851
  * TBD.
864
852
  */
865
- disableDrag() {
853
+ public disableDrag() {
866
854
  if (this._pointerData) {
867
855
  for (let i = 0; i < 10; i += 1) {
868
- this._pointerData[i].isDragged = false;
856
+ this.pointerData(i).isDragged = false;
869
857
  }
870
858
  }
871
859
  this.draggable = false;
@@ -876,16 +864,16 @@ export class InputHandler {
876
864
 
877
865
  /**
878
866
  * TBD.
879
- * @param {import('./input_pointer.js').Pointer} pointer - TBD.
867
+ * @param {Pointer} pointer - TBD.
880
868
  */
881
- startDrag(pointer: import('./input_pointer.js').Pointer) {
882
- const x = this.sprite.x;
883
- const y = this.sprite.y;
869
+ public startDrag(pointer: Pointer) {
870
+ const { x } = this.sprite;
871
+ const { y } = this.sprite;
884
872
  this.isDragged = true;
885
873
  this._draggedPointerID = pointer.id;
886
- this._pointerData[pointer.id].camX = 0;
887
- this._pointerData[pointer.id].camY = 0;
888
- this._pointerData[pointer.id].isDragged = true;
874
+ this.pointerData(pointer.id).camX = 0;
875
+ this.pointerData(pointer.id).camY = 0;
876
+ this.pointerData(pointer.id).isDragged = true;
889
877
  if (this.dragFromCenter) {
890
878
  const bounds = this.sprite.getBounds();
891
879
  this.sprite.x = this.globalToLocalX(pointer.x) + (this.sprite.x - bounds.centerX);
@@ -910,7 +898,7 @@ export class InputHandler {
910
898
  * @param {number} x - TBD.
911
899
  * @returns {number} TBD.
912
900
  */
913
- globalToLocalX(x: number) {
901
+ public globalToLocalX(x: number) {
914
902
  if (this.scaleLayer) {
915
903
  x -= this.game.scale.grid.boundsFluid.x;
916
904
  x *= this.game.scale.grid.scaleFluidInversed.x;
@@ -923,7 +911,7 @@ export class InputHandler {
923
911
  * @param {number} y - TBD.
924
912
  * @returns {number} TBD.
925
913
  */
926
- globalToLocalY(y: number) {
914
+ public globalToLocalY(y: number) {
927
915
  if (this.scaleLayer) {
928
916
  y -= this.game.scale.grid.boundsFluid.y;
929
917
  y *= this.game.scale.grid.scaleFluidInversed.y;
@@ -933,12 +921,12 @@ export class InputHandler {
933
921
 
934
922
  /**
935
923
  * TBD.
936
- * @param {import('./input_pointer.js').Pointer} pointer - TBD.
924
+ * @param {Pointer} pointer - TBD.
937
925
  */
938
- stopDrag(pointer: import('./input_pointer.js').Pointer) {
926
+ public stopDrag(pointer: Pointer) {
939
927
  this.isDragged = false;
940
928
  this._draggedPointerID = -1;
941
- this._pointerData[pointer.id].isDragged = false;
929
+ this.pointerData(pointer.id).isDragged = false;
942
930
  this._dragPhase = false;
943
931
  this._pendingDrag = false;
944
932
  if (this.snapOnRelease) {
@@ -950,7 +938,7 @@ export class InputHandler {
950
938
  (this.snapOffsetY % this.snapY);
951
939
  }
952
940
  this.sprite.events.onDragStop$dispatch(this.sprite, pointer);
953
- if (this.checkPointerOver(pointer) === false) {
941
+ if (!this.checkPointerOver(pointer)) {
954
942
  this._pointerOutHandler(pointer);
955
943
  }
956
944
  }
@@ -960,7 +948,7 @@ export class InputHandler {
960
948
  * @param {boolean} allowHorizontal - TBD.
961
949
  * @param {boolean} allowVertical - TBD.
962
950
  */
963
- setDragLock(allowHorizontal: boolean = true, allowVertical: boolean = true) {
951
+ public setDragLock(allowHorizontal = true, allowVertical = true) {
964
952
  this.allowHorizontalDrag = allowHorizontal;
965
953
  this.allowVerticalDrag = allowVertical;
966
954
  }
@@ -974,14 +962,7 @@ export class InputHandler {
974
962
  * @param {number} snapOffsetX - TBD.
975
963
  * @param {number} snapOffsetY - TBD.
976
964
  */
977
- enableSnap(
978
- snapX: number,
979
- snapY: number,
980
- onDrag: boolean = true,
981
- onRelease: boolean = false,
982
- snapOffsetX: number = 0,
983
- snapOffsetY: number = 0
984
- ) {
965
+ public enableSnap(snapX: number, snapY: number, onDrag = true, onRelease = false, snapOffsetX = 0, snapOffsetY = 0) {
985
966
  this.snapX = snapX;
986
967
  this.snapY = snapY;
987
968
  this.snapOffsetX = snapOffsetX;
@@ -993,7 +974,7 @@ export class InputHandler {
993
974
  /**
994
975
  * TBD.
995
976
  */
996
- disableSnap() {
977
+ public disableSnap() {
997
978
  this.snapOnDrag = false;
998
979
  this.snapOnRelease = false;
999
980
  }
@@ -1001,7 +982,7 @@ export class InputHandler {
1001
982
  /**
1002
983
  * TBD.
1003
984
  */
1004
- checkBoundsRect() {
985
+ public checkBoundsRect() {
1005
986
  if (this.sprite.left < this.boundsRect.left) {
1006
987
  this.sprite.x = this.boundsRect.x + this.sprite.offsetX;
1007
988
  } else if (this.sprite.right > this.boundsRect.right) {
@@ -1017,7 +998,7 @@ export class InputHandler {
1017
998
  /**
1018
999
  * TBD.
1019
1000
  */
1020
- checkBoundsSprite() {
1001
+ public checkBoundsSprite() {
1021
1002
  if (this.sprite.left < this.boundsSprite.left) {
1022
1003
  this.sprite.x = this.boundsSprite.left + this.sprite.offsetX;
1023
1004
  } else if (this.sprite.right > this.boundsSprite.right) {