@vpmedia/phaser 1.10.0 → 1.12.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 (298) hide show
  1. package/README.md +1 -1
  2. package/package.json +9 -6
  3. package/src/phaser/core/animation.js +9 -6
  4. package/src/phaser/core/animation_manager.js +14 -4
  5. package/src/phaser/core/animation_parser.js +24 -3
  6. package/src/phaser/core/array_set.js +1 -3
  7. package/src/phaser/core/cache.js +6 -6
  8. package/src/phaser/core/device.js +0 -2
  9. package/src/phaser/core/device_util.js +21 -6
  10. package/src/phaser/core/dom.js +34 -25
  11. package/src/phaser/core/event_manager.js +45 -17
  12. package/src/phaser/core/factory.js +26 -4
  13. package/src/phaser/core/frame.js +0 -2
  14. package/src/phaser/core/frame_data.js +0 -2
  15. package/src/phaser/core/game.js +8 -6
  16. package/src/phaser/core/input.js +17 -9
  17. package/src/phaser/core/input_handler.js +100 -26
  18. package/src/phaser/core/input_mouse.js +10 -14
  19. package/src/phaser/core/input_mspointer.js +10 -9
  20. package/src/phaser/core/input_pointer.js +58 -17
  21. package/src/phaser/core/input_touch.js +6 -8
  22. package/src/phaser/core/loader.js +168 -51
  23. package/src/phaser/core/loader_parser.js +4 -1
  24. package/src/phaser/core/raf.js +0 -2
  25. package/src/phaser/core/scale_manager.js +69 -25
  26. package/src/phaser/core/scene.js +0 -2
  27. package/src/phaser/core/scene_manager.js +6 -3
  28. package/src/phaser/core/signal.js +15 -8
  29. package/src/phaser/core/signal_binding.js +10 -5
  30. package/src/phaser/core/sound.js +20 -11
  31. package/src/phaser/core/sound_manager.js +56 -20
  32. package/src/phaser/core/sound_sprite.js +32 -32
  33. package/src/phaser/core/stage.js +0 -3
  34. package/src/phaser/core/time.js +0 -2
  35. package/src/phaser/core/timer.js +24 -7
  36. package/src/phaser/core/timer_event.js +0 -2
  37. package/src/phaser/core/tween.js +32 -8
  38. package/src/phaser/core/tween_data.js +15 -7
  39. package/src/phaser/core/tween_easing.js +24 -20
  40. package/src/phaser/core/tween_manager.js +31 -13
  41. package/src/phaser/core/world.js +0 -2
  42. package/src/phaser/display/bitmap_text.js +16 -10
  43. package/src/phaser/display/button.js +16 -4
  44. package/src/phaser/display/canvas/buffer.js +0 -2
  45. package/src/phaser/display/canvas/graphics.js +21 -9
  46. package/src/phaser/display/canvas/masker.js +1 -1
  47. package/src/phaser/display/canvas/renderer.js +39 -19
  48. package/src/phaser/display/canvas/tinter.js +43 -6
  49. package/src/phaser/display/canvas/util.js +1 -1
  50. package/src/phaser/display/display_object.js +33 -19
  51. package/src/phaser/display/graphics.js +52 -27
  52. package/src/phaser/display/graphics_data.js +0 -2
  53. package/src/phaser/display/graphics_data_util.js +9 -1
  54. package/src/phaser/display/group.js +1 -4
  55. package/src/phaser/display/image.js +2 -4
  56. package/src/phaser/display/sprite_batch.js +0 -2
  57. package/src/phaser/display/sprite_util.js +46 -11
  58. package/src/phaser/display/text.js +77 -26
  59. package/src/phaser/display/webgl/abstract_filter.js +0 -2
  60. package/src/phaser/display/webgl/base_texture.js +5 -3
  61. package/src/phaser/display/webgl/blend_manager.js +0 -2
  62. package/src/phaser/display/webgl/earcut.js +63 -22
  63. package/src/phaser/display/webgl/earcut_node.js +0 -2
  64. package/src/phaser/display/webgl/fast_sprite_batch.js +47 -46
  65. package/src/phaser/display/webgl/filter_manager.js +0 -2
  66. package/src/phaser/display/webgl/filter_texture.js +16 -5
  67. package/src/phaser/display/webgl/graphics.js +38 -16
  68. package/src/phaser/display/webgl/graphics_data.js +0 -2
  69. package/src/phaser/display/webgl/mask_manager.js +10 -2
  70. package/src/phaser/display/webgl/render_texture.js +14 -5
  71. package/src/phaser/display/webgl/renderer.js +39 -7
  72. package/src/phaser/display/webgl/shader/complex.js +0 -2
  73. package/src/phaser/display/webgl/shader/fast.js +8 -3
  74. package/src/phaser/display/webgl/shader/normal.js +42 -14
  75. package/src/phaser/display/webgl/shader/primitive.js +0 -2
  76. package/src/phaser/display/webgl/shader/strip.js +0 -2
  77. package/src/phaser/display/webgl/shader_manager.js +0 -2
  78. package/src/phaser/display/webgl/sprite_batch.js +13 -14
  79. package/src/phaser/display/webgl/stencil_manager.js +18 -20
  80. package/src/phaser/display/webgl/texture.js +10 -7
  81. package/src/phaser/display/webgl/util.js +1 -2
  82. package/src/phaser/geom/circle.js +15 -7
  83. package/src/phaser/geom/ellipse.js +13 -6
  84. package/src/phaser/geom/line.js +19 -10
  85. package/src/phaser/geom/matrix.js +0 -2
  86. package/src/phaser/geom/point.js +9 -11
  87. package/src/phaser/geom/polygon.js +9 -5
  88. package/src/phaser/geom/rectangle.js +44 -10
  89. package/src/phaser/geom/rounded_rectangle.js +0 -2
  90. package/src/phaser/geom/util/circle.js +3 -3
  91. package/src/phaser/geom/util/ellipse.js +3 -3
  92. package/src/phaser/geom/util/line.js +16 -13
  93. package/src/phaser/geom/util/point.js +1 -1
  94. package/src/phaser/geom/util/rectangle.js +17 -7
  95. package/src/phaser/util/math.js +37 -23
  96. package/tsconfig.json +110 -0
  97. package/types/index.d.ts +22 -0
  98. package/types/index.d.ts.map +1 -0
  99. package/types/phaser/core/animation.d.ts +55 -0
  100. package/types/phaser/core/animation.d.ts.map +1 -0
  101. package/types/phaser/core/animation_manager.d.ts +35 -0
  102. package/types/phaser/core/animation_manager.d.ts.map +1 -0
  103. package/types/phaser/core/animation_parser.d.ts +20 -0
  104. package/types/phaser/core/animation_parser.d.ts.map +1 -0
  105. package/types/phaser/core/array_set.d.ts +23 -0
  106. package/types/phaser/core/array_set.d.ts.map +1 -0
  107. package/types/phaser/core/cache.d.ts +106 -0
  108. package/types/phaser/core/cache.d.ts.map +1 -0
  109. package/types/phaser/core/const.d.ts +81 -0
  110. package/types/phaser/core/const.d.ts.map +1 -0
  111. package/types/phaser/core/device.d.ts +36 -0
  112. package/types/phaser/core/device.d.ts.map +1 -0
  113. package/types/phaser/core/device_util.d.ts +48 -0
  114. package/types/phaser/core/device_util.d.ts.map +1 -0
  115. package/types/phaser/core/dom.d.ts +63 -0
  116. package/types/phaser/core/dom.d.ts.map +1 -0
  117. package/types/phaser/core/event_manager.d.ts +53 -0
  118. package/types/phaser/core/event_manager.d.ts.map +1 -0
  119. package/types/phaser/core/factory.d.ts +12 -0
  120. package/types/phaser/core/factory.d.ts.map +1 -0
  121. package/types/phaser/core/frame.d.ts +30 -0
  122. package/types/phaser/core/frame.d.ts.map +1 -0
  123. package/types/phaser/core/frame_data.d.ts +14 -0
  124. package/types/phaser/core/frame_data.d.ts.map +1 -0
  125. package/types/phaser/core/frame_util.d.ts +15 -0
  126. package/types/phaser/core/frame_util.d.ts.map +1 -0
  127. package/types/phaser/core/game.d.ts +57 -0
  128. package/types/phaser/core/game.d.ts.map +1 -0
  129. package/types/phaser/core/input.d.ts +92 -0
  130. package/types/phaser/core/input.d.ts.map +1 -0
  131. package/types/phaser/core/input_handler.d.ts +111 -0
  132. package/types/phaser/core/input_handler.d.ts.map +1 -0
  133. package/types/phaser/core/input_mouse.d.ts +39 -0
  134. package/types/phaser/core/input_mouse.d.ts.map +1 -0
  135. package/types/phaser/core/input_mspointer.d.ts +34 -0
  136. package/types/phaser/core/input_mspointer.d.ts.map +1 -0
  137. package/types/phaser/core/input_pointer.d.ts +68 -0
  138. package/types/phaser/core/input_pointer.d.ts.map +1 -0
  139. package/types/phaser/core/input_touch.d.ts +37 -0
  140. package/types/phaser/core/input_touch.d.ts.map +1 -0
  141. package/types/phaser/core/loader.d.ts +94 -0
  142. package/types/phaser/core/loader.d.ts.map +1 -0
  143. package/types/phaser/core/loader_parser.d.ts +35 -0
  144. package/types/phaser/core/loader_parser.d.ts.map +1 -0
  145. package/types/phaser/core/raf.d.ts +15 -0
  146. package/types/phaser/core/raf.d.ts.map +1 -0
  147. package/types/phaser/core/scale_manager.d.ts +137 -0
  148. package/types/phaser/core/scale_manager.d.ts.map +1 -0
  149. package/types/phaser/core/scene.d.ts +17 -0
  150. package/types/phaser/core/scene.d.ts.map +1 -0
  151. package/types/phaser/core/scene_manager.d.ts +39 -0
  152. package/types/phaser/core/scene_manager.d.ts.map +1 -0
  153. package/types/phaser/core/signal.d.ts +25 -0
  154. package/types/phaser/core/signal.d.ts.map +1 -0
  155. package/types/phaser/core/signal_binding.d.ts +26 -0
  156. package/types/phaser/core/signal_binding.d.ts.map +1 -0
  157. package/types/phaser/core/sound.d.ts +72 -0
  158. package/types/phaser/core/sound.d.ts.map +1 -0
  159. package/types/phaser/core/sound_manager.d.ts +50 -0
  160. package/types/phaser/core/sound_manager.d.ts.map +1 -0
  161. package/types/phaser/core/sound_sprite.d.ts +18 -0
  162. package/types/phaser/core/sound_sprite.d.ts.map +1 -0
  163. package/types/phaser/core/stage.d.ts +23 -0
  164. package/types/phaser/core/stage.d.ts.map +1 -0
  165. package/types/phaser/core/time.d.ts +49 -0
  166. package/types/phaser/core/time.d.ts.map +1 -0
  167. package/types/phaser/core/timer.d.ts +49 -0
  168. package/types/phaser/core/timer.d.ts.map +1 -0
  169. package/types/phaser/core/timer_event.d.ts +18 -0
  170. package/types/phaser/core/timer_event.d.ts.map +1 -0
  171. package/types/phaser/core/tween.d.ts +52 -0
  172. package/types/phaser/core/tween.d.ts.map +1 -0
  173. package/types/phaser/core/tween_data.d.ts +37 -0
  174. package/types/phaser/core/tween_data.d.ts.map +1 -0
  175. package/types/phaser/core/tween_easing.d.ts +192 -0
  176. package/types/phaser/core/tween_easing.d.ts.map +1 -0
  177. package/types/phaser/core/tween_manager.d.ts +94 -0
  178. package/types/phaser/core/tween_manager.d.ts.map +1 -0
  179. package/types/phaser/core/world.d.ts +6 -0
  180. package/types/phaser/core/world.d.ts.map +1 -0
  181. package/types/phaser/display/bitmap_text.d.ts +48 -0
  182. package/types/phaser/display/bitmap_text.d.ts.map +1 -0
  183. package/types/phaser/display/button.d.ts +33 -0
  184. package/types/phaser/display/button.d.ts.map +1 -0
  185. package/types/phaser/display/canvas/buffer.d.ts +11 -0
  186. package/types/phaser/display/canvas/buffer.d.ts.map +1 -0
  187. package/types/phaser/display/canvas/graphics.d.ts +18 -0
  188. package/types/phaser/display/canvas/graphics.d.ts.map +1 -0
  189. package/types/phaser/display/canvas/masker.d.ts +12 -0
  190. package/types/phaser/display/canvas/masker.d.ts.map +1 -0
  191. package/types/phaser/display/canvas/pool.d.ts +45 -0
  192. package/types/phaser/display/canvas/pool.d.ts.map +1 -0
  193. package/types/phaser/display/canvas/renderer.d.ts +28 -0
  194. package/types/phaser/display/canvas/renderer.d.ts.map +1 -0
  195. package/types/phaser/display/canvas/tinter.d.ts +36 -0
  196. package/types/phaser/display/canvas/tinter.d.ts.map +1 -0
  197. package/types/phaser/display/canvas/util.d.ts +70 -0
  198. package/types/phaser/display/canvas/util.d.ts.map +1 -0
  199. package/types/phaser/display/display_object.d.ts +83 -0
  200. package/types/phaser/display/display_object.d.ts.map +1 -0
  201. package/types/phaser/display/graphics.d.ts +53 -0
  202. package/types/phaser/display/graphics.d.ts.map +1 -0
  203. package/types/phaser/display/graphics_data.d.ts +15 -0
  204. package/types/phaser/display/graphics_data.d.ts.map +1 -0
  205. package/types/phaser/display/graphics_data_util.d.ts +7 -0
  206. package/types/phaser/display/graphics_data_util.d.ts.map +1 -0
  207. package/types/phaser/display/group.d.ts +41 -0
  208. package/types/phaser/display/group.d.ts.map +1 -0
  209. package/types/phaser/display/image.d.ts +43 -0
  210. package/types/phaser/display/image.d.ts.map +1 -0
  211. package/types/phaser/display/sprite_batch.d.ts +6 -0
  212. package/types/phaser/display/sprite_batch.d.ts.map +1 -0
  213. package/types/phaser/display/sprite_util.d.ts +35 -0
  214. package/types/phaser/display/sprite_util.d.ts.map +1 -0
  215. package/types/phaser/display/text.d.ts +116 -0
  216. package/types/phaser/display/text.d.ts.map +1 -0
  217. package/types/phaser/display/webgl/abstract_filter.d.ts +17 -0
  218. package/types/phaser/display/webgl/abstract_filter.d.ts.map +1 -0
  219. package/types/phaser/display/webgl/base_texture.d.ts +20 -0
  220. package/types/phaser/display/webgl/base_texture.d.ts.map +1 -0
  221. package/types/phaser/display/webgl/blend_manager.d.ts +14 -0
  222. package/types/phaser/display/webgl/blend_manager.d.ts.map +1 -0
  223. package/types/phaser/display/webgl/earcut.d.ts +215 -0
  224. package/types/phaser/display/webgl/earcut.d.ts.map +1 -0
  225. package/types/phaser/display/webgl/earcut_node.d.ts +19 -0
  226. package/types/phaser/display/webgl/earcut_node.d.ts.map +1 -0
  227. package/types/phaser/display/webgl/fast_sprite_batch.d.ts +34 -0
  228. package/types/phaser/display/webgl/fast_sprite_batch.d.ts.map +1 -0
  229. package/types/phaser/display/webgl/filter_manager.d.ts +21 -0
  230. package/types/phaser/display/webgl/filter_manager.d.ts.map +1 -0
  231. package/types/phaser/display/webgl/filter_texture.d.ts +13 -0
  232. package/types/phaser/display/webgl/filter_texture.d.ts.map +1 -0
  233. package/types/phaser/display/webgl/graphics.d.ts +80 -0
  234. package/types/phaser/display/webgl/graphics.d.ts.map +1 -0
  235. package/types/phaser/display/webgl/graphics_data.d.ts +23 -0
  236. package/types/phaser/display/webgl/graphics_data.d.ts.map +1 -0
  237. package/types/phaser/display/webgl/mask_manager.d.ts +13 -0
  238. package/types/phaser/display/webgl/mask_manager.d.ts.map +1 -0
  239. package/types/phaser/display/webgl/render_texture.d.ts +25 -0
  240. package/types/phaser/display/webgl/render_texture.d.ts.map +1 -0
  241. package/types/phaser/display/webgl/renderer.d.ts +44 -0
  242. package/types/phaser/display/webgl/renderer.d.ts.map +1 -0
  243. package/types/phaser/display/webgl/shader/complex.d.ts +22 -0
  244. package/types/phaser/display/webgl/shader/complex.d.ts.map +1 -0
  245. package/types/phaser/display/webgl/shader/fast.d.ts +25 -0
  246. package/types/phaser/display/webgl/shader/fast.d.ts.map +1 -0
  247. package/types/phaser/display/webgl/shader/normal.d.ts +25 -0
  248. package/types/phaser/display/webgl/shader/normal.d.ts.map +1 -0
  249. package/types/phaser/display/webgl/shader/primitive.d.ts +21 -0
  250. package/types/phaser/display/webgl/shader/primitive.d.ts.map +1 -0
  251. package/types/phaser/display/webgl/shader/strip.d.ts +22 -0
  252. package/types/phaser/display/webgl/shader/strip.d.ts.map +1 -0
  253. package/types/phaser/display/webgl/shader_manager.d.ts +24 -0
  254. package/types/phaser/display/webgl/shader_manager.d.ts.map +1 -0
  255. package/types/phaser/display/webgl/sprite_batch.d.ts +36 -0
  256. package/types/phaser/display/webgl/sprite_batch.d.ts.map +1 -0
  257. package/types/phaser/display/webgl/stencil_manager.d.ts +12 -0
  258. package/types/phaser/display/webgl/stencil_manager.d.ts.map +1 -0
  259. package/types/phaser/display/webgl/texture.d.ts +30 -0
  260. package/types/phaser/display/webgl/texture.d.ts.map +1 -0
  261. package/types/phaser/display/webgl/texture_util.d.ts +15 -0
  262. package/types/phaser/display/webgl/texture_util.d.ts.map +1 -0
  263. package/types/phaser/display/webgl/util.d.ts +41 -0
  264. package/types/phaser/display/webgl/util.d.ts.map +1 -0
  265. package/types/phaser/geom/circle.d.ts +39 -0
  266. package/types/phaser/geom/circle.d.ts.map +1 -0
  267. package/types/phaser/geom/ellipse.d.ts +18 -0
  268. package/types/phaser/geom/ellipse.d.ts.map +1 -0
  269. package/types/phaser/geom/line.d.ts +37 -0
  270. package/types/phaser/geom/line.d.ts.map +1 -0
  271. package/types/phaser/geom/matrix.d.ts +25 -0
  272. package/types/phaser/geom/matrix.d.ts.map +1 -0
  273. package/types/phaser/geom/point.d.ts +37 -0
  274. package/types/phaser/geom/point.d.ts.map +1 -0
  275. package/types/phaser/geom/polygon.d.ts +17 -0
  276. package/types/phaser/geom/polygon.d.ts.map +1 -0
  277. package/types/phaser/geom/rectangle.d.ts +63 -0
  278. package/types/phaser/geom/rectangle.d.ts.map +1 -0
  279. package/types/phaser/geom/rounded_rectangle.d.ts +12 -0
  280. package/types/phaser/geom/rounded_rectangle.d.ts.map +1 -0
  281. package/types/phaser/geom/util/circle.d.ts +55 -0
  282. package/types/phaser/geom/util/circle.d.ts.map +1 -0
  283. package/types/phaser/geom/util/ellipse.d.ts +21 -0
  284. package/types/phaser/geom/util/ellipse.d.ts.map +1 -0
  285. package/types/phaser/geom/util/line.d.ts +42 -0
  286. package/types/phaser/geom/util/line.d.ts.map +1 -0
  287. package/types/phaser/geom/util/matrix.d.ts +20 -0
  288. package/types/phaser/geom/util/matrix.d.ts.map +1 -0
  289. package/types/phaser/geom/util/point.d.ts +157 -0
  290. package/types/phaser/geom/util/point.d.ts.map +1 -0
  291. package/types/phaser/geom/util/polygon.d.ts +15 -0
  292. package/types/phaser/geom/util/polygon.d.ts.map +1 -0
  293. package/types/phaser/geom/util/rectangle.d.ts +124 -0
  294. package/types/phaser/geom/util/rectangle.d.ts.map +1 -0
  295. package/types/phaser/geom/util/rounded_rectangle.d.ts +15 -0
  296. package/types/phaser/geom/util/rounded_rectangle.d.ts.map +1 -0
  297. package/types/phaser/util/math.d.ts +162 -0
  298. package/types/phaser/util/math.d.ts.map +1 -0
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  @vpmedia/phaser
2
2
  ===============
