@vpmedia/phaser 1.120.0 → 1.122.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 (156) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +499 -607
  4. package/dist/index.js.map +1 -1
  5. package/dist/phaser/core/animation.d.ts.map +1 -1
  6. package/dist/phaser/core/animation_manager.d.ts.map +1 -1
  7. package/dist/phaser/core/animation_parser.d.ts +1 -1
  8. package/dist/phaser/core/array_set.d.ts.map +1 -1
  9. package/dist/phaser/core/callback.d.ts +24 -0
  10. package/dist/phaser/core/callback.d.ts.map +1 -0
  11. package/dist/phaser/core/device.d.ts +1 -5
  12. package/dist/phaser/core/device.d.ts.map +1 -1
  13. package/dist/phaser/core/dom.d.ts.map +1 -1
  14. package/dist/phaser/core/factory.d.ts +2 -1
  15. package/dist/phaser/core/factory.d.ts.map +1 -1
  16. package/dist/phaser/core/game.d.ts +3 -0
  17. package/dist/phaser/core/game.d.ts.map +1 -1
  18. package/dist/phaser/core/input.d.ts +11 -9
  19. package/dist/phaser/core/input.d.ts.map +1 -1
  20. package/dist/phaser/core/input_event.d.ts +1 -1
  21. package/dist/phaser/core/input_event.d.ts.map +1 -1
  22. package/dist/phaser/core/input_handler.d.ts.map +1 -1
  23. package/dist/phaser/core/input_mouse.d.ts.map +1 -1
  24. package/dist/phaser/core/input_mspointer.d.ts.map +1 -1
  25. package/dist/phaser/core/input_pointer.d.ts +3 -2
  26. package/dist/phaser/core/input_pointer.d.ts.map +1 -1
  27. package/dist/phaser/core/input_touch.d.ts.map +1 -1
  28. package/dist/phaser/core/loader.d.ts +5 -4
  29. package/dist/phaser/core/loader.d.ts.map +1 -1
  30. package/dist/phaser/core/scale_manager.d.ts +5 -4
  31. package/dist/phaser/core/scale_manager.d.ts.map +1 -1
  32. package/dist/phaser/core/scene_manager.d.ts.map +1 -1
  33. package/dist/phaser/core/signal.d.ts +14 -7
  34. package/dist/phaser/core/signal.d.ts.map +1 -1
  35. package/dist/phaser/core/signal_binding.d.ts +10 -10
  36. package/dist/phaser/core/signal_binding.d.ts.map +1 -1
  37. package/dist/phaser/core/sound.d.ts +3 -3
  38. package/dist/phaser/core/sound.d.ts.map +1 -1
  39. package/dist/phaser/core/sound_manager.d.ts +9 -3
  40. package/dist/phaser/core/sound_manager.d.ts.map +1 -1
  41. package/dist/phaser/core/sound_sprite.d.ts +19 -7
  42. package/dist/phaser/core/sound_sprite.d.ts.map +1 -1
  43. package/dist/phaser/core/timer.d.ts +5 -4
  44. package/dist/phaser/core/timer.d.ts.map +1 -1
  45. package/dist/phaser/core/timer_event.d.ts +3 -2
  46. package/dist/phaser/core/timer_event.d.ts.map +1 -1
  47. package/dist/phaser/core/tween.d.ts +7 -6
  48. package/dist/phaser/core/tween.d.ts.map +1 -1
  49. package/dist/phaser/core/tween_data.d.ts +2 -1
  50. package/dist/phaser/core/tween_data.d.ts.map +1 -1
  51. package/dist/phaser/core/tween_easing.d.ts +31 -31
  52. package/dist/phaser/core/tween_manager.d.ts.map +1 -1
  53. package/dist/phaser/display/bitmap_text.d.ts.map +1 -1
  54. package/dist/phaser/display/button.d.ts +2 -1
  55. package/dist/phaser/display/button.d.ts.map +1 -1
  56. package/dist/phaser/display/canvas/pool.d.ts.map +1 -1
  57. package/dist/phaser/display/canvas/renderer.d.ts +1 -1
  58. package/dist/phaser/display/canvas/renderer.d.ts.map +1 -1
  59. package/dist/phaser/display/canvas/tinter.d.ts.map +1 -1
  60. package/dist/phaser/display/canvas/util.d.ts +2 -2
  61. package/dist/phaser/display/canvas/util.d.ts.map +1 -1
  62. package/dist/phaser/display/display_object.d.ts +9 -6
  63. package/dist/phaser/display/display_object.d.ts.map +1 -1
  64. package/dist/phaser/display/graphics.d.ts +7 -3
  65. package/dist/phaser/display/graphics.d.ts.map +1 -1
  66. package/dist/phaser/display/group.d.ts +1 -1
  67. package/dist/phaser/display/group.d.ts.map +1 -1
  68. package/dist/phaser/display/image.d.ts.map +1 -1
  69. package/dist/phaser/display/sprite_util.d.ts.map +1 -1
  70. package/dist/phaser/display/text.d.ts +5 -0
  71. package/dist/phaser/display/text.d.ts.map +1 -1
  72. package/dist/phaser/display/webgl/base_texture.d.ts.map +1 -1
  73. package/dist/phaser/display/webgl/earcut.d.ts.map +1 -1
  74. package/dist/phaser/display/webgl/fast_sprite_batch.d.ts.map +1 -1
  75. package/dist/phaser/display/webgl/filter_manager.d.ts.map +1 -1
  76. package/dist/phaser/display/webgl/graphics.d.ts.map +1 -1
  77. package/dist/phaser/display/webgl/graphics_data.d.ts.map +1 -1
  78. package/dist/phaser/display/webgl/render_texture.d.ts.map +1 -1
  79. package/dist/phaser/display/webgl/renderer.d.ts.map +1 -1
  80. package/dist/phaser/display/webgl/sprite_batch.d.ts.map +1 -1
  81. package/dist/phaser/display/webgl/texture.d.ts.map +1 -1
  82. package/dist/phaser/geom/polygon.d.ts +11 -5
  83. package/dist/phaser/geom/polygon.d.ts.map +1 -1
  84. package/dist/phaser/geom/rectangle.d.ts.map +1 -1
  85. package/dist/phaser/geom/rounded_rectangle.d.ts.map +1 -1
  86. package/dist/phaser/util/math.d.ts.map +1 -1
  87. package/package.json +1 -1
  88. package/src/index.ts +9 -0
  89. package/src/phaser/core/animation.ts +1 -2
  90. package/src/phaser/core/animation_manager.ts +3 -11
  91. package/src/phaser/core/animation_parser.ts +2 -2
  92. package/src/phaser/core/array_set.ts +8 -10
  93. package/src/phaser/core/cache.ts +2 -2
  94. package/src/phaser/core/callback.ts +34 -0
  95. package/src/phaser/core/device.ts +24 -53
  96. package/src/phaser/core/device_util.ts +6 -6
  97. package/src/phaser/core/dom.ts +10 -7
  98. package/src/phaser/core/factory.ts +3 -2
  99. package/src/phaser/core/game.ts +4 -5
  100. package/src/phaser/core/input.ts +16 -12
  101. package/src/phaser/core/input_event.ts +1 -1
  102. package/src/phaser/core/input_handler.ts +21 -22
  103. package/src/phaser/core/input_mouse.ts +12 -17
  104. package/src/phaser/core/input_mspointer.ts +8 -11
  105. package/src/phaser/core/input_pointer.ts +22 -21
  106. package/src/phaser/core/input_touch.ts +16 -19
  107. package/src/phaser/core/loader.ts +75 -86
  108. package/src/phaser/core/loader_parser.ts +6 -6
  109. package/src/phaser/core/scale_manager.ts +34 -42
  110. package/src/phaser/core/scene_manager.ts +2 -1
  111. package/src/phaser/core/signal.ts +21 -13
  112. package/src/phaser/core/signal_binding.ts +20 -21
  113. package/src/phaser/core/sound.ts +9 -11
  114. package/src/phaser/core/sound_manager.ts +53 -47
  115. package/src/phaser/core/sound_sprite.ts +34 -21
  116. package/src/phaser/core/stage.ts +4 -4
  117. package/src/phaser/core/timer.ts +13 -30
  118. package/src/phaser/core/timer_event.ts +3 -2
  119. package/src/phaser/core/tween.ts +9 -8
  120. package/src/phaser/core/tween_data.ts +15 -41
  121. package/src/phaser/core/tween_easing.test.ts +35 -35
  122. package/src/phaser/core/tween_easing.ts +33 -33
  123. package/src/phaser/core/tween_manager.ts +77 -75
  124. package/src/phaser/display/bitmap_text.ts +7 -11
  125. package/src/phaser/display/button.ts +3 -2
  126. package/src/phaser/display/canvas/graphics.ts +7 -7
  127. package/src/phaser/display/canvas/pool.ts +5 -6
  128. package/src/phaser/display/canvas/renderer.ts +7 -4
  129. package/src/phaser/display/canvas/tinter.ts +9 -11
  130. package/src/phaser/display/canvas/util.test.ts +122 -0
  131. package/src/phaser/display/canvas/util.ts +34 -35
  132. package/src/phaser/display/display_object.ts +31 -43
  133. package/src/phaser/display/graphics.ts +30 -45
  134. package/src/phaser/display/group.ts +1 -1
  135. package/src/phaser/display/image.ts +9 -16
  136. package/src/phaser/display/sprite_util.ts +0 -1
  137. package/src/phaser/display/text.ts +27 -43
  138. package/src/phaser/display/webgl/base_texture.ts +3 -3
  139. package/src/phaser/display/webgl/earcut.ts +2 -3
  140. package/src/phaser/display/webgl/fast_sprite_batch.ts +1 -2
  141. package/src/phaser/display/webgl/filter_manager.ts +6 -18
  142. package/src/phaser/display/webgl/filter_texture.ts +3 -3
  143. package/src/phaser/display/webgl/graphics.ts +28 -38
  144. package/src/phaser/display/webgl/graphics_data.ts +0 -1
  145. package/src/phaser/display/webgl/render_texture.ts +4 -13
  146. package/src/phaser/display/webgl/renderer.ts +0 -1
  147. package/src/phaser/display/webgl/sprite_batch.ts +2 -9
  148. package/src/phaser/display/webgl/texture.ts +12 -15
  149. package/src/phaser/geom/point.ts +1 -1
  150. package/src/phaser/geom/polygon.test.ts +59 -0
  151. package/src/phaser/geom/polygon.ts +43 -45
  152. package/src/phaser/geom/rectangle.ts +3 -15
  153. package/src/phaser/geom/rounded_rectangle.ts +2 -4
  154. package/src/phaser/geom/util/point.ts +1 -1
  155. package/src/phaser/geom/util/rectangle.ts +2 -2
  156. package/src/phaser/util/math.ts +1 -5
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/phaser/display/webgl/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAuBrD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAM5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,aAAa;IACjB,EAAE,EAAG,+BAA+B,CAAC;IACrC,WAAW,EAAG,MAAM,CAAC;IACrB,IAAI,EAAG,MAAM,CAAC;IACd,UAAU,EAAG,MAAM,CAAC;IACpB,UAAU,EAAG,OAAO,CAAC;IACrB,WAAW,EAAG,OAAO,CAAC;IACtB,iBAAiB,EAAG,OAAO,CAAC;IAC5B,KAAK,EAAG,MAAM,CAAC;IACf,MAAM,EAAG,MAAM,CAAC;IAChB,IAAI,EAAG,iBAAiB,CAAC;IACzB,eAAe,EAAG,sBAAsB,CAAC;IACzC,UAAU,EAAG,KAAK,CAAC;IACnB,MAAM,EAAG,KAAK,CAAC;IACf,aAAa,EAAG,kBAAkB,CAAC;IACnC,WAAW,EAAG,gBAAgB,CAAC;IAC/B,aAAa,EAAG,GAAG,CAAC;IACpB,cAAc,EAAG,GAAG,CAAC;IACrB,gBAAgB,EAAG,GAAG,CAAC;IACvB,aAAa,EAAG,aAAa,CAAC;IACrC;;;OAGG;IACH,YAAmB,IAAI,EAAE,IAAI,EAwC5B;IAED;;OAEG;IACI,OAAO,IAAI,IAAI,CAgBrB;IAED;;OAEG;IACI,YAAY,IAAI,IAAI,CAI1B;IAED;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAqCnC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAgBhC;IAED;;;;;;OAMG;IACI,mBAAmB,CAAC,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI,CAkBlG;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAYjD;IAED;;;;OAIG;IACI,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAkClD;IAED;;OAEG;IACI,aAAa,IAAI,IAAI,CAwB3B;CACF"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/phaser/display/webgl/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAuBrD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAM5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,aAAa;IACjB,EAAE,EAAG,+BAA+B,CAAC;IACrC,WAAW,EAAG,MAAM,CAAC;IACrB,IAAI,EAAG,MAAM,CAAC;IACd,UAAU,EAAG,MAAM,CAAC;IACpB,UAAU,EAAG,OAAO,CAAC;IACrB,WAAW,EAAG,OAAO,CAAC;IACtB,iBAAiB,EAAG,OAAO,CAAC;IAC5B,KAAK,EAAG,MAAM,CAAC;IACf,MAAM,EAAG,MAAM,CAAC;IAChB,IAAI,EAAG,iBAAiB,CAAC;IACzB,eAAe,EAAG,sBAAsB,CAAC;IACzC,UAAU,EAAG,KAAK,CAAC;IACnB,MAAM,EAAG,KAAK,CAAC;IACf,aAAa,EAAG,kBAAkB,CAAC;IACnC,WAAW,EAAG,gBAAgB,CAAC;IAC/B,aAAa,EAAG,GAAG,CAAC;IACpB,cAAc,EAAG,GAAG,CAAC;IACrB,gBAAgB,EAAG,GAAG,CAAC;IACvB,aAAa,EAAG,aAAa,CAAC;IACrC;;;OAGG;IACH,YAAmB,IAAI,EAAE,IAAI,EAwC5B;IAED;;OAEG;IACI,OAAO,IAAI,IAAI,CAgBrB;IAED;;OAEG;IACI,YAAY,IAAI,IAAI,CAI1B;IAED;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAoCnC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAgBhC;IAED;;;;;;OAMG;IACI,mBAAmB,CAAC,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI,CAkBlG;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAYjD;IAED;;;;OAIG;IACI,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAkClD;IAED;;OAEG;IACI,aAAa,IAAI,IAAI,CAwB3B;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"sprite_batch.d.ts","sourceRoot":"","sources":["../../../../src/phaser/display/webgl/sprite_batch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,gBAAgB;IACpB,QAAQ,SAAK;IACb,IAAI,SAAO;IACX,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,GAAG,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,aAAa,EAAE,GAAG,CAAC;IACnB,EAAE,EAAG,+BAA+B,CAAC;IACrC,YAAY,EAAG,WAAW,GAAG,IAAI,CAAC;IAClC,WAAW,EAAG,WAAW,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAG,MAAM,CAAC;IAC1B,aAAa,EAAG,aAAa,CAAC;IAC9B,MAAM,EAAG,YAAY,GAAG,IAAI,CAAC;IACpC;;OAEG;IACH,cAoCC;IAED;;;OAGG;IACI,UAAU,CAAC,EAAE,EAAE,+BAA+B,GAAG,IAAI,CAiB3D;IAED;;;OAGG;IACI,KAAK,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAI/C;IAED;;OAEG;IACI,GAAG,IAAI,IAAI,CAEjB;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI,CA+F/D;IAED;;OAEG;IACI,kBAAkB,IAAI,IAAI,CAEhC;IAED;;OAEG;IACI,KAAK,IAAI,IAAI,CA8FnB;IAED;;;;;OAKG;IACI,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAmB/E;IAED;;OAEG;IACI,IAAI,IAAI,IAAI,CAGlB;IAED;;OAEG;IACI,KAAK,IAAI,IAAI,CAEnB;IAED;;OAEG;IACI,OAAO,IAAI,IAAI,CAQrB;CACF"}
1
+ {"version":3,"file":"sprite_batch.d.ts","sourceRoot":"","sources":["../../../../src/phaser/display/webgl/sprite_batch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,gBAAgB;IACpB,QAAQ,SAAK;IACb,IAAI,SAAO;IACX,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,GAAG,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,aAAa,EAAE,GAAG,CAAC;IACnB,EAAE,EAAG,+BAA+B,CAAC;IACrC,YAAY,EAAG,WAAW,GAAG,IAAI,CAAC;IAClC,WAAW,EAAG,WAAW,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAG,MAAM,CAAC;IAC1B,aAAa,EAAG,aAAa,CAAC;IAC9B,MAAM,EAAG,YAAY,GAAG,IAAI,CAAC;IACpC;;OAEG;IACH,cAoCC;IAED;;;OAGG;IACI,UAAU,CAAC,EAAE,EAAE,+BAA+B,GAAG,IAAI,CAiB3D;IAED;;;OAGG;IACI,KAAK,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAI/C;IAED;;OAEG;IACI,GAAG,IAAI,IAAI,CAEjB;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI,CA+F/D;IAED;;OAEG;IACI,kBAAkB,IAAI,IAAI,CAAG;IAEpC;;OAEG;IACI,KAAK,IAAI,IAAI,CAyFnB;IAED;;;;;OAKG;IACI,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAmB/E;IAED;;OAEG;IACI,IAAI,IAAI,IAAI,CAGlB;IAED;;OAEG;IACI,KAAK,IAAI,IAAI,CAEnB;IAED;;OAEG;IACI,OAAO,IAAI,IAAI,CAQrB;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"texture.d.ts","sourceRoot":"","sources":["../../../../src/phaser/display/webgl/texture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,uEAAuE;AACvE,qBAAa,UAAU;IACd,EAAE,SAAK;IACP,EAAE,SAAK;IACP,EAAE,SAAK;IACP,EAAE,SAAK;IACP,EAAE,SAAK;IACP,EAAE,SAAK;IACP,EAAE,SAAK;IACP,EAAE,SAAK;CACf;AAED,qBAAa,OAAO;IACX,OAAO,UAAS;IAChB,WAAW,EAAG,WAAW,CAAC;IAC1B,KAAK,EAAG,SAAS,CAAC;IAClB,IAAI,EAAG,SAAS,GAAG,IAAI,CAAC;IACxB,KAAK,EAAG,OAAO,CAAC;IAChB,QAAQ,EAAG,OAAO,CAAC;IACnB,cAAc,EAAG,OAAO,CAAC;IACzB,cAAc,EAAG,OAAO,CAAC;IACzB,IAAI,EAAG,UAAU,GAAG,IAAI,CAAC;IACzB,KAAK,EAAG,MAAM,CAAC;IACf,MAAM,EAAG,MAAM,CAAC;IAChB,IAAI,EAAG,SAAS,CAAC;IACxB;;;;;;OAMG;IACH,YACE,WAAW,EAAE,WAAW,EACxB,KAAK,GAAE,SAAS,GAAG,IAAI,GAAG,SAAgB,EAC1C,IAAI,GAAE,SAAS,GAAG,IAAI,GAAG,SAAgB,EACzC,IAAI,GAAE,SAAS,GAAG,IAAI,GAAG,SAAgB,EAoC1C;IAED;;OAEG;IACI,mBAAmB,IAAI,IAAI,CAKjC;IAED;;;OAGG;IACI,OAAO,CAAC,WAAW,GAAE,OAAe,GAAG,IAAI,CAKjD;IAED;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAiCtC;IAED;;OAEG;IACI,UAAU,IAAI,IAAI,CAaxB;CACF"}
1
+ {"version":3,"file":"texture.d.ts","sourceRoot":"","sources":["../../../../src/phaser/display/webgl/texture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,uEAAuE;AACvE,qBAAa,UAAU;IACd,EAAE,SAAK;IACP,EAAE,SAAK;IACP,EAAE,SAAK;IACP,EAAE,SAAK;IACP,EAAE,SAAK;IACP,EAAE,SAAK;IACP,EAAE,SAAK;IACP,EAAE,SAAK;CACf;AAED,qBAAa,OAAO;IACX,OAAO,UAAS;IAChB,WAAW,EAAG,WAAW,CAAC;IAC1B,KAAK,EAAG,SAAS,CAAC;IAClB,IAAI,EAAG,SAAS,GAAG,IAAI,CAAC;IACxB,KAAK,EAAG,OAAO,CAAC;IAChB,QAAQ,EAAG,OAAO,CAAC;IACnB,cAAc,EAAG,OAAO,CAAC;IACzB,cAAc,EAAG,OAAO,CAAC;IACzB,IAAI,EAAG,UAAU,GAAG,IAAI,CAAC;IACzB,KAAK,EAAG,MAAM,CAAC;IACf,MAAM,EAAG,MAAM,CAAC;IAChB,IAAI,EAAG,SAAS,CAAC;IACxB;;;;;;OAMG;IACH,YACE,WAAW,EAAE,WAAW,EACxB,KAAK,GAAE,SAAS,GAAG,IAAI,GAAG,SAAgB,EAC1C,IAAI,GAAE,SAAS,GAAG,IAAI,GAAG,SAAgB,EACzC,IAAI,GAAE,SAAS,GAAG,IAAI,GAAG,SAAgB,EAgC1C;IAED;;OAEG;IACI,mBAAmB,IAAI,IAAI,CAKjC;IAED;;;OAGG;IACI,OAAO,CAAC,WAAW,UAAQ,GAAG,IAAI,CAKxC;IAED;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAkCtC;IAED;;OAEG;IACI,UAAU,IAAI,IAAI,CAaxB;CACF"}
@@ -1,6 +1,12 @@
1
+ import { Point } from './point.js';
2
+ /** A vertex as `setTo` accepts it: a point, an `{x, y}` pair, an `[x, y]` tuple, or a loose number. */
3
+ export type PolygonVertex = Point | {
4
+ x: number;
5
+ y: number;
6
+ } | [number, number] | number;
1
7
  export declare class Polygon {
2
8
  area: number;
3
- _points: any[];
9
+ _points: Point[] | number[];
4
10
  closed: boolean;
5
11
  flattened: boolean;
6
12
  type: number;
@@ -8,7 +14,7 @@ export declare class Polygon {
8
14
  * Creates a new Polygon instance.
9
15
  * @param {object[]} points - The array of points to define the polygon (optional).
10
16
  */
11
- constructor(points?: any[] | null);
17
+ constructor(points?: PolygonVertex[] | null);
12
18
  /**
13
19
  * Converts the polygon's points to a number array.
14
20
  * @param {number[]} output - The array to store the result in (optional).
@@ -37,7 +43,7 @@ export declare class Polygon {
37
43
  * @param {object[]} points - The array of points to define the polygon.
38
44
  * @returns {Polygon} This polygon instance for chaining.
39
45
  */
40
- setTo(points: any[]): this;
46
+ setTo(points: PolygonVertex[]): this;
41
47
  /**
42
48
  * Calculates the area of this polygon.
43
49
  * @param {number} y0 - The y coordinate of the lowest boundary (internal use).
@@ -48,10 +54,10 @@ export declare class Polygon {
48
54
  * Gets the points of this polygon.
49
55
  * @returns {object[]} The array of points that define this polygon.
50
56
  */
51
- get points(): any[];
57
+ get points(): Point[] | number[];
52
58
  /**
53
59
  * Sets the points of this polygon.
54
60
  */
55
- set points(value: any[]);
61
+ set points(value: PolygonVertex[] | null);
56
62
  }
57
63
  //# sourceMappingURL=polygon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"polygon.d.ts","sourceRoot":"","sources":["../../../src/phaser/geom/polygon.ts"],"names":[],"mappings":"AAIA,qBAAa,OAAO;IACX,IAAI,SAAK;IACT,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,YAAmB,MAAM,GAAE,GAAG,EAAE,GAAG,IAAW,EAc7C;IAED;;;;OAIG;IACI,aAAa,CAAC,MAAM,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAYpD;IAED;;;OAGG;IACI,OAAO,IAAI,IAAI,CAIrB;IAED;;;OAGG;IACI,KAAK,IAAI,OAAO,CAEtB;IAED;;;;;OAKG;IACI,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAyB7C;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAgChC;IAED;;;;OAIG;IACI,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAiBvC;IAED;;;OAGG;IACH,IAAW,MAAM,UAEhB;IAED;;OAEG;IACH,IAAW,MAAM,CAAC,KAAK,OAAA,EAOtB;CACF"}
1
+ {"version":3,"file":"polygon.d.ts","sourceRoot":"","sources":["../../../src/phaser/geom/polygon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAInC,uGAAuG;AACvG,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;AAEzF,qBAAa,OAAO;IACX,IAAI,SAAK;IACT,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,YAAmB,MAAM,GAAE,aAAa,EAAE,GAAG,IAAW,EAcvD;IAED;;;;OAIG;IACI,aAAa,CAAC,MAAM,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAYpD;IAED;;;OAGG;IACI,OAAO,IAAI,IAAI,CAIrB;IAED;;;OAGG;IACI,KAAK,IAAI,OAAO,CAEtB;IAED;;;;;OAKG;IACI,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAyB7C;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAkC1C;IAED;;;;OAIG;IACI,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAUvC;IAED;;;OAGG;IACH,IAAW,MAAM,IAAI,KAAK,EAAE,GAAG,MAAM,EAAE,CAEtC;IAED;;OAEG;IACH,IAAW,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAO9C;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"rectangle.d.ts","sourceRoot":"","sources":["../../../src/phaser/geom/rectangle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rectangle.d.ts","sourceRoot":"","sources":["../../../src/phaser/geom/rectangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AA0BnC,qBAAa,SAAS;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,YAAmB,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,KAAK,SAAI,EAAE,MAAM,SAAI,EAWrD;IAED;;;;;OAKG;IACI,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAI1C;IAED;;;;OAIG;IACI,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAErC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAMtE;IAED;;;;;OAKG;IACI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAKxC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAI1C;IAED;;OAEG;IACI,KAAK,IAAI,IAAI,CAGnB;IAED;;OAEG;IACI,QAAQ,IAAI,IAAI,CAKtB;IAED;;OAEG;IACI,IAAI,IAAI,IAAI,CAGlB;IAED;;OAEG;IACI,OAAO,IAAI,IAAI,CAKrB;IAED;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAEvC;IAED;;;;OAIG;IACI,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAMxC;IAED;;;;;OAKG;IACI,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,CAEhD;IAED;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,CAEhC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAIjD;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAE1C;IAED;;;;;OAKG;IACI,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7C;IAED;;;;OAIG;IACI,YAAY,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAEzC;IAED;;;;OAIG;IACI,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAEnC;IAED;;;;;OAKG;IACI,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,CAE5D;IAED;;;;OAIG;IACI,UAAU,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAEvC;IAED;;;;;;;;OAQG;IACI,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzG;IAED;;;;;OAKG;IACI,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,CAErD;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAM,GAAE,KAAK,GAAG,IAAW,GAAG,KAAK,CAKhD;IAED;;;;;OAKG;IACI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,KAAK,GAAG,IAAW,GAAG,KAAK,CAkCpE;IAED;;;OAGG;IACI,QAAQ,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED;;;OAGG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;;OAGG;IACH,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED;;OAEG;IACH,IAAW,GAAG,CAAC,KAAK,EAPF,MAOE,EAOnB;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,KAAK,CAE1B;IAED;;OAEG;IACH,IAAW,OAAO,CAAC,KAAK,EAPF,KAOE,EAGvB;IAED;;;OAGG;IACH,IAAW,QAAQ,IAAI,KAAK,CAE3B;IAED;;OAEG;IACH,IAAW,QAAQ,CAAC,KAAK,EAPF,KAOE,EAGxB;IAED;;;OAGG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;OAEG;IACH,IAAW,MAAM,CAAC,KAAK,EAPF,MAOE,EAEtB;IAED;;;OAGG;IACH,IAAW,UAAU,IAAI,KAAK,CAE7B;IAED;;OAEG;IACH,IAAW,UAAU,CAAC,KAAK,EAPF,KAOE,EAG1B;IAED;;;OAGG;IACH,IAAW,WAAW,IAAI,KAAK,CAE9B;IAED;;OAEG;IACH,IAAW,WAAW,CAAC,KAAK,EAPF,KAOE,EAG3B;IAED;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAW,IAAI,CAAC,KAAK,EAPF,MAOE,EAGpB;IAED;;;OAGG;IACH,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED;;OAEG;IACH,IAAW,KAAK,CAAC,KAAK,EAPF,MAOE,EAErB;IAED;;;OAGG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;;OAGG;IACH,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;OAEG;IACH,IAAW,OAAO,CAAC,KAAK,EAPF,MAOE,EAEvB;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;OAEG;IACH,IAAW,OAAO,CAAC,KAAK,EAPF,MAOE,EAEvB;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;;OAGG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;OAEG;IACH,IAAW,KAAK,CAAC,KAAK,EAPF,OAOE,EAIrB;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"rounded_rectangle.d.ts","sourceRoot":"","sources":["../../../src/phaser/geom/rounded_rectangle.ts"],"names":[],"mappings":"AAGA,qBAAa,gBAAgB;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,YAAmB,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,KAAK,SAAI,EAAE,MAAM,SAAI,EAAE,MAAM,SAAK,EAOlE;IAED;;;;;OAKG;IACI,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAU7C;IAED;;;OAGG;IACI,KAAK,IAAI,gBAAgB,CAE/B;CACF"}
1
+ {"version":3,"file":"rounded_rectangle.d.ts","sourceRoot":"","sources":["../../../src/phaser/geom/rounded_rectangle.ts"],"names":[],"mappings":"AAGA,qBAAa,gBAAgB;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,YAAmB,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,KAAK,SAAI,EAAE,MAAM,SAAI,EAAE,MAAM,SAAK,EAOlE;IAED;;;;;OAKG;IACI,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAQ7C;IAED;;;OAGG;IACI,KAAK,IAAI,gBAAgB,CAE/B;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../src/phaser/util/math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../src/phaser/util/math.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,QAAgB,CAAC;AACxC,eAAO,MAAM,UAAU,QAAgB,CAAC;AACxC,eAAO,MAAM,IAAI,QAAc,CAAC;AAEhC,MAAM,WAAW,WAAW;IAC1B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,4DAA4D;AAC5D,eAAO,MAAM,OAAO,QAAS,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAI5D,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,OAAO,QAAS,MAAM,EAAE,KAAG,MAA0E,CAAC;AAEnH,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,UAAW,MAAM,KAAG,MASjD,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,YAAY,UAAW,MAAM,UAAU,MAAM,KAAG,OAC4B,CAAC;AAE1F,mCAAmC;AACnC,eAAO,MAAM,QAAQ,YAAa,MAAM,KAAG,MAA8B,CAAC;AAE1E,mCAAmC;AACnC,eAAO,MAAM,QAAQ,YAAa,MAAM,KAAG,MAA8B,CAAC;AAE1E,6DAA6D;AAC7D,eAAO,MAAM,OAAO,QAAS,MAAM,OAAO,MAAM,KAAG,MAA2D,CAAC;AAE/G,yEAAyE;AACzE,eAAO,MAAM,UAAU,UAAW,MAAM,mCAAuB,MAO9D,CAAC;AAEF,oCAAoC;AACpC,eAAO,MAAM,IAAI,UAAW,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,MAU9D,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,MAAM,OAAQ,MAAM,MAAM,MAAM,KAAK,MAAM,KAAG,MAA4B,CAAC;AAExF,8DAA8D;AAC9D,eAAO,MAAM,UAAU,MAAO,MAAM,KAAK,MAAM,KAAG,MAAyB,CAAC;AAE5E,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,MAAO,MAAM,EAAE,KAAK,MAAM,KAAG,MAW5D,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,QAAQ,OAAQ,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAG,MAAsC,CAAC;AAEjH,kEAAkE;AAClE,eAAO,MAAM,MAAM,MAAO,MAAM,KAAK,MAAM,aAAa,MAAM,KAAG,OAAuC,CAAC;AAEzG,gFAAgF;AAChF,eAAO,MAAM,UAAU,MAAO,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAG,MAA8C,CAAC;AAEvH,yEAAyE;AACzE,eAAO,MAAM,QAAQ,MAAO,MAAM,KAAK,MAAM,KAAK,MAAM,KAAG,MAAkC,CAAC;AAE9F,qDAAqD;AACrD,eAAO,MAAM,UAAU,UAAW,MAAM,OAAO,WAAW,KAAG,IAQ5D,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,UAAU,UAAW,MAAM,OAAO,WAAW,KAAG,IAQ5D,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,MAAM,UAAW,MAAM,KAAG,eAuBtC,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,YAAY,UAAW,MAAM,GAAG,MAAM,OAAO,WAAW,KAAG,WAmBvE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vpmedia/phaser",
3
- "version": "1.120.0",
3
+ "version": "1.122.0",
4
4
  "description": "@vpmedia/phaser is the modern ECMAScript port of the popular Phaser game engine v2.6.2",
5
5
  "author": "Andras Csizmadia <andras@vpmedia.hu> (www.vpmedia.hu)",
6
6
  "license": "MIT",
package/src/index.ts CHANGED
@@ -3,6 +3,15 @@ export * as Const from './phaser/core/const.js';
3
3
  export { GameObjectFactory } from './phaser/core/factory.js';
4
4
  export { Game } from './phaser/core/game.js';
5
5
  export type { GameConfig } from './phaser/core/game.js';
6
+ export type {
7
+ AppliedCallback,
8
+ Callback,
9
+ CandidateHandler,
10
+ EasingFunction,
11
+ InterpolationFunction,
12
+ PointerMoveCallback,
13
+ UserData,
14
+ } from './phaser/core/callback.js';
6
15
  export { Signal } from './phaser/core/signal.js';
7
16
  export * as MathUtils from './phaser/util/math.js';
8
17
  // cache
@@ -54,8 +54,7 @@ export class Animation {
54
54
  this._frameData = frameData;
55
55
  /** @type {string} */
56
56
  this.name = name;
57
- this._frames = [];
58
- this._frames = this._frames.concat(frames);
57
+ this._frames = [...frames];
59
58
  /** @type {number} */
60
59
  this.delay = 1000 / frameRate;
61
60
  /** @type {boolean} */
@@ -118,15 +118,9 @@ export class AnimationManager {
118
118
  ): Animation {
119
119
  const frames = frameList ?? [];
120
120
  // If they didn't set the useNumericIndex then let's at least try and guess it
121
- if (useNumericIndex === undefined) {
122
- if (frames && typeof frames[0] === 'number') {
123
- useNumericIndex = true;
124
- } else {
125
- useNumericIndex = false;
126
- }
127
- }
121
+ const numericIndex = useNumericIndex ?? typeof frames[0] === 'number';
128
122
  this._outputFrames = [];
129
- this._frameData!.getFrameIndexes(frames, useNumericIndex, this._outputFrames);
123
+ this._frameData!.getFrameIndexes(frames, numericIndex, this._outputFrames);
130
124
  this._anims[name] = new Animation(
131
125
  this.game,
132
126
  this.sprite,
@@ -150,8 +144,7 @@ export class AnimationManager {
150
144
  * @returns {boolean} True if all frames are valid, false otherwise.
151
145
  */
152
146
  public validateFrames(frames: string[] | number[], useNumericIndex = false): boolean {
153
- for (let i = 0; i < frames.length; i += 1) {
154
- const frame = frames[i]!;
147
+ for (const frame of frames) {
155
148
  if (useNumericIndex) {
156
149
  if (Number(frame) > this._frameData!.total) {
157
150
  return false;
@@ -254,7 +247,6 @@ export class AnimationManager {
254
247
  * Refreshes the current frame texture (not implemented).
255
248
  */
256
249
  public refreshFrame(): void {
257
- // TODO
258
250
  this.game.logger.warn('animation_manager.refreshFrame() is not implemented');
259
251
  // this.sprite.setTexture(PIXI.TextureCache[this.currentFrame.uuid]);
260
252
  }
@@ -71,9 +71,9 @@ export const spriteSheet = (
71
71
  * @param {object} json - TBD.
72
72
  * @returns {FrameData} TBD.
73
73
  */
74
- export const JSONDataHash = (game: Game, json: any, _key?: any): FrameData | null => {
74
+ export const jsonDataHash = (game: Game, json: any, _key?: any): FrameData | null => {
75
75
  if (!json.frames) {
76
- game.logger.warn('JSONDataHash: Invalid Texture Atlas JSON given, missing frames object', json);
76
+ game.logger.warn('jsonDataHash: Invalid Texture Atlas JSON given, missing frames object', json);
77
77
  return null;
78
78
  }
79
79
  // Let's create some frames then
@@ -84,11 +84,9 @@ export class ArraySet {
84
84
  * @param {object} value - TBD.
85
85
  */
86
86
  public setAll(key: string, value: any): void {
87
- let i = this.list.length;
88
- while (i) {
89
- i -= 1;
90
- if (this.list[i]) {
91
- this.list[i][key] = value;
87
+ for (const item of this.list) {
88
+ if (item) {
89
+ item[key] = value;
92
90
  }
93
91
  }
94
92
  }
@@ -99,11 +97,11 @@ export class ArraySet {
99
97
  * @param {...any} args - TBD.
100
98
  */
101
99
  public callAll(key: string, ...args: unknown[]): void {
102
- let i = this.list.length;
103
- while (i) {
104
- i -= 1;
105
- if (this.list[i] && this.list[i][key]) {
106
- this.list[i][key].apply(this.list[i], args);
100
+ // walked backwards so a callback that removes its own entry does not skip the next one
101
+ for (let i = this.list.length - 1; i >= 0; i -= 1) {
102
+ const item = this.list[i];
103
+ if (item && item[key]) {
104
+ item[key](...args);
107
105
  }
108
106
  }
109
107
  }
@@ -1,7 +1,7 @@
1
1
  import type { TextureSource } from '../display/webgl/base_texture.js';
2
2
  import { BaseTexture } from '../display/webgl/base_texture.js';
3
3
  import { Texture } from '../display/webgl/texture.js';
4
- import { JSONDataHash, spriteSheet } from './animation_parser.js';
4
+ import { jsonDataHash, spriteSheet } from './animation_parser.js';
5
5
  import { Frame } from './frame.js';
6
6
  import { FrameData } from './frame_data.js';
7
7
  import { jsonBitmapFont, xmlBitmapFont } from './loader_parser.js';
@@ -215,7 +215,7 @@ export class Cache {
215
215
  url,
216
216
  data,
217
217
  base: new BaseTexture(data),
218
- frameData: JSONDataHash(this.game, atlasData, key),
218
+ frameData: jsonDataHash(this.game, atlasData, key),
219
219
  };
220
220
  this._cache.image[key] = obj;
221
221
  this._resolveURL(url, obj);
@@ -0,0 +1,34 @@
1
+ import type { InputHandler } from './input_handler.js';
2
+ import type { Pointer } from './input_pointer.js';
3
+
4
+ /**
5
+ * A callback the engine invokes with a receiver the caller chose. The rest parameter is `never[]`
6
+ * so a handler declared with concrete parameters is still assignable.
7
+ */
8
+ export type Callback = (...args: never[]) => unknown;
9
+
10
+ /** The same callback once its concrete parameter types are behind us, ready to be applied. */
11
+ export type AppliedCallback = (...args: unknown[]) => unknown;
12
+
13
+ /** A pointer-move listener, as the input manager invokes it on every move it dispatches. */
14
+ export type PointerMoveCallback = (pointer: Pointer, x: number, y: number, fromClick: boolean) => void;
15
+
16
+ /** A hook that picks which of the candidates under a pointer should receive its events. */
17
+ export type CandidateHandler = (
18
+ pointer: Pointer,
19
+ candidates: InputHandler[],
20
+ current: InputHandler | null
21
+ ) => InputHandler | null;
22
+
23
+ /** An easing curve: it maps a normalised time to a normalised progress. */
24
+ export type EasingFunction = (k: number) => number;
25
+
26
+ /** An interpolation curve: it reads a value out of a list of stops at a normalised position. */
27
+ export type InterpolationFunction = (v: number[], k: number) => number;
28
+
29
+ /**
30
+ * Free-form data a display object carries for its owner. The engine stores it and never reads it,
31
+ * and consumers narrow it by declaring their own display-object subtype — which only holds while
32
+ * the property stays assignable in both directions, so this one bag has no shape.
33
+ */
34
+ export type UserData = any;
@@ -1,55 +1,26 @@
1
+ /** What the current device and browser can do, as probed at boot. */
1
2
  export class Device {
2
- public desktop: boolean = false;
3
- public iOS: boolean = false;
4
- public android: boolean = false;
5
- public chromeOS: boolean = false;
6
- public linux: boolean = false;
7
- public macOS!: boolean;
8
- public windows!: boolean;
9
- public windowsPhone!: boolean;
10
- public canvas!: boolean;
11
- public touch!: boolean;
12
- public mspointer!: boolean;
13
- public wheelEvent!: string | null;
14
- public chrome!: boolean;
15
- public firefox!: boolean;
16
- public edge!: boolean;
17
- public safari!: boolean;
18
- public fullscreen!: boolean;
19
- public requestFullscreen!: string;
20
- public cancelFullscreen!: string;
21
- public fullscreenKeyboard!: boolean;
22
- public noAudioFormat!: boolean;
23
- public supportedAudioFormats!: Record<string, boolean>;
24
- public supportedImageFormats!: Record<string, boolean>;
25
- /**
26
- * Creates a new Device instance.
27
- * This class provides information about the current device and browser capabilities.
28
- */
29
- public constructor() {
30
- this.macOS = false;
31
- this.windows = false;
32
- this.windowsPhone = false;
33
- this.canvas = false;
34
- this.touch = false;
35
- this.mspointer = false;
36
- this.wheelEvent = null;
37
- this.chrome = false;
38
- this.firefox = false;
39
- this.edge = false;
40
- this.safari = false;
41
- this.fullscreen = false;
42
- this.requestFullscreen = '';
43
- this.cancelFullscreen = '';
44
- this.fullscreenKeyboard = false;
45
- this.noAudioFormat = false;
46
- /**
47
- * @type {{[key: string]: boolean}}
48
- */
49
- this.supportedAudioFormats = {};
50
- /**
51
- * @type {{[key: string]: boolean}}
52
- */
53
- this.supportedImageFormats = {};
54
- }
3
+ public desktop = false;
4
+ public iOS = false;
5
+ public android = false;
6
+ public chromeOS = false;
7
+ public linux = false;
8
+ public macOS = false;
9
+ public windows = false;
10
+ public windowsPhone = false;
11
+ public canvas = false;
12
+ public touch = false;
13
+ public mspointer = false;
14
+ public wheelEvent: string | null = null;
15
+ public chrome = false;
16
+ public firefox = false;
17
+ public edge = false;
18
+ public safari = false;
19
+ public fullscreen = false;
20
+ public requestFullscreen = '';
21
+ public cancelFullscreen = '';
22
+ public fullscreenKeyboard = false;
23
+ public noAudioFormat = false;
24
+ public supportedAudioFormats: Record<string, boolean> = {};
25
+ public supportedImageFormats: Record<string, boolean> = {};
55
26
  }
@@ -110,8 +110,8 @@ export const checkFullScreenSupport = (device: Device): void => {
110
110
  break;
111
111
  }
112
112
  }
113
- // @ts-expect-error
114
- if (globalThis.Element && Element.ALLOW_KEYBOARD_INPUT) {
113
+ // ALLOW_KEYBOARD_INPUT is a legacy webkit fullscreen flag, absent from lib.dom
114
+ if (globalThis.Element && (Element as unknown as { ALLOW_KEYBOARD_INPUT?: number }).ALLOW_KEYBOARD_INPUT) {
115
115
  device.fullscreenKeyboard = true;
116
116
  }
117
117
  }
@@ -213,9 +213,9 @@ export const checkImage = (device: Device): void => {
213
213
  const avif = new Image();
214
214
  avif.src =
215
215
  'data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=';
216
- avif.onload = function onload(): void {
216
+ avif.addEventListener('load', (): void => {
217
217
  device.supportedImageFormats['avif'] = true;
218
- };
218
+ });
219
219
  } catch (error) {
220
220
  const typedError = error instanceof Error ? error : new Error(String(error));
221
221
  logger.fatal('checkImage error with avif', { error: typedError });
@@ -223,9 +223,9 @@ export const checkImage = (device: Device): void => {
223
223
  try {
224
224
  const webp = new Image();
225
225
  webp.src = 'data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA=';
226
- webp.onload = function onload(): void {
226
+ webp.addEventListener('load', (): void => {
227
227
  device.supportedImageFormats['webp'] = true;
228
- };
228
+ });
229
229
  } catch (error) {
230
230
  const typedError = error instanceof Error ? error : new Error(String(error));
231
231
  logger.fatal('checkImage error with webp', { error: typedError });
@@ -205,15 +205,15 @@ export class DOM {
205
205
  * @returns {Point} The offset position of the element.
206
206
  */
207
207
  public getOffset(element: HTMLCanvasElement, point: Point | null = null): Point {
208
- point = point ?? new Point();
208
+ const offset = point ?? new Point();
209
209
  const box = element.getBoundingClientRect();
210
210
  const scrollTop = this.scrollY;
211
211
  const scrollLeft = this.scrollX;
212
212
  const { clientTop } = document.documentElement;
213
213
  const { clientLeft } = document.documentElement;
214
- point.x = box.left + scrollLeft - clientLeft;
215
- point.y = box.top + scrollTop - clientTop;
216
- return point;
214
+ offset.x = box.left + scrollLeft - clientLeft;
215
+ offset.y = box.top + scrollTop - clientTop;
216
+ return offset;
217
217
  }
218
218
 
219
219
  /**
@@ -257,7 +257,7 @@ export class DOM {
257
257
  */
258
258
  public getScreenOrientation(primaryFallback: string | null = null): OrientationType {
259
259
  const { screen } = globalThis;
260
- // @ts-expect-error
260
+ // @ts-expect-error the prefixed orientation properties predate the standard one and are absent from lib.dom
261
261
  const orientation = screen.orientation || screen.mozOrientation || screen.msOrientation;
262
262
  if (orientation && typeof orientation.type === 'string') {
263
263
  // Screen Orientation API specification
@@ -272,9 +272,12 @@ export class DOM {
272
272
  return screen.height > screen.width ? PORTRAIT : LANDSCAPE;
273
273
  } else if (primaryFallback === 'viewport') {
274
274
  return this.visualBounds.height > this.visualBounds.width ? PORTRAIT : LANDSCAPE;
275
- } else if (primaryFallback === 'window.orientation' && typeof globalThis.orientation === 'number') {
275
+ }
276
+ // the legacy angle, kept behind its own fallback because the standard API does not report it
277
+ const { orientation: legacyOrientation } = globalThis as { orientation?: number };
278
+ if (primaryFallback === 'window.orientation' && typeof legacyOrientation === 'number') {
276
279
  // This may change by device based on "natural" orientation.
277
- return globalThis.orientation === 0 || globalThis.orientation === 180 ? PORTRAIT : LANDSCAPE;
280
+ return legacyOrientation === 0 || legacyOrientation === 180 ? PORTRAIT : LANDSCAPE;
278
281
  } else if (globalThis.matchMedia) {
279
282
  if (globalThis.matchMedia('(orientation: portrait)').matches) {
280
283
  return PORTRAIT;
@@ -5,6 +5,7 @@ import { Group } from '../display/group.js';
5
5
  import { Image } from '../display/image.js';
6
6
  import { Text } from '../display/text.js';
7
7
  import type { Game } from './game.js';
8
+ import type { SignalListener } from './signal.js';
8
9
 
9
10
  export class GameObjectFactory {
10
11
  public game!: Game;
@@ -73,8 +74,8 @@ export class GameObjectFactory {
73
74
  x: number,
74
75
  y: number,
75
76
  key: string,
76
- callback: Function | null = null,
77
- callbackContext: unknown | null = null,
77
+ callback: SignalListener | null = null,
78
+ callbackContext: unknown = null,
78
79
  overFrame: string | null = null,
79
80
  outFrame: string | null = null,
80
81
  downFrame: string | null = null,
@@ -42,6 +42,9 @@ export type GameConfig = {
42
42
  maxParallelDownloads: number;
43
43
  canvas?: HTMLCanvasElement;
44
44
  isSkipTicker?: boolean;
45
+ scaleMode?: number;
46
+ fullScreenScaleMode?: number;
47
+ fullScreenTarget?: HTMLElement;
45
48
  parent?: string | HTMLElement;
46
49
  state?: SceneDefinition | string;
47
50
  logger?: Logger;
@@ -180,11 +183,7 @@ export class Game {
180
183
  if (this.canvas) {
181
184
  removeFromDOM(this.canvas);
182
185
  }
183
- if (this.config.canvas) {
184
- this.canvas = this.config.canvas;
185
- } else {
186
- this.canvas = create(this, this.width, this.height, this.config.canvasID, true);
187
- }
186
+ this.canvas = this.config.canvas ?? create(this, this.width, this.height, this.config.canvasID, true);
188
187
  if (this.config.canvasStyle) {
189
188
  const { canvasStyle } = this.config;
190
189
  for (const property of Object.keys(canvasStyle)) {
@@ -13,6 +13,7 @@ import { Signal } from './signal.js';
13
13
  import type { Game } from './game.js';
14
14
  import type { DisplayObject } from '../display/display_object.js';
15
15
  import type { InputEvent } from './input_event.js';
16
+ import type { CandidateHandler, PointerMoveCallback } from './callback.js';
16
17
 
17
18
  const MAX_POINTERS = 10;
18
19
 
@@ -20,9 +21,9 @@ export class Input {
20
21
  public game!: Game;
21
22
  public hitCanvas!: HTMLCanvasElement;
22
23
  public hitContext!: CanvasRenderingContext2D | null;
23
- public moveCallbacks!: { callback: Function; context: unknown }[];
24
+ public moveCallbacks!: { callback: PointerMoveCallback; context: unknown }[];
24
25
  public lockCallbacks!: unknown[];
25
- public customCandidateHandler!: Function | null;
26
+ public customCandidateHandler!: CandidateHandler | null;
26
27
  public customCandidateHandlerContext!: unknown;
27
28
  public pollRate!: number;
28
29
  public enabled!: boolean;
@@ -66,7 +67,7 @@ export class Input {
66
67
  public _localPoint!: Point;
67
68
  public _pollCounter!: number;
68
69
  public _oldPosition!: Point;
69
- public _onClickTrampoline!: any;
70
+ public _onClickTrampoline!: EventListener | null;
70
71
  public _x!: number;
71
72
  public _y!: number;
72
73
  /**
@@ -154,8 +155,9 @@ export class Input {
154
155
  this.touch.start();
155
156
  }
156
157
  this.mousePointer.active = true;
157
- const scope = this;
158
- this._onClickTrampoline = (event: InputEvent) => (scope as any).onClickTrampoline(event);
158
+ this._onClickTrampoline = (): void => {
159
+ this.onClickTrampoline();
160
+ };
159
161
  this.game.canvas.addEventListener('click', this._onClickTrampoline, false);
160
162
  }
161
163
 
@@ -171,7 +173,9 @@ export class Input {
171
173
  }
172
174
  this.moveCallbacks = [];
173
175
  remove(this);
174
- this.game.canvas.removeEventListener('click', this._onClickTrampoline);
176
+ if (this._onClickTrampoline) {
177
+ this.game.canvas.removeEventListener('click', this._onClickTrampoline);
178
+ }
175
179
  }
176
180
 
177
181
  /**
@@ -179,7 +183,7 @@ export class Input {
179
183
  * @param {Function} callback - TBD.
180
184
  * @param {object} context - TBD.
181
185
  */
182
- public setInteractiveCandidateHandler(callback: Function, context: unknown): void {
186
+ public setInteractiveCandidateHandler(callback: CandidateHandler, context: unknown): void {
183
187
  this.customCandidateHandler = callback;
184
188
  this.customCandidateHandlerContext = context;
185
189
  }
@@ -189,7 +193,7 @@ export class Input {
189
193
  * @param {Function} callback - TBD.
190
194
  * @param {object} context - TBD.
191
195
  */
192
- public addMoveCallback(callback: Function, context: unknown): void {
196
+ public addMoveCallback(callback: PointerMoveCallback, context: unknown): void {
193
197
  this.moveCallbacks.push({ callback, context });
194
198
  }
195
199
 
@@ -198,7 +202,7 @@ export class Input {
198
202
  * @param {Function} callback - TBD.
199
203
  * @param {object} context - TBD.
200
204
  */
201
- public deleteMoveCallback(callback: Function, context: unknown): void {
205
+ public deleteMoveCallback(callback: PointerMoveCallback, context: unknown): void {
202
206
  let i = this.moveCallbacks.length;
203
207
  while (i) {
204
208
  i -= 1;
@@ -287,7 +291,7 @@ export class Input {
287
291
  * @param {MouseEvent|TouchEvent|PointerEvent} event - TBD.
288
292
  * @returns {Pointer} TBD.
289
293
  */
290
- public startPointer(event: any | TouchEvent | PointerEvent) {
294
+ public startPointer(event: InputEvent) {
291
295
  if (this.maxPointers >= 0 && this.countActivePointers(this.maxPointers) >= this.maxPointers) {
292
296
  return null;
293
297
  }
@@ -311,7 +315,7 @@ export class Input {
311
315
  * @param {MouseEvent|TouchEvent|PointerEvent} event - TBD.
312
316
  * @returns {Pointer} TBD.
313
317
  */
314
- public updatePointer(event: any | TouchEvent | PointerEvent) {
318
+ public updatePointer(event: InputEvent) {
315
319
  if (this.pointer1.active && this.pointer1.identifier === event.identifier) {
316
320
  return this.pointer1.move(event);
317
321
  }
@@ -332,7 +336,7 @@ export class Input {
332
336
  * @param {MouseEvent|TouchEvent|PointerEvent} event - TBD.
333
337
  * @returns {Pointer} TBD.
334
338
  */
335
- public stopPointer(event: any | TouchEvent | PointerEvent) {
339
+ public stopPointer(event: InputEvent) {
336
340
  if (this.pointer1.active && this.pointer1.identifier === event.identifier) {
337
341
  return this.pointer1.stop(event);
338
342
  }
@@ -26,7 +26,7 @@ export type InputEvent = Event & {
26
26
  mozMovementY?: number;
27
27
  webkitMovementX?: number;
28
28
  webkitMovementY?: number;
29
- changedTouches?: ArrayLike<InputEvent>;
29
+ changedTouches?: ArrayLike<InputEvent> & Iterable<InputEvent>;
30
30
  targetTouches?: ArrayLike<InputEvent>;
31
31
  touches?: ArrayLike<InputEvent>;
32
32
  buttons?: number;