@vpmedia/phaser 1.111.0 → 1.113.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 +1300 -1334
  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 +1 -1
  23. package/dist/phaser/core/game.d.ts.map +1 -1
  24. package/dist/phaser/core/input.d.ts +8 -6
  25. package/dist/phaser/core/input.d.ts.map +1 -1
  26. package/dist/phaser/core/input_handler.d.ts +40 -30
  27. package/dist/phaser/core/input_handler.d.ts.map +1 -1
  28. package/dist/phaser/core/input_mouse.d.ts +3 -2
  29. package/dist/phaser/core/input_mouse.d.ts.map +1 -1
  30. package/dist/phaser/core/input_mspointer.d.ts +3 -2
  31. package/dist/phaser/core/input_mspointer.d.ts.map +1 -1
  32. package/dist/phaser/core/input_pointer.d.ts +6 -4
  33. package/dist/phaser/core/input_pointer.d.ts.map +1 -1
  34. package/dist/phaser/core/input_touch.d.ts +3 -2
  35. package/dist/phaser/core/input_touch.d.ts.map +1 -1
  36. package/dist/phaser/core/loader.d.ts +4 -3
  37. package/dist/phaser/core/loader.d.ts.map +1 -1
  38. package/dist/phaser/core/loader_parser.d.ts +9 -8
  39. package/dist/phaser/core/loader_parser.d.ts.map +1 -1
  40. package/dist/phaser/core/raf.d.ts +3 -2
  41. package/dist/phaser/core/raf.d.ts.map +1 -1
  42. package/dist/phaser/core/registry.d.ts +7 -0
  43. package/dist/phaser/core/registry.d.ts.map +1 -0
  44. package/dist/phaser/core/scale_manager.d.ts +1 -1
  45. package/dist/phaser/core/scale_manager.d.ts.map +1 -1
  46. package/dist/phaser/core/scene.d.ts +0 -1
  47. package/dist/phaser/core/scene.d.ts.map +1 -1
  48. package/dist/phaser/core/scene_manager.d.ts +1 -1
  49. package/dist/phaser/core/scene_manager.d.ts.map +1 -1
  50. package/dist/phaser/core/signal.d.ts +0 -1
  51. package/dist/phaser/core/signal.d.ts.map +1 -1
  52. package/dist/phaser/core/signal_binding.d.ts +4 -3
  53. package/dist/phaser/core/signal_binding.d.ts.map +1 -1
  54. package/dist/phaser/core/sound.d.ts +6 -4
  55. package/dist/phaser/core/sound.d.ts.map +1 -1
  56. package/dist/phaser/core/sound_manager.d.ts +3 -2
  57. package/dist/phaser/core/sound_manager.d.ts.map +1 -1
  58. package/dist/phaser/core/sound_sprite.d.ts +5 -4
  59. package/dist/phaser/core/sound_sprite.d.ts.map +1 -1
  60. package/dist/phaser/core/stage.d.ts +3 -2
  61. package/dist/phaser/core/stage.d.ts.map +1 -1
  62. package/dist/phaser/core/time.d.ts +1 -1
  63. package/dist/phaser/core/time.d.ts.map +1 -1
  64. package/dist/phaser/core/timer.d.ts +1 -1
  65. package/dist/phaser/core/timer.d.ts.map +1 -1
  66. package/dist/phaser/core/timer_event.d.ts.map +1 -1
  67. package/dist/phaser/core/tween.d.ts +10 -7
  68. package/dist/phaser/core/tween.d.ts.map +1 -1
  69. package/dist/phaser/core/tween_data.d.ts +3 -2
  70. package/dist/phaser/core/tween_data.d.ts.map +1 -1
  71. package/dist/phaser/core/tween_easing.d.ts.map +1 -1
  72. package/dist/phaser/core/tween_manager.d.ts +3 -2
  73. package/dist/phaser/core/tween_manager.d.ts.map +1 -1
  74. package/dist/phaser/core/world.d.ts +3 -2
  75. package/dist/phaser/core/world.d.ts.map +1 -1
  76. package/dist/phaser/display/bitmap_text.d.ts +3 -2
  77. package/dist/phaser/display/bitmap_text.d.ts.map +1 -1
  78. package/dist/phaser/display/button.d.ts +3 -2
  79. package/dist/phaser/display/button.d.ts.map +1 -1
  80. package/dist/phaser/display/canvas/buffer.d.ts.map +1 -1
  81. package/dist/phaser/display/canvas/graphics.d.ts +7 -6
  82. package/dist/phaser/display/canvas/graphics.d.ts.map +1 -1
  83. package/dist/phaser/display/canvas/pool.d.ts +2 -2
  84. package/dist/phaser/display/canvas/pool.d.ts.map +1 -1
  85. package/dist/phaser/display/canvas/renderer.d.ts +10 -8
  86. package/dist/phaser/display/canvas/renderer.d.ts.map +1 -1
  87. package/dist/phaser/display/canvas/tinter.d.ts +3 -2
  88. package/dist/phaser/display/canvas/tinter.d.ts.map +1 -1
  89. package/dist/phaser/display/canvas/util.d.ts +2 -2
  90. package/dist/phaser/display/canvas/util.d.ts.map +1 -1
  91. package/dist/phaser/display/display_object.d.ts +14 -12
  92. package/dist/phaser/display/display_object.d.ts.map +1 -1
  93. package/dist/phaser/display/graphics.d.ts +8 -5
  94. package/dist/phaser/display/graphics.d.ts.map +1 -1
  95. package/dist/phaser/display/graphics_data.d.ts.map +1 -1
  96. package/dist/phaser/display/graphics_data_util.d.ts.map +1 -1
  97. package/dist/phaser/display/group.d.ts +4 -3
  98. package/dist/phaser/display/group.d.ts.map +1 -1
  99. package/dist/phaser/display/image.d.ts +13 -10
  100. package/dist/phaser/display/image.d.ts.map +1 -1
  101. package/dist/phaser/display/sprite_batch.d.ts +3 -2
  102. package/dist/phaser/display/sprite_batch.d.ts.map +1 -1
  103. package/dist/phaser/display/sprite_util.d.ts +18 -15
  104. package/dist/phaser/display/sprite_util.d.ts.map +1 -1
  105. package/dist/phaser/display/text.d.ts +11 -9
  106. package/dist/phaser/display/text.d.ts.map +1 -1
  107. package/dist/phaser/display/webgl/abstract_filter.d.ts.map +1 -1
  108. package/dist/phaser/display/webgl/base_texture.d.ts.map +1 -1
  109. package/dist/phaser/display/webgl/blend_manager.d.ts +0 -1
  110. package/dist/phaser/display/webgl/blend_manager.d.ts.map +1 -1
  111. package/dist/phaser/display/webgl/earcut.d.ts +1 -1
  112. package/dist/phaser/display/webgl/earcut.d.ts.map +1 -1
  113. package/dist/phaser/display/webgl/earcut_node.d.ts.map +1 -1
  114. package/dist/phaser/display/webgl/fast_sprite_batch.d.ts +4 -3
  115. package/dist/phaser/display/webgl/fast_sprite_batch.d.ts.map +1 -1
  116. package/dist/phaser/display/webgl/filter_manager.d.ts +2 -1
  117. package/dist/phaser/display/webgl/filter_manager.d.ts.map +1 -1
  118. package/dist/phaser/display/webgl/filter_texture.d.ts +2 -1
  119. package/dist/phaser/display/webgl/filter_texture.d.ts.map +1 -1
  120. package/dist/phaser/display/webgl/graphics.d.ts +7 -6
  121. package/dist/phaser/display/webgl/graphics.d.ts.map +1 -1
  122. package/dist/phaser/display/webgl/graphics_data.d.ts +2 -1
  123. package/dist/phaser/display/webgl/graphics_data.d.ts.map +1 -1
  124. package/dist/phaser/display/webgl/render_texture.d.ts +4 -2
  125. package/dist/phaser/display/webgl/render_texture.d.ts.map +1 -1
  126. package/dist/phaser/display/webgl/renderer.d.ts +16 -11
  127. package/dist/phaser/display/webgl/renderer.d.ts.map +1 -1
  128. package/dist/phaser/display/webgl/shader/complex.d.ts +16 -6
  129. package/dist/phaser/display/webgl/shader/complex.d.ts.map +1 -1
  130. package/dist/phaser/display/webgl/shader/fast.d.ts +19 -7
  131. package/dist/phaser/display/webgl/shader/fast.d.ts.map +1 -1
  132. package/dist/phaser/display/webgl/shader/normal.d.ts +33 -12
  133. package/dist/phaser/display/webgl/shader/normal.d.ts.map +1 -1
  134. package/dist/phaser/display/webgl/shader/primitive.d.ts +15 -6
  135. package/dist/phaser/display/webgl/shader/primitive.d.ts.map +1 -1
  136. package/dist/phaser/display/webgl/shader/strip.d.ts +15 -6
  137. package/dist/phaser/display/webgl/shader/strip.d.ts.map +1 -1
  138. package/dist/phaser/display/webgl/shader_manager.d.ts +16 -11
  139. package/dist/phaser/display/webgl/shader_manager.d.ts.map +1 -1
  140. package/dist/phaser/display/webgl/sprite_batch.d.ts +29 -20
  141. package/dist/phaser/display/webgl/sprite_batch.d.ts.map +1 -1
  142. package/dist/phaser/display/webgl/stencil_manager.d.ts +12 -10
  143. package/dist/phaser/display/webgl/stencil_manager.d.ts.map +1 -1
  144. package/dist/phaser/display/webgl/texture.d.ts +3 -2
  145. package/dist/phaser/display/webgl/texture.d.ts.map +1 -1
  146. package/dist/phaser/display/webgl/texture_util.d.ts.map +1 -1
  147. package/dist/phaser/display/webgl/util.d.ts.map +1 -1
  148. package/dist/phaser/geom/circle.d.ts +4 -1
  149. package/dist/phaser/geom/circle.d.ts.map +1 -1
  150. package/dist/phaser/geom/ellipse.d.ts.map +1 -1
  151. package/dist/phaser/geom/line.d.ts +1 -1
  152. package/dist/phaser/geom/line.d.ts.map +1 -1
  153. package/dist/phaser/geom/matrix.d.ts.map +1 -1
  154. package/dist/phaser/geom/point.d.ts.map +1 -1
  155. package/dist/phaser/geom/polygon.d.ts.map +1 -1
  156. package/dist/phaser/geom/rectangle.d.ts.map +1 -1
  157. package/dist/phaser/geom/rounded_rectangle.d.ts.map +1 -1
  158. package/dist/phaser/geom/util/circle.d.ts.map +1 -1
  159. package/dist/phaser/geom/util/ellipse.d.ts +3 -2
  160. package/dist/phaser/geom/util/ellipse.d.ts.map +1 -1
  161. package/dist/phaser/geom/util/line.d.ts.map +1 -1
  162. package/dist/phaser/geom/util/matrix.d.ts +2 -2
  163. package/dist/phaser/geom/util/matrix.d.ts.map +1 -1
  164. package/dist/phaser/geom/util/point.d.ts.map +1 -1
  165. package/dist/phaser/geom/util/rectangle.d.ts +1 -1
  166. package/dist/phaser/geom/util/rectangle.d.ts.map +1 -1
  167. package/dist/phaser/util/math.d.ts.map +1 -1
  168. package/package.json +5 -4
  169. package/src/phaser/core/animation.ts +64 -60
  170. package/src/phaser/core/animation_manager.ts +54 -55
  171. package/src/phaser/core/animation_parser.ts +9 -9
  172. package/src/phaser/core/array_set.ts +16 -17
  173. package/src/phaser/core/cache.ts +92 -93
  174. package/src/phaser/core/const.ts +1 -1
  175. package/src/phaser/core/device.ts +24 -29
  176. package/src/phaser/core/device_util.ts +28 -32
  177. package/src/phaser/core/dom.ts +54 -65
  178. package/src/phaser/core/event_manager.ts +64 -94
  179. package/src/phaser/core/factory.ts +14 -14
  180. package/src/phaser/core/frame.ts +28 -28
  181. package/src/phaser/core/frame_data.test.ts +100 -0
  182. package/src/phaser/core/frame_data.ts +24 -24
  183. package/src/phaser/core/frame_util.ts +2 -2
  184. package/src/phaser/core/game.ts +50 -51
  185. package/src/phaser/core/input.ts +104 -110
  186. package/src/phaser/core/input_handler.test.ts +113 -0
  187. package/src/phaser/core/input_handler.ts +199 -218
  188. package/src/phaser/core/input_mouse.ts +71 -54
  189. package/src/phaser/core/input_mspointer.ts +52 -39
  190. package/src/phaser/core/input_pointer.ts +81 -80
  191. package/src/phaser/core/input_touch.ts +49 -36
  192. package/src/phaser/core/loader.ts +175 -154
  193. package/src/phaser/core/loader_parser.ts +39 -57
  194. package/src/phaser/core/raf.ts +8 -7
  195. package/src/phaser/core/registry.test.ts +31 -0
  196. package/src/phaser/core/registry.ts +9 -0
  197. package/src/phaser/core/scale_manager.ts +156 -152
  198. package/src/phaser/core/scene.ts +9 -13
  199. package/src/phaser/core/scene_manager.ts +47 -47
  200. package/src/phaser/core/signal.test.ts +4 -4
  201. package/src/phaser/core/signal.ts +41 -52
  202. package/src/phaser/core/signal_binding.ts +26 -25
  203. package/src/phaser/core/signal_dispatch.test.ts +180 -0
  204. package/src/phaser/core/sound.ts +75 -83
  205. package/src/phaser/core/sound_manager.ts +58 -56
  206. package/src/phaser/core/sound_sprite.ts +17 -16
  207. package/src/phaser/core/stage.ts +25 -24
  208. package/src/phaser/core/time.ts +52 -52
  209. package/src/phaser/core/timer.test.ts +187 -0
  210. package/src/phaser/core/timer.ts +82 -69
  211. package/src/phaser/core/timer_event.ts +10 -10
  212. package/src/phaser/core/tween.ts +90 -93
  213. package/src/phaser/core/tween_data.ts +45 -51
  214. package/src/phaser/core/tween_easing.test.ts +106 -0
  215. package/src/phaser/core/tween_easing.ts +151 -123
  216. package/src/phaser/core/tween_manager.ts +19 -18
  217. package/src/phaser/core/world.ts +4 -3
  218. package/src/phaser/display/bitmap_text.ts +56 -64
  219. package/src/phaser/display/button.ts +33 -32
  220. package/src/phaser/display/canvas/buffer.ts +8 -8
  221. package/src/phaser/display/canvas/graphics.ts +36 -37
  222. package/src/phaser/display/canvas/masker.ts +2 -2
  223. package/src/phaser/display/canvas/pool.test.ts +106 -0
  224. package/src/phaser/display/canvas/pool.ts +25 -27
  225. package/src/phaser/display/canvas/renderer.ts +32 -31
  226. package/src/phaser/display/canvas/tinter.ts +27 -27
  227. package/src/phaser/display/canvas/util.ts +7 -10
  228. package/src/phaser/display/display_object.ts +114 -118
  229. package/src/phaser/display/graphics.ts +121 -119
  230. package/src/phaser/display/graphics_data.ts +12 -12
  231. package/src/phaser/display/graphics_data_util.ts +2 -3
  232. package/src/phaser/display/group.ts +50 -57
  233. package/src/phaser/display/image.ts +55 -52
  234. package/src/phaser/display/sprite_batch.ts +3 -2
  235. package/src/phaser/display/sprite_util.ts +48 -54
  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