3
3
 
4
- [![npm version](https://badge.fury.io/js/@vpmedia%2Fphaser.svg?v=1.10.0)](https://badge.fury.io/js/@vpmedia%2Fphaser)
4
+ [![npm version](https://badge.fury.io/js/@vpmedia%2Fphaser.svg?v=1.12.0)](https://badge.fury.io/js/@vpmedia%2Fphaser)
5
5
  [![Node.js CI](https://github.com/vpmedia/phaser/actions/workflows/node.js.yml/badge.svg)](https://github.com/vpmedia/phaser/actions/workflows/node.js.yml)
6
6
 
7
7
  @vpmedia/phaser is the modern ECMAScript port of the popular Phaser game engine v2.6.2.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vpmedia/phaser",
3
- "version": "1.10.0",
3
+ "version": "1.12.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",
@@ -20,22 +20,25 @@
20
20
  "canvas"
21
21
  ],
22
22
  "main": "./src/index.js",
23
+ "types": "./types/index.d.ts",
23
24
  "devDependencies": {
24
- "eslint": "^8.36.0",
25
- "eslint-config-prettier": "^8.7.0",
25
+ "eslint": "^8.38.0",
26
+ "eslint-config-prettier": "^8.8.0",
26
27
  "eslint-plugin-import": "^2.27.5",
27
28
  "eslint-plugin-jest": "^27.2.1",
28
- "eslint-plugin-jsdoc": "^40.1.0",
29
+ "eslint-plugin-jsdoc": "^41.1.1",
29
30
  "eslint-plugin-prettier": "^4.2.1",
30
31
  "husky": "^8.0.3",
31
32
  "jest": "^29.5.0",
32
- "lint-staged": "^13.2.0",
33
- "prettier": "^2.8.5"
33
+ "lint-staged": "^13.2.1",
34
+ "prettier": "^2.8.7",
35
+ "typescript": "^5.0.4"
34
36
  },
35
37
  "scripts": {
36
38
  "test": "NODE_OPTIONS=--experimental-vm-modules jest --passWithNoTests",
37
39
  "lint": "eslint \"**/*.js\"",
38
40
  "lint-fix": "eslint \"**/*.js\" --fix",
41
+ "typecheck": "tsc",
39
42
  "format": "prettier --write \"**/*.{js,json}\"",
40
43
  "lint-staged": "lint-staged"
41
44
  },
@@ -6,7 +6,6 @@
6
6
  import Signal from './signal';
7
7
 
8
8
  export default class {
9
-
10
9
  constructor(game, parent, name, frameData, frames, frameRate, loop = false) {
11
10
  this.game = game;
12
11
  this._parent = parent;
@@ -158,7 +157,7 @@ export default class {
158
157
  if (this._frameDiff > this.delay) {
159
158
  // We need to skip a frame, work out how many
160
159
  this._frameSkip = Math.floor(this._frameDiff / this.delay);
161
- this._frameDiff -= (this._frameSkip * this.delay);
160
+ this._frameDiff -= this._frameSkip * this.delay;
162
161
  }
163
162
  // And what's left now?
164
163
  this._timeNextFrame = this.game.time.time + (this.delay - this._frameDiff);
@@ -167,7 +166,10 @@ export default class {
167
166
  } else {
168
167
  this._frameIndex += this._frameSkip;
169
168
  }
170
- if (!this.isReversed && this._frameIndex >= this._frames.length || this.isReversed && this._frameIndex <= -1) {
169
+ if (
170
+ (!this.isReversed && this._frameIndex >= this._frames.length) ||
171
+ (this.isReversed && this._frameIndex <= -1)
172
+ ) {
171
173
  if (this.loop) {
172
174
  // Update current state before event callback
173
175
  this._frameIndex = Math.abs(this._frameIndex) % this._frames.length;
@@ -249,7 +251,9 @@ export default class {
249
251
 
250
252
  updateFrameData(frameData) {
251
253
  this._frameData = frameData;
252
- this.currentFrame = this._frameData ? this._frameData.getFrame(this._frames[this._frameIndex % this._frames.length]) : null;
254
+ this.currentFrame = this._frameData
255
+ ? this._frameData.getFrame(this._frames[this._frameIndex % this._frames.length])
256
+ : null;
253
257
  }
254
258
 
255
259
  destroy() {
@@ -340,7 +344,7 @@ export default class {
340
344
  }
341
345
 
342
346
  get enableUpdate() {
343
- return (this.onUpdate !== null);
347
+ return this.onUpdate !== null;
344
348
  }
345
349
 
346
350
  set enableUpdate(value) {
@@ -351,5 +355,4 @@ export default class {
351
355
  this.onUpdate = null;
352
356
  }
353
357
  }
354
-
355
358
  }
@@ -6,7 +6,6 @@
6
6
  import Animation from './animation';
7
7
 
8
8
  export default class {
9
-
10
9
  constructor(sprite) {
11
10
  this.sprite = sprite;
12
11
  this.game = sprite.game;
@@ -90,7 +89,15 @@ export default class {
90
89
  }
91
90
  this._outputFrames = [];
92
91
  this._frameData.getFrameIndexes(frames, useNumericIndex, this._outputFrames);
93
- this._anims[name] = new Animation(this.game, this.sprite, name, this._frameData, this._outputFrames, frameRate, loop);
92
+ this._anims[name] = new Animation(
93
+ this.game,
94
+ this.sprite,
95
+ name,
96
+ this._frameData,
97
+ this._outputFrames,
98
+ frameRate,
99
+ loop
100
+ );
94
101
  this.currentAnim = this._anims[name];
95
102
  if (this.sprite.tilingTexture) {
96
103
  this.sprite.refreshTexture = true;
@@ -224,7 +231,11 @@ export default class {
224
231
  }
225
232
 
226
233
  set frameName(value) {
227
- if (typeof value === 'string' && this._frameData && this._frameData.getFrameByName(value) !== null) {
234
+ if (
235
+ typeof value === 'string' &&
236
+ this._frameData &&
237
+ this._frameData.getFrameByName(value) !== null
238
+ ) {
228
239
  this.currentFrame = this._frameData.getFrameByName(value);
229
240
  if (this.currentFrame) {
230
241
  this._frameIndex = this.currentFrame.index;
@@ -234,5 +245,4 @@ export default class {
234
245
  console.warn('Cannot set frameName: ' + value);
235
246
  }
236
247
  }
237
-
238
248
  }
@@ -41,7 +41,11 @@ export function spriteSheet(game, key, frameWidth, frameHeight, frameMax, margin
41
41
  }
42
42
  // Zero or smaller than frame sizes?
43
43
  if (width === 0 || height === 0 || width < frameWidth || height < frameHeight || total === 0) {
44
- console.warn("AnimationParser.spriteSheet: '" + key + "'s width/height zero or width/height < given frameWidth/frameHeight");
44
+ console.warn(
45
+ "AnimationParser.spriteSheet: '" +
46
+ key +
47
+ "'s width/height zero or width/height < given frameWidth/frameHeight"
48
+ );
45
49
  return null;
46
50
  }
47
51
  // Let's create some frames then
@@ -79,9 +83,26 @@ export function JSONDataHash(game, json) {
79
83
  const keys = Object.keys(frames);
80
84
  for (let k = 0; k < keys.length; k += 1) {
81
85
  const key = keys[k];
82
- newFrame = data.addFrame(new Frame(i, frames[key].frame.x, frames[key].frame.y, frames[key].frame.w, frames[key].frame.h, key));
86
+ newFrame = data.addFrame(
87
+ new Frame(
88
+ i,
89
+ frames[key].frame.x,
90
+ frames[key].frame.y,
91
+ frames[key].frame.w,
92
+ frames[key].frame.h,
93
+ key
94
+ )
95
+ );
83
96
  if (frames[key].trimmed) {
84
- newFrame.setTrim(frames[key].trimmed, frames[key].sourceSize.w, frames[key].sourceSize.h, frames[key].spriteSourceSize.x, frames[key].spriteSourceSize.y, frames[key].spriteSourceSize.w, frames[key].spriteSourceSize.h);
97
+ newFrame.setTrim(
98
+ frames[key].trimmed,
99
+ frames[key].sourceSize.w,
100
+ frames[key].sourceSize.h,
101
+ frames[key].spriteSourceSize.x,
102
+ frames[key].spriteSourceSize.y,
103
+ frames[key].spriteSourceSize.w,
104
+ frames[key].spriteSourceSize.h
105
+ );
85
106
  }
86
107
  i += 1;
87
108
  }
@@ -4,7 +4,6 @@
4
4
  * @copyright Copyright (c) 2018-present Richard Davey, Photon Storm Ltd., Andras Csizmadia <andras@vpmedia.hu> (www.vpmedia.hu)
5
5
  */
6
6
  export default class {
7
-
8
7
  constructor(list = []) {
9
8
  this.position = 0;
10
9
  this.list = list;
@@ -33,7 +32,7 @@ export default class {
33
32
  }
34
33
 
35
34
  exists(item) {
36
- return (this.list.indexOf(item) > -1);
35
+ return this.list.indexOf(item) > -1;
37
36
  }
38
37
 
39
38
  reset() {
@@ -103,5 +102,4 @@ export default class {
103
102
  }
104
103
  return null;
105
104
  }
106
-
107
105
  }
@@ -23,7 +23,6 @@ export const XML = 8;
23
23
  export const RENDER_TEXTURE = 9;
24
24
 
25
25
  export default class {
26
-
27
26
  constructor(game) {
28
27
  this.game = game;
29
28
  this.autoResolveURL = false;
@@ -60,7 +59,8 @@ export default class {
60
59
 
61
60
  addDefaultImage() {
62
61
  const img = new Image();
63
- img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==';
62
+ img.src =
63
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==';
64
64
  const obj = this.addImage('__default', null, img);
65
65
  obj.base.skipRender = true; // invisible texture
66
66
  window.PhaserRegistry.CACHE_DEFAULT_IMAGE = new Texture(obj.base);
@@ -68,7 +68,8 @@ export default class {
68
68
 
69
69
  addMissingImage() {
70
70
  const img = new Image();
71
- img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==';
71
+ img.src =
72
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==';
72
73
  const obj = this.addImage('__missing', null, img);
73
74
  window.PhaserRegistry.CACHE_MISSING_IMAGE = new Texture(obj.base);
74
75
  }
@@ -193,7 +194,7 @@ export default class {
193
194
  isSoundReady(key) {
194
195
  const sound = this.getItem(key, SOUND, 'isSoundDecoded');
195
196
  if (sound) {
196
- return (sound.decoded && !this.game.sound.isLocked);
197
+ return sound.decoded && !this.game.sound.isLocked;
197
198
  }
198
199
  return false;
199
200
  }
@@ -337,7 +338,7 @@ export default class {
337
338
  }
338
339
 
339
340
  hasFrameData(key, cache = IMAGE) {
340
- return (this.getItem(key, cache, '', 'frameData') !== null);
341
+ return this.getItem(key, cache, '', 'frameData') !== null;
341
342
  }
342
343
 
343
344
  updateFrameData(key, frameData, cache = IMAGE) {
@@ -476,5 +477,4 @@ export default class {
476
477
  this._urlResolver = null;
477
478
  this._urlTemp = null;
478
479
  }
479
-
480
480
  }
@@ -5,7 +5,6 @@
5
5
  */
6
6
 
7
7
  export default class {
8
-
9
8
  constructor() {
10
9
  this.desktop = false;
11
10
  this.iOS = false;
@@ -36,5 +35,4 @@ export default class {
36
35
  this.cancelFullscreen = '';
37
36
  this.fullscreenKeyboard = false;
38
37
  }
39
-
40
38
  }
@@ -62,7 +62,12 @@ export function checkOS(device) {
62
62
  device.desktop = true;
63
63
  }
64
64
  // iOS / Windows Phone / Tablet reset
65
- if (device.android || device.iOS || device.windowsPhone || ((/Windows NT/i.test(ua)) && (/Touch/i.test(ua)))) {
65
+ if (
66
+ device.android ||
67
+ device.iOS ||
68
+ device.windowsPhone ||
69
+ (/Windows NT/i.test(ua) && /Touch/i.test(ua))
70
+ ) {
66
71
  device.desktop = false;
67
72
  }
68
73
  }
@@ -72,7 +77,10 @@ export function checkOS(device) {
72
77
  * @param {object} device TBD
73
78
  */
74
79
  export function checkInput(device) {
75
- if ('ontouchstart' in document.documentElement || (window.navigator.maxTouchPoints && window.navigator.maxTouchPoints >= 1)) {
80
+ if (
81
+ 'ontouchstart' in document.documentElement ||
82
+ (window.navigator.maxTouchPoints && window.navigator.maxTouchPoints >= 1)
83
+ ) {
76
84
  device.touch = true;
77
85
  }
78
86
  // if (window.navigator.msPointerEnabled || window.navigator.pointerEnabled) {
@@ -162,7 +170,10 @@ export function checkAudio(device) {
162
170
  if (audioElement.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, '')) {
163
171
  device.ogg = true;
164
172
  }
165
- if (audioElement.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/, '') || audioElement.canPlayType('audio/opus;').replace(/^no$/, '')) {
173
+ if (
174
+ audioElement.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/, '') ||
175
+ audioElement.canPlayType('audio/opus;').replace(/^no$/, '')
176
+ ) {
166
177
  device.opus = true;
167
178
  }
168
179
  if (audioElement.canPlayType('audio/mpeg;').replace(/^no$/, '')) {
@@ -174,7 +185,10 @@ export function checkAudio(device) {
174
185
  if (audioElement.canPlayType('audio/wav; codecs="1"').replace(/^no$/, '')) {
175
186
  device.wav = true;
176
187
  }
177
- if (audioElement.canPlayType('audio/x-m4a;') || audioElement.canPlayType('audio/aac;').replace(/^no$/, '')) {
188
+ if (
189
+ audioElement.canPlayType('audio/x-m4a;') ||
190
+ audioElement.canPlayType('audio/aac;').replace(/^no$/, '')
191
+ ) {
178
192
  device.m4a = true;
179
193
  }
180
194
  if (audioElement.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, '')) {
@@ -200,12 +214,13 @@ export function checkImage(device) {
200
214
  device.webp = false;
201
215
  try {
202
216
  const avif = new Image();
203
- avif.src = "data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=";
217
+ avif.src =
218
+ 'data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=';
204
219
  avif.onload = function () {
205
220
  device.avif = true;
206
221
  };
207
222
  const webp = new Image();
208
- webp.src = "data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA=";
223
+ webp.src = 'data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA=';
209
224
  webp.onload = function () {
210
225
  device.webp = true;
211
226
  };
@@ -6,13 +6,16 @@
6
6
  import Point from '../geom/point';
7
7
 
8
8
  class VisualBoundsDesktopRectangle {
9
-
10
9
  get x() {
11
- return window && ('pageXOffset' in window) ? window.pageXOffset : document.documentElement.scrollLeft;
10
+ return window && 'pageXOffset' in window
11
+ ? window.pageXOffset
12
+ : document.documentElement.scrollLeft;
12
13
  }
13
14
 
14
15
  get y() {
15
- return window && ('pageYOffset' in window) ? window.pageYOffset : document.documentElement.scrollTop;
16
+ return window && 'pageYOffset' in window
17
+ ? window.pageYOffset
18
+ : document.documentElement.scrollTop;
16
19
  }
17
20
 
18
21
  get width() {
@@ -22,11 +25,9 @@ class VisualBoundsDesktopRectangle {
22
25
  get height() {
23
26
  return Math.max(window.innerHeight, document.documentElement.clientHeight);
24
27
  }
25
-
26
28
  }
27
29
 
28
30
  class LayoutBoundsDesktopRectangle {
29
-
30
31
  get x() {
31
32
  return 0;
32
33
  }
@@ -42,17 +43,19 @@ class LayoutBoundsDesktopRectangle {
42
43
  get height() {
43
44
  return Math.max(window.innerHeight, document.documentElement.clientHeight);
44
45
  }
45
-
46
46
  }
47
47
 
48
48
  class VisualBoundsRectangle {
49
-
50
49
  get x() {
51
- return window && ('pageXOffset' in window) ? window.pageXOffset : document.documentElement.scrollLeft;
50
+ return window && 'pageXOffset' in window
51
+ ? window.pageXOffset
52
+ : document.documentElement.scrollLeft;
52
53
  }
53
54
 
54
55
  get y() {
55
- return window && ('pageYOffset' in window) ? window.pageYOffset : document.documentElement.scrollTop;
56
+ return window && 'pageYOffset' in window
57
+ ? window.pageYOffset
58
+ : document.documentElement.scrollTop;
56
59
  }
57
60
 
58
61
  get width() {
@@ -62,11 +65,9 @@ class VisualBoundsRectangle {
62
65
  get height() {
63
66
  return window.innerHeight;
64
67
  }
65
-
66
68
  }
67
69
 
68
70
  class LayoutBoundsRectangle {
69
-
70
71
  get x() {
71
72
  return 0;
72
73
  }
@@ -86,14 +87,12 @@ class LayoutBoundsRectangle {
86
87
  const b = window.innerHeight;
87
88
  return a < b ? b : a; // max
88
89
  }
89
-
90
90
  }
91
91
 
92
92
  // For documentBounds
93
93
  // Ref. http://www.quirksmode.org/mobile/tableViewport_desktop.html
94
94
 
95
95
  class DocumentBoundsRectangle {
96
-
97
96
  get x() {
98
97
  return 0;
99
98
  }
@@ -111,18 +110,29 @@ class DocumentBoundsRectangle {
111
110
  const d = document.documentElement;
112
111
  return Math.max(d.clientHeight, d.offsetHeight, d.scrollHeight);
113
112
  }
114
-
115
113
  }
116
114
 
117
115
  export default class {
118
-
119
116
  constructor(device) {
120
- this.treatAsDesktop = device.desktop && (document.documentElement.clientWidth <= window.innerWidth) && (document.documentElement.clientHeight <= window.innerHeight);
121
- this.visualBounds = this.treatAsDesktop ? new VisualBoundsDesktopRectangle() : new VisualBoundsRectangle();
122
- this.layoutBounds = this.treatAsDesktop ? new LayoutBoundsDesktopRectangle() : new LayoutBoundsRectangle();
117
+ this.treatAsDesktop =
118
+ device.desktop &&
119
+ document.documentElement.clientWidth <= window.innerWidth &&
120
+ document.documentElement.clientHeight <= window.innerHeight;
121
+ this.visualBounds = this.treatAsDesktop
122
+ ? new VisualBoundsDesktopRectangle()
123
+ : new VisualBoundsRectangle();
124
+ this.layoutBounds = this.treatAsDesktop
125
+ ? new LayoutBoundsDesktopRectangle()
126
+ : new LayoutBoundsRectangle();
123
127
  this.documentBounds = new DocumentBoundsRectangle();
124
- this.scrollXProvider = window && ('pageXOffset' in window) ? () => window.pageXOffset : () => document.documentElement.scrollLeft;
125
- this.scrollYProvider = window && ('pageYOffset' in window) ? () => window.pageYOffset : () => document.documentElement.scrollTop;
128
+ this.scrollXProvider =
129
+ window && 'pageXOffset' in window
130
+ ? () => window.pageXOffset
131
+ : () => document.documentElement.scrollLeft;
132
+ this.scrollYProvider =
133
+ window && 'pageYOffset' in window
134
+ ? () => window.pageYOffset
135
+ : () => document.documentElement.scrollTop;
126
136
  }
127
137
 
128
138
  getOffset(element, point = null) {
@@ -172,12 +182,12 @@ export default class {
172
182
  const PORTRAIT = 'portrait-primary';
173
183
  const LANDSCAPE = 'landscape-primary';
174
184
  if (primaryFallback === 'screen') {
175
- return (screen.height > screen.width) ? PORTRAIT : LANDSCAPE;
185
+ return screen.height > screen.width ? PORTRAIT : LANDSCAPE;
176
186
  } else if (primaryFallback === 'viewport') {
177
- return (this.visualBounds.height > this.visualBounds.width) ? PORTRAIT : LANDSCAPE;
187
+ return this.visualBounds.height > this.visualBounds.width ? PORTRAIT : LANDSCAPE;
178
188
  } else if (primaryFallback === 'window.orientation' && typeof window.orientation === 'number') {
179
189
  // This may change by device based on "natural" orientation.
180
- return (window.orientation === 0 || window.orientation === 180) ? PORTRAIT : LANDSCAPE;
190
+ return window.orientation === 0 || window.orientation === 180 ? PORTRAIT : LANDSCAPE;
181
191
  } else if (window.matchMedia) {
182
192
  if (window.matchMedia('(orientation: portrait)').matches) {
183
193
  return PORTRAIT;
@@ -185,7 +195,7 @@ export default class {
185
195
  return LANDSCAPE;
186
196
  }
187
197
  }
188
- return (this.visualBounds.height > this.visualBounds.width) ? PORTRAIT : LANDSCAPE;
198
+ return this.visualBounds.height > this.visualBounds.width ? PORTRAIT : LANDSCAPE;
189
199
  }
190
200
 
191
201
  get scrollX() {
@@ -203,5 +213,4 @@ export default class {
203
213
  get clientHeight() {
204
214
  return Math.max(window.innerHeight, document.documentElement.clientHeight);
205
215
  }
206
-
207
216
  }
@@ -6,7 +6,6 @@
6
6
  import Signal from './signal';
7
7
 
8
8
  export default class {
9
-
10
9
  constructor(sprite) {
11
10
  this.parent = sprite;
12
11
  this._onAddedToGroup = null;
@@ -28,21 +27,51 @@ export default class {
28
27
 
29
28
  destroy() {
30
29
  this._parent = null;
31
- if (this._onDestroy) { this._onDestroy.dispose(); }
32
- if (this._onAddedToGroup) { this._onAddedToGroup.dispose(); }
33
- if (this._onRemovedFromGroup) { this._onRemovedFromGroup.dispose(); }
34
- if (this._onEnterBounds) { this._onEnterBounds.dispose(); }
35
- if (this._onOutOfBounds) { this._onOutOfBounds.dispose(); }
36
- if (this._onInputOver) { this._onInputOver.dispose(); }
37
- if (this._onInputOut) { this._onInputOut.dispose(); }
38
- if (this._onInputDown) { this._onInputDown.dispose(); }
39
- if (this._onInputUp) { this._onInputUp.dispose(); }
40
- if (this._onDragStart) { this._onDragStart.dispose(); }
41
- if (this._onDragUpdate) { this._onDragUpdate.dispose(); }
42
- if (this._onDragStop) { this._onDragStop.dispose(); }
43
- if (this._onAnimationStart) { this._onAnimationStart.dispose(); }
44
- if (this._onAnimationComplete) { this._onAnimationComplete.dispose(); }
45
- if (this._onAnimationLoop) { this._onAnimationLoop.dispose(); }
30
+ if (this._onDestroy) {
31
+ this._onDestroy.dispose();
32
+ }
33
+ if (this._onAddedToGroup) {
34
+ this._onAddedToGroup.dispose();
35
+ }
36
+ if (this._onRemovedFromGroup) {
37
+ this._onRemovedFromGroup.dispose();
38
+ }
39
+ if (this._onEnterBounds) {
40
+ this._onEnterBounds.dispose();
41
+ }
42
+ if (this._onOutOfBounds) {
43
+ this._onOutOfBounds.dispose();
44
+ }
45
+ if (this._onInputOver) {
46
+ this._onInputOver.dispose();
47
+ }
48
+ if (this._onInputOut) {
49
+ this._onInputOut.dispose();
50
+ }
51
+ if (this._onInputDown) {
52
+ this._onInputDown.dispose();
53
+ }
54
+ if (this._onInputUp) {
55
+ this._onInputUp.dispose();
56
+ }
57
+ if (this._onDragStart) {
58
+ this._onDragStart.dispose();
59
+ }
60
+ if (this._onDragUpdate) {
61
+ this._onDragUpdate.dispose();
62
+ }
63
+ if (this._onDragStop) {
64
+ this._onDragStop.dispose();
65
+ }
66
+ if (this._onAnimationStart) {
67
+ this._onAnimationStart.dispose();
68
+ }
69
+ if (this._onAnimationComplete) {
70
+ this._onAnimationComplete.dispose();
71
+ }
72
+ if (this._onAnimationLoop) {
73
+ this._onAnimationLoop.dispose();
74
+ }
46
75
  }
47
76
 
48
77
  get onAddedToGroup() {
@@ -239,5 +268,4 @@ export default class {
239
268
  this._onAnimationLoop.dispatch(...args);
240
269
  }
241
270
  }
242
-
243
271
  }
@@ -11,7 +11,6 @@ import Image from '../display/image';
11
11
  import Text from '../display/text';
12
12
 
13
13
  export default class {
14
-
15
14
  constructor(game) {
16
15
  this.game = game;
17
16
  }
@@ -32,9 +31,33 @@ export default class {
32
31
  return parent.add(new Text(this.game, x, y, text, style));
33
32
  }
34
33
 
35
- button(x, y, key, callback, callbackContext, overFrame, outFrame, downFrame, upFrame, group = null) {
34
+ button(
35
+ x,
36
+ y,
37
+ key,
38
+ callback,
39
+ callbackContext,
40
+ overFrame,
41
+ outFrame,
42
+ downFrame,
43
+ upFrame,
44
+ group = null
45
+ ) {
36
46
  const parent = group || this.game.world;
37
- return parent.add(new Button(this.game, x, y, key, callback, callbackContext, overFrame, outFrame, downFrame, upFrame));
47
+ return parent.add(
48
+ new Button(
49
+ this.game,
50
+ x,
51
+ y,
52
+ key,
53
+ callback,
54
+ callbackContext,
55
+ overFrame,
56
+ outFrame,
57
+ downFrame,
58
+ upFrame
59
+ )
60
+ );
38
61
  }
39
62
 
40
63
  graphics(x, y, group = null) {
@@ -46,5 +69,4 @@ export default class {
46
69
  const parent = group || this.game.world;
47
70
  return parent.add(new BitmapText(this.game, x, y, font, text, size, align));
48
71
  }
49
-
50
72
  }
@@ -8,7 +8,6 @@ import { distance } from '../util/math';
8
8
  import { cloneFrame } from './frame_util';
9
9
 
10
10
  export default class {
11
-
12
11
  constructor(index, x, y, width, height, name) {
13
12
  this.initialize(index, x, y, width, height, name);
14
13
  }
@@ -71,5 +70,4 @@ export default class {
71
70
  result.setTo(this.x, this.y, this.width, this.height);
72
71
  return result;
73
72
  }
74
-
75
73
  }
@@ -6,7 +6,6 @@
6
6
  import { cloneFrameData } from './frame_util';
7
7
 
8
8
  export default class {
9
-
10
9
  constructor() {
11
10
  this._frames = [];
12
11
  this._frameNames = [];
@@ -80,5 +79,4 @@ export default class {
80
79
  get total() {
81
80
  return this._frames.length;
82
81
  }
83
-
84
82
  }