@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.
- package/dist/index.js +1300 -1334
- package/dist/index.js.map +1 -1
- package/dist/phaser/core/animation.d.ts +14 -10
- package/dist/phaser/core/animation.d.ts.map +1 -1
- package/dist/phaser/core/animation_manager.d.ts +10 -8
- package/dist/phaser/core/animation_manager.d.ts.map +1 -1
- package/dist/phaser/core/animation_parser.d.ts +5 -4
- package/dist/phaser/core/animation_parser.d.ts.map +1 -1
- package/dist/phaser/core/array_set.d.ts.map +1 -1
- package/dist/phaser/core/cache.d.ts +4 -3
- package/dist/phaser/core/cache.d.ts.map +1 -1
- package/dist/phaser/core/const.d.ts.map +1 -1
- package/dist/phaser/core/device.d.ts.map +1 -1
- package/dist/phaser/core/device_util.d.ts.map +1 -1
- package/dist/phaser/core/dom.d.ts +3 -2
- package/dist/phaser/core/dom.d.ts.map +1 -1
- package/dist/phaser/core/event_manager.d.ts.map +1 -1
- package/dist/phaser/core/factory.d.ts +1 -1
- package/dist/phaser/core/factory.d.ts.map +1 -1
- package/dist/phaser/core/frame.d.ts.map +1 -1
- package/dist/phaser/core/frame_data.d.ts.map +1 -1
- package/dist/phaser/core/game.d.ts +1 -1
- package/dist/phaser/core/game.d.ts.map +1 -1
- package/dist/phaser/core/input.d.ts +8 -6
- package/dist/phaser/core/input.d.ts.map +1 -1
- package/dist/phaser/core/input_handler.d.ts +40 -30
- package/dist/phaser/core/input_handler.d.ts.map +1 -1
- package/dist/phaser/core/input_mouse.d.ts +3 -2
- package/dist/phaser/core/input_mouse.d.ts.map +1 -1
- package/dist/phaser/core/input_mspointer.d.ts +3 -2
- package/dist/phaser/core/input_mspointer.d.ts.map +1 -1
- package/dist/phaser/core/input_pointer.d.ts +6 -4
- package/dist/phaser/core/input_pointer.d.ts.map +1 -1
- package/dist/phaser/core/input_touch.d.ts +3 -2
- package/dist/phaser/core/input_touch.d.ts.map +1 -1
- package/dist/phaser/core/loader.d.ts +4 -3
- package/dist/phaser/core/loader.d.ts.map +1 -1
- package/dist/phaser/core/loader_parser.d.ts +9 -8
- package/dist/phaser/core/loader_parser.d.ts.map +1 -1
- package/dist/phaser/core/raf.d.ts +3 -2
- package/dist/phaser/core/raf.d.ts.map +1 -1
- package/dist/phaser/core/registry.d.ts +7 -0
- package/dist/phaser/core/registry.d.ts.map +1 -0
- package/dist/phaser/core/scale_manager.d.ts +1 -1
- package/dist/phaser/core/scale_manager.d.ts.map +1 -1
- package/dist/phaser/core/scene.d.ts +0 -1
- package/dist/phaser/core/scene.d.ts.map +1 -1
- package/dist/phaser/core/scene_manager.d.ts +1 -1
- package/dist/phaser/core/scene_manager.d.ts.map +1 -1
- package/dist/phaser/core/signal.d.ts +0 -1
- package/dist/phaser/core/signal.d.ts.map +1 -1
- package/dist/phaser/core/signal_binding.d.ts +4 -3
- package/dist/phaser/core/signal_binding.d.ts.map +1 -1
- package/dist/phaser/core/sound.d.ts +6 -4
- package/dist/phaser/core/sound.d.ts.map +1 -1
- package/dist/phaser/core/sound_manager.d.ts +3 -2
- package/dist/phaser/core/sound_manager.d.ts.map +1 -1
- package/dist/phaser/core/sound_sprite.d.ts +5 -4
- package/dist/phaser/core/sound_sprite.d.ts.map +1 -1
- package/dist/phaser/core/stage.d.ts +3 -2
- package/dist/phaser/core/stage.d.ts.map +1 -1
- package/dist/phaser/core/time.d.ts +1 -1
- package/dist/phaser/core/time.d.ts.map +1 -1
- package/dist/phaser/core/timer.d.ts +1 -1
- package/dist/phaser/core/timer.d.ts.map +1 -1
- package/dist/phaser/core/timer_event.d.ts.map +1 -1
- package/dist/phaser/core/tween.d.ts +10 -7
- package/dist/phaser/core/tween.d.ts.map +1 -1
- package/dist/phaser/core/tween_data.d.ts +3 -2
- package/dist/phaser/core/tween_data.d.ts.map +1 -1
- package/dist/phaser/core/tween_easing.d.ts.map +1 -1
- package/dist/phaser/core/tween_manager.d.ts +3 -2
- package/dist/phaser/core/tween_manager.d.ts.map +1 -1
- package/dist/phaser/core/world.d.ts +3 -2
- package/dist/phaser/core/world.d.ts.map +1 -1
- package/dist/phaser/display/bitmap_text.d.ts +3 -2
- package/dist/phaser/display/bitmap_text.d.ts.map +1 -1
- package/dist/phaser/display/button.d.ts +3 -2
- package/dist/phaser/display/button.d.ts.map +1 -1
- package/dist/phaser/display/canvas/buffer.d.ts.map +1 -1
- package/dist/phaser/display/canvas/graphics.d.ts +7 -6
- package/dist/phaser/display/canvas/graphics.d.ts.map +1 -1
- package/dist/phaser/display/canvas/pool.d.ts +2 -2
- package/dist/phaser/display/canvas/pool.d.ts.map +1 -1
- package/dist/phaser/display/canvas/renderer.d.ts +10 -8
- package/dist/phaser/display/canvas/renderer.d.ts.map +1 -1
- package/dist/phaser/display/canvas/tinter.d.ts +3 -2
- package/dist/phaser/display/canvas/tinter.d.ts.map +1 -1
- package/dist/phaser/display/canvas/util.d.ts +2 -2
- package/dist/phaser/display/canvas/util.d.ts.map +1 -1
- package/dist/phaser/display/display_object.d.ts +14 -12
- package/dist/phaser/display/display_object.d.ts.map +1 -1
- package/dist/phaser/display/graphics.d.ts +8 -5
- package/dist/phaser/display/graphics.d.ts.map +1 -1
- package/dist/phaser/display/graphics_data.d.ts.map +1 -1
- package/dist/phaser/display/graphics_data_util.d.ts.map +1 -1
- package/dist/phaser/display/group.d.ts +4 -3
- package/dist/phaser/display/group.d.ts.map +1 -1
- package/dist/phaser/display/image.d.ts +13 -10
- package/dist/phaser/display/image.d.ts.map +1 -1
- package/dist/phaser/display/sprite_batch.d.ts +3 -2
- package/dist/phaser/display/sprite_batch.d.ts.map +1 -1
- package/dist/phaser/display/sprite_util.d.ts +18 -15
- package/dist/phaser/display/sprite_util.d.ts.map +1 -1
- package/dist/phaser/display/text.d.ts +11 -9
- package/dist/phaser/display/text.d.ts.map +1 -1
- package/dist/phaser/display/webgl/abstract_filter.d.ts.map +1 -1
- package/dist/phaser/display/webgl/base_texture.d.ts.map +1 -1
- package/dist/phaser/display/webgl/blend_manager.d.ts +0 -1
- package/dist/phaser/display/webgl/blend_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/earcut.d.ts +1 -1
- package/dist/phaser/display/webgl/earcut.d.ts.map +1 -1
- package/dist/phaser/display/webgl/earcut_node.d.ts.map +1 -1
- package/dist/phaser/display/webgl/fast_sprite_batch.d.ts +4 -3
- package/dist/phaser/display/webgl/fast_sprite_batch.d.ts.map +1 -1
- package/dist/phaser/display/webgl/filter_manager.d.ts +2 -1
- package/dist/phaser/display/webgl/filter_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/filter_texture.d.ts +2 -1
- package/dist/phaser/display/webgl/filter_texture.d.ts.map +1 -1
- package/dist/phaser/display/webgl/graphics.d.ts +7 -6
- package/dist/phaser/display/webgl/graphics.d.ts.map +1 -1
- package/dist/phaser/display/webgl/graphics_data.d.ts +2 -1
- package/dist/phaser/display/webgl/graphics_data.d.ts.map +1 -1
- package/dist/phaser/display/webgl/render_texture.d.ts +4 -2
- package/dist/phaser/display/webgl/render_texture.d.ts.map +1 -1
- package/dist/phaser/display/webgl/renderer.d.ts +16 -11
- package/dist/phaser/display/webgl/renderer.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/complex.d.ts +16 -6
- package/dist/phaser/display/webgl/shader/complex.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/fast.d.ts +19 -7
- package/dist/phaser/display/webgl/shader/fast.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/normal.d.ts +33 -12
- package/dist/phaser/display/webgl/shader/normal.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/primitive.d.ts +15 -6
- package/dist/phaser/display/webgl/shader/primitive.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/strip.d.ts +15 -6
- package/dist/phaser/display/webgl/shader/strip.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader_manager.d.ts +16 -11
- package/dist/phaser/display/webgl/shader_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/sprite_batch.d.ts +29 -20
- package/dist/phaser/display/webgl/sprite_batch.d.ts.map +1 -1
- package/dist/phaser/display/webgl/stencil_manager.d.ts +12 -10
- package/dist/phaser/display/webgl/stencil_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/texture.d.ts +3 -2
- package/dist/phaser/display/webgl/texture.d.ts.map +1 -1
- package/dist/phaser/display/webgl/texture_util.d.ts.map +1 -1
- package/dist/phaser/display/webgl/util.d.ts.map +1 -1
- package/dist/phaser/geom/circle.d.ts +4 -1
- package/dist/phaser/geom/circle.d.ts.map +1 -1
- package/dist/phaser/geom/ellipse.d.ts.map +1 -1
- package/dist/phaser/geom/line.d.ts +1 -1
- package/dist/phaser/geom/line.d.ts.map +1 -1
- package/dist/phaser/geom/matrix.d.ts.map +1 -1
- package/dist/phaser/geom/point.d.ts.map +1 -1
- package/dist/phaser/geom/polygon.d.ts.map +1 -1
- package/dist/phaser/geom/rectangle.d.ts.map +1 -1
- package/dist/phaser/geom/rounded_rectangle.d.ts.map +1 -1
- package/dist/phaser/geom/util/circle.d.ts.map +1 -1
- package/dist/phaser/geom/util/ellipse.d.ts +3 -2
- package/dist/phaser/geom/util/ellipse.d.ts.map +1 -1
- package/dist/phaser/geom/util/line.d.ts.map +1 -1
- package/dist/phaser/geom/util/matrix.d.ts +2 -2
- package/dist/phaser/geom/util/matrix.d.ts.map +1 -1
- package/dist/phaser/geom/util/point.d.ts.map +1 -1
- package/dist/phaser/geom/util/rectangle.d.ts +1 -1
- package/dist/phaser/geom/util/rectangle.d.ts.map +1 -1
- package/dist/phaser/util/math.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/phaser/core/animation.ts +64 -60
- package/src/phaser/core/animation_manager.ts +54 -55
- package/src/phaser/core/animation_parser.ts +9 -9
- package/src/phaser/core/array_set.ts +16 -17
- package/src/phaser/core/cache.ts +92 -93
- package/src/phaser/core/const.ts +1 -1
- package/src/phaser/core/device.ts +24 -29
- package/src/phaser/core/device_util.ts +28 -32
- package/src/phaser/core/dom.ts +54 -65
- package/src/phaser/core/event_manager.ts +64 -94
- package/src/phaser/core/factory.ts +14 -14
- package/src/phaser/core/frame.ts +28 -28
- package/src/phaser/core/frame_data.test.ts +100 -0
- package/src/phaser/core/frame_data.ts +24 -24
- package/src/phaser/core/frame_util.ts +2 -2
- package/src/phaser/core/game.ts +50 -51
- package/src/phaser/core/input.ts +104 -110
- package/src/phaser/core/input_handler.test.ts +113 -0
- package/src/phaser/core/input_handler.ts +199 -218
- package/src/phaser/core/input_mouse.ts +71 -54
- package/src/phaser/core/input_mspointer.ts +52 -39
- package/src/phaser/core/input_pointer.ts +81 -80
- package/src/phaser/core/input_touch.ts +49 -36
- package/src/phaser/core/loader.ts +175 -154
- package/src/phaser/core/loader_parser.ts +39 -57
- package/src/phaser/core/raf.ts +8 -7
- package/src/phaser/core/registry.test.ts +31 -0
- package/src/phaser/core/registry.ts +9 -0
- package/src/phaser/core/scale_manager.ts +156 -152
- package/src/phaser/core/scene.ts +9 -13
- package/src/phaser/core/scene_manager.ts +47 -47
- package/src/phaser/core/signal.test.ts +4 -4
- package/src/phaser/core/signal.ts +41 -52
- package/src/phaser/core/signal_binding.ts +26 -25
- package/src/phaser/core/signal_dispatch.test.ts +180 -0
- package/src/phaser/core/sound.ts +75 -83
- package/src/phaser/core/sound_manager.ts +58 -56
- package/src/phaser/core/sound_sprite.ts +17 -16
- package/src/phaser/core/stage.ts +25 -24
- package/src/phaser/core/time.ts +52 -52
- package/src/phaser/core/timer.test.ts +187 -0
- package/src/phaser/core/timer.ts +82 -69
- package/src/phaser/core/timer_event.ts +10 -10
- package/src/phaser/core/tween.ts +90 -93
- package/src/phaser/core/tween_data.ts +45 -51
- package/src/phaser/core/tween_easing.test.ts +106 -0
- package/src/phaser/core/tween_easing.ts +151 -123
- package/src/phaser/core/tween_manager.ts +19 -18
- package/src/phaser/core/world.ts +4 -3
- package/src/phaser/display/bitmap_text.ts +56 -64
- package/src/phaser/display/button.ts +33 -32
- package/src/phaser/display/canvas/buffer.ts +8 -8
- package/src/phaser/display/canvas/graphics.ts +36 -37
- package/src/phaser/display/canvas/masker.ts +2 -2
- package/src/phaser/display/canvas/pool.test.ts +106 -0
- package/src/phaser/display/canvas/pool.ts +25 -27
- package/src/phaser/display/canvas/renderer.ts +32 -31
- package/src/phaser/display/canvas/tinter.ts +27 -27
- package/src/phaser/display/canvas/util.ts +7 -10
- package/src/phaser/display/display_object.ts +114 -118
- package/src/phaser/display/graphics.ts +121 -119
- package/src/phaser/display/graphics_data.ts +12 -12
- package/src/phaser/display/graphics_data_util.ts +2 -3
- package/src/phaser/display/group.ts +50 -57
- package/src/phaser/display/image.ts +55 -52
- package/src/phaser/display/sprite_batch.ts +3 -2
- package/src/phaser/display/sprite_util.ts +48 -54
- package/src/phaser/display/text.ts +199 -204
- package/src/phaser/display/webgl/abstract_filter.ts +9 -9
- package/src/phaser/display/webgl/base_texture.ts +21 -24
- package/src/phaser/display/webgl/blend_manager.ts +6 -10
- package/src/phaser/display/webgl/earcut.ts +73 -37
- package/src/phaser/display/webgl/earcut_node.ts +10 -10
- package/src/phaser/display/webgl/fast_sprite_batch.ts +34 -34
- package/src/phaser/display/webgl/filter_manager.ts +13 -12
- package/src/phaser/display/webgl/filter_texture.ts +14 -13
- package/src/phaser/display/webgl/graphics.ts +51 -57
- package/src/phaser/display/webgl/graphics_data.ts +15 -14
- package/src/phaser/display/webgl/mask_manager.ts +2 -2
- package/src/phaser/display/webgl/render_texture.ts +26 -25
- package/src/phaser/display/webgl/renderer.ts +57 -62
- package/src/phaser/display/webgl/shader/complex.ts +28 -12
- package/src/phaser/display/webgl/shader/fast.ts +30 -12
- package/src/phaser/display/webgl/shader/normal.ts +70 -57
- package/src/phaser/display/webgl/shader/primitive.ts +26 -11
- package/src/phaser/display/webgl/shader/shader.test.ts +148 -0
- package/src/phaser/display/webgl/shader/strip.ts +27 -12
- package/src/phaser/display/webgl/shader_manager.test.ts +124 -0
- package/src/phaser/display/webgl/shader_manager.ts +26 -34
- package/src/phaser/display/webgl/sprite_batch.ts +67 -61
- package/src/phaser/display/webgl/stencil_manager.ts +23 -34
- package/src/phaser/display/webgl/texture.ts +43 -50
- package/src/phaser/display/webgl/texture_util.ts +2 -3
- package/src/phaser/display/webgl/util.ts +26 -25
- package/src/phaser/geom/circle.test.ts +2 -3
- package/src/phaser/geom/circle.ts +36 -36
- package/src/phaser/geom/ellipse.test.ts +73 -71
- package/src/phaser/geom/ellipse.ts +14 -14
- package/src/phaser/geom/line.test.ts +5 -5
- package/src/phaser/geom/line.ts +35 -35
- package/src/phaser/geom/matrix.test.ts +1 -1
- package/src/phaser/geom/matrix.ts +27 -27
- package/src/phaser/geom/point.test.ts +1 -2
- package/src/phaser/geom/point.ts +35 -35
- package/src/phaser/geom/polygon.test.ts +82 -0
- package/src/phaser/geom/polygon.ts +16 -16
- package/src/phaser/geom/rectangle.test.ts +14 -14
- package/src/phaser/geom/rectangle.ts +83 -75
- package/src/phaser/geom/rounded_rectangle.test.ts +1 -7
- package/src/phaser/geom/rounded_rectangle.ts +9 -9
- package/src/phaser/geom/util/circle.test.ts +25 -23
- package/src/phaser/geom/util/circle.ts +9 -18
- package/src/phaser/geom/util/ellipse.test.ts +7 -5
- package/src/phaser/geom/util/ellipse.ts +3 -2
- package/src/phaser/geom/util/line.test.ts +10 -8
- package/src/phaser/geom/util/line.ts +6 -16
- package/src/phaser/geom/util/matrix.test.ts +20 -18
- package/src/phaser/geom/util/matrix.ts +8 -15
- package/src/phaser/geom/util/point.test.ts +8 -6
- package/src/phaser/geom/util/point.ts +24 -28
- package/src/phaser/geom/util/polygon.test.ts +12 -10
- package/src/phaser/geom/util/polygon.ts +2 -2
- package/src/phaser/geom/util/rectangle.test.ts +10 -8
- package/src/phaser/geom/util/rectangle.ts +18 -37
- package/src/phaser/geom/util/rounded_rectangle.test.ts +11 -9
- package/src/phaser/geom/util/rounded_rectangle.ts +1 -1
- package/src/phaser/util/math.test.ts +11 -11
- 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
|
|
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
|
|
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
|
}
|
package/src/phaser/core/game.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Logger } from '@
|
|
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
|
-
|
|
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 (
|
|
190
|
-
this.logger.warn('WebGL 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 (
|
|
193
|
-
this.logger.warn('WebGL 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.
|
|
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 ??
|
|
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
|
|