@@ -2,13 +2,13 @@ import { Frame } from './frame.js';
2
2
  import { FrameData } from './frame_data.js';
3
3
 
4
4
  export const cloneFrame = (frame: Frame, output: Frame | null = null): Frame => {
5
- const result = output || new Frame(frame.index, frame.x, frame.y, frame.width, frame.height);
5
+ const result = output ?? new Frame(frame.index, frame.x, frame.y, frame.width, frame.height);
6
6
  result.initialize(frame.index, frame.x, frame.y, frame.width, frame.height);
7
7
  return result;
8
8
  };
9
9
 
10
10
  export const cloneFrameData = (frameData: FrameData, output: FrameData | null = null): FrameData => {
11
- const result = output || new FrameData();
11
+ const result = output ?? new FrameData();
12
12
  for (let i = 0; i < frameData.total; i += 1) {
13
13
  result.addFrame(frameData.getFrame(i).clone());
14
14
  }
@@ -1,4 +1,4 @@
1
- import { Logger } from '@vpmedia/simplify';
1
+ import { getLogger, type Logger } from '@logtape/logtape';
2
2
  import { CanvasRenderer } from '../display/canvas/renderer.js';
3
3
  import { addToDOM, create, removeFromDOM, setTouchAction } from '../display/canvas/util.js';
4
4
  import { WebGLRenderer } from '../display/webgl/renderer.js';
@@ -18,43 +18,44 @@ import { Stage } from './stage.js';
18
18
  import { Time } from './time.js';
19
19
  import { TweenManager } from './tween_manager.js';
20
20
  import { World } from './world.js';
21
+ import { getRegistry } from './registry.js';
21
22
 
22
23
  export class Game {
23
- config!: any;
24
- id!: number;
25
- parent!: string | HTMLElement;
26
- width!: number;
27
- height!: number;
28
- renderer!: CanvasRenderer | WebGLRenderer;
29
- state!: SceneManager;
30
- isBooted!: boolean;
31
- paused!: boolean;
32
- raf!: RequestAnimationFrame;
33
- add!: GameObjectFactory;
34
- cache!: Cache;
35
- input!: Input;
36
- load!: Loader;
37
- scale!: ScaleManager;
38
- sound!: SoundManager;
39
- stage!: Stage;
40
- time!: Time;
41
- tweens!: TweenManager;
42
- world!: World;
43
- device!: Device;
44
- logger!: Logger;
45
- canvas!: HTMLCanvasElement;
46
- context!:
24
+ public config!: any;
25
+ public id!: number;
26
+ public parent!: string | HTMLElement;
27
+ public width!: number;
28
+ public height!: number;
29
+ public renderer!: CanvasRenderer | WebGLRenderer;
30
+ public state!: SceneManager;
31
+ public isBooted!: boolean;
32
+ public paused!: boolean;
33
+ public raf!: RequestAnimationFrame;
34
+ public add!: GameObjectFactory;
35
+ public cache!: Cache;
36
+ public input!: Input;
37
+ public load!: Loader;
38
+ public scale!: ScaleManager;
39
+ public sound!: SoundManager;
40
+ public stage!: Stage;
41
+ public time!: Time;
42
+ public tweens!: TweenManager;
43
+ public world!: World;
44
+ public device!: Device;
45
+ public logger!: Logger;
46
+ public canvas!: HTMLCanvasElement;
47
+ public context!:
47
48
  | CanvasRenderingContext2D
48
49
  | ImageBitmapRenderingContext
49
50
  | WebGLRenderingContext
50
51
  | WebGL2RenderingContext
51
52
  | null;
52
- onPause!: Signal;
53
- onResume!: Signal;
54
- onBoot!: Signal;
55
- isPaused!: boolean;
56
- contextLostBinded!: any;
57
- contextRestoredBinded!: any;
53
+ public onPause!: Signal;
54
+ public onResume!: Signal;
55
+ public onBoot!: Signal;
56
+ public isPaused!: boolean;
57
+ public contextLostBinded!: any;
58
+ public contextRestoredBinded!: any;
58
59
  /**
59
60
  * Creates a new Game instance.
60
61
  * @param {object} gameConfig - The configuration object for the game.
@@ -75,10 +76,8 @@ export class Game {
75
76
  * @param {string|HTMLElement} gameConfig.parent - The parent element to append the canvas to.
76
77
  * @param {object} gameConfig.state - The initial state object or class.
77
78
  */
78
- constructor(gameConfig: any = {}) {
79
- if (!window.PhaserRegistry) {
80
- window.PhaserRegistry = {};
81
- }
79
+ public constructor(gameConfig: any = {}) {
80
+ getRegistry();
82
81
  this.config = {};
83
82
  this.id = 0;
84
83
  this.parent = '';
@@ -112,7 +111,7 @@ export class Game {
112
111
  /**
113
112
  * Boots the game and initializes all systems.
114
113
  */
115
- boot() {
114
+ public boot() {
116
115
  if (this.isBooted) {
117
116
  return;
118
117
  }
@@ -148,7 +147,7 @@ export class Game {
148
147
  /**
149
148
  * Creates the renderer canvas element.
150
149
  */
151
- createRendererCanvas() {
150
+ public createRendererCanvas() {
152
151
  this.logger.info('createRendererCanvas');
153
152
  if (this.canvas) {
154
153
  removeFromDOM(this.canvas);
@@ -161,7 +160,7 @@ export class Game {
161
160
  if (this.config.canvasStyle) {
162
161
  const canvasStyle = this.config.canvasStyle as Record<string, string>;
163
162
  for (const property of Object.keys(canvasStyle)) {
164
- this.canvas.style.setProperty(property, canvasStyle[property]);
163
+ this.canvas.style.setProperty(property, canvasStyle[property] ?? null);
165
164
  }
166
165
  } else {
167
166
  this.canvas.style.setProperty('-webkit-full-screen', 'width: 100%; height: 100%');
@@ -171,7 +170,7 @@ export class Game {
171
170
  /**
172
171
  * Initializes the renderer and sets up the rendering context.
173
172
  */
174
- initRenderer() {
173
+ public initRenderer() {
175
174
  let isWebGlReady = false;
176
175
  if (this.config.renderType === RENDER_AUTO || this.config.renderType === RENDER_WEBGL) {
177
176
  try {
@@ -186,14 +185,14 @@ export class Game {
186
185
  isWebGlReady = true;
187
186
  } catch (error) {
188
187
  isWebGlReady = false;
189
- if (window.PhaserRegistry?.GL_PROGRAM_INFO_LOG) {
190
- this.logger.warn('WebGL program info', { log: window.PhaserRegistry.GL_PROGRAM_INFO_LOG });
188
+ if (globalThis.PhaserRegistry?.GL_PROGRAM_INFO_LOG) {
189
+ this.logger.warn('WebGL program info', { log: globalThis.PhaserRegistry.GL_PROGRAM_INFO_LOG });
191
190
  }
192
- if (window.PhaserRegistry?.GL_SHADER_INFO_LOG) {
193
- this.logger.warn('WebGL shader info', { log: window.PhaserRegistry.GL_SHADER_INFO_LOG });
191
+ if (globalThis.PhaserRegistry?.GL_SHADER_INFO_LOG) {
192
+ this.logger.warn('WebGL shader info', { log: globalThis.PhaserRegistry.GL_SHADER_INFO_LOG });
194
193
  }
195
194
  const typedError = error instanceof Error ? error : new Error(String(error));
196
- this.logger.exception('Game', typedError);
195
+ this.logger.fatal('Game', { error: typedError });
197
196
  }
198
197
  }
199
198
  if (!isWebGlReady) {
@@ -222,7 +221,7 @@ export class Game {
222
221
  * @param {string} key - The configuration key to parse.
223
222
  * @param {*} defaultValue - The default value if the key is not found in config.
224
223
  */
225
- parseConfigElement(config: any, key: string, defaultValue?: any) {
224
+ public parseConfigElement(config: any, key: string, defaultValue?: any) {
226
225
  if (config[key] !== undefined) {
227
226
  this.config[key] = config[key];
228
227
  } else {
@@ -234,8 +233,8 @@ export class Game {
234
233
  * Parses the configuration object and sets up game properties.
235
234
  * @param {object} config - The configuration object to parse.
236
235
  */
237
- parseConfig(config: any) {
238
- this.logger = config.logger ?? new Logger('phaser');
236
+ public parseConfig(config: any) {
237
+ this.logger = config.logger ?? getLogger(['phaser']);
239
238
  this.logger.info('parseConfig');
240
239
  this.parseConfigElement(config, 'width', 800);
241
240
  this.parseConfigElement(config, 'height', 600);
@@ -265,7 +264,7 @@ export class Game {
265
264
  * Called when the WebGL context is lost.
266
265
  * @param {WebGLContextEvent | Event} event - The WebGL context loss event.
267
266
  */
268
- contextLost(event: any) {
267
+ public contextLost(event: any) {
269
268
  this.logger.info('contextLost', event);
270
269
  event.preventDefault();
271
270
  if (this.renderer) {
@@ -277,7 +276,7 @@ export class Game {
277
276
  * Called when the WebGL context is restored.
278
277
  * @param {WebGLContextEvent | Event} event - The WebGL context restore event.
279
278
  */
280
- contextRestored(event: any) {
279
+ public contextRestored(event: any) {
281
280
  this.logger.info('contextRestored', event);
282
281
  if (this.renderer) {
283
282
  this.renderer.initContext(this);
@@ -290,7 +289,7 @@ export class Game {
290
289
  * Updates the game state.
291
290
  * @param {number} time - The current timestamp.
292
291
  */
293
- update(time: number) {
292
+ public update(time: number) {
294
293
  this.time.update(time);
295
294
  if (!this.isPaused) {
296
295
  this.scale.preUpdate();
@@ -313,7 +312,7 @@ export class Game {
313
312
  /**
314
313
  * Destroys the game and cleans up all resources.
315
314
  */
316
- destroy() {
315
+ public destroy() {
317
316
  this.logger.info('destroy');
318
317
  this.isPaused = true;
319
318