@vpmedia/phaser 1.105.0 → 1.107.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.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +238 -244
- package/dist/index.js.map +1 -1
- package/dist/phaser/core/animation.d.ts +2 -2
- package/dist/phaser/core/animation.d.ts.map +1 -1
- package/dist/phaser/core/animation_manager.d.ts +2 -2
- package/dist/phaser/core/animation_manager.d.ts.map +1 -1
- package/dist/phaser/core/animation_parser.d.ts +2 -2
- 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 +6 -6
- package/dist/phaser/core/cache.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 +2 -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/frame_util.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 +3 -3
- package/dist/phaser/core/input.d.ts.map +1 -1
- package/dist/phaser/core/input_handler.d.ts +8 -8
- package/dist/phaser/core/input_handler.d.ts.map +1 -1
- package/dist/phaser/core/input_mouse.d.ts +8 -8
- package/dist/phaser/core/input_mouse.d.ts.map +1 -1
- package/dist/phaser/core/input_mspointer.d.ts +6 -6
- package/dist/phaser/core/input_mspointer.d.ts.map +1 -1
- package/dist/phaser/core/input_pointer.d.ts +3 -3
- package/dist/phaser/core/input_pointer.d.ts.map +1 -1
- package/dist/phaser/core/input_touch.d.ts +7 -7
- package/dist/phaser/core/input_touch.d.ts.map +1 -1
- package/dist/phaser/core/loader.d.ts +16 -6
- package/dist/phaser/core/loader.d.ts.map +1 -1
- package/dist/phaser/core/loader_parser.d.ts +4 -4
- package/dist/phaser/core/loader_parser.d.ts.map +1 -1
- package/dist/phaser/core/raf.d.ts.map +1 -1
- package/dist/phaser/core/scale_manager.d.ts +5 -5
- package/dist/phaser/core/scale_manager.d.ts.map +1 -1
- package/dist/phaser/core/scene.d.ts +3 -3
- package/dist/phaser/core/scene.d.ts.map +1 -1
- package/dist/phaser/core/scene_manager.d.ts.map +1 -1
- package/dist/phaser/core/signal.d.ts +7 -7
- package/dist/phaser/core/signal.d.ts.map +1 -1
- package/dist/phaser/core/signal_binding.d.ts +1 -1
- package/dist/phaser/core/signal_binding.d.ts.map +1 -1
- package/dist/phaser/core/sound.d.ts +3 -3
- package/dist/phaser/core/sound.d.ts.map +1 -1
- package/dist/phaser/core/sound_manager.d.ts +1 -1
- package/dist/phaser/core/sound_manager.d.ts.map +1 -1
- package/dist/phaser/core/sound_sprite.d.ts.map +1 -1
- package/dist/phaser/core/stage.d.ts.map +1 -1
- package/dist/phaser/core/time.d.ts.map +1 -1
- package/dist/phaser/core/timer.d.ts +5 -5
- 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 +1 -1
- package/dist/phaser/core/tween.d.ts.map +1 -1
- package/dist/phaser/core/tween_data.d.ts +1 -1
- 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 +1 -1
- package/dist/phaser/core/tween_manager.d.ts.map +1 -1
- package/dist/phaser/core/world.d.ts.map +1 -1
- package/dist/phaser/display/bitmap_text.d.ts +3 -3
- package/dist/phaser/display/bitmap_text.d.ts.map +1 -1
- package/dist/phaser/display/button.d.ts +12 -11
- 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 +3 -3
- package/dist/phaser/display/canvas/graphics.d.ts.map +1 -1
- package/dist/phaser/display/canvas/masker.d.ts.map +1 -1
- package/dist/phaser/display/canvas/pool.d.ts.map +1 -1
- package/dist/phaser/display/canvas/renderer.d.ts +2 -2
- package/dist/phaser/display/canvas/renderer.d.ts.map +1 -1
- package/dist/phaser/display/canvas/tinter.d.ts +1 -1
- package/dist/phaser/display/canvas/tinter.d.ts.map +1 -1
- package/dist/phaser/display/canvas/util.d.ts +1 -1
- package/dist/phaser/display/canvas/util.d.ts.map +1 -1
- package/dist/phaser/display/display_object.d.ts +12 -21
- package/dist/phaser/display/display_object.d.ts.map +1 -1
- package/dist/phaser/display/graphics.d.ts +1 -1
- 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 +3 -3
- package/dist/phaser/display/group.d.ts.map +1 -1
- package/dist/phaser/display/image.d.ts +8 -8
- package/dist/phaser/display/image.d.ts.map +1 -1
- package/dist/phaser/display/sprite_batch.d.ts.map +1 -1
- package/dist/phaser/display/sprite_util.d.ts +5 -5
- package/dist/phaser/display/sprite_util.d.ts.map +1 -1
- package/dist/phaser/display/text.d.ts +8 -7
- 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.map +1 -1
- package/dist/phaser/display/webgl/earcut.d.ts +5 -5
- 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 +3 -2
- package/dist/phaser/display/webgl/fast_sprite_batch.d.ts.map +1 -1
- package/dist/phaser/display/webgl/filter_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/filter_texture.d.ts.map +1 -1
- package/dist/phaser/display/webgl/graphics.d.ts +4 -3
- package/dist/phaser/display/webgl/graphics.d.ts.map +1 -1
- package/dist/phaser/display/webgl/graphics_data.d.ts.map +1 -1
- package/dist/phaser/display/webgl/mask_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/render_texture.d.ts +2 -2
- package/dist/phaser/display/webgl/render_texture.d.ts.map +1 -1
- package/dist/phaser/display/webgl/renderer.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/complex.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/fast.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/normal.d.ts +1 -1
- package/dist/phaser/display/webgl/shader/normal.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/primitive.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/strip.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader_manager.d.ts +2 -1
- package/dist/phaser/display/webgl/shader_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/sprite_batch.d.ts +2 -1
- package/dist/phaser/display/webgl/sprite_batch.d.ts.map +1 -1
- package/dist/phaser/display/webgl/stencil_manager.d.ts.map +1 -1
- 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 +8 -4
- package/dist/phaser/display/webgl/util.d.ts.map +1 -1
- package/dist/phaser/geom/circle.d.ts +1 -1
- package/dist/phaser/geom/circle.d.ts.map +1 -1
- package/dist/phaser/geom/ellipse.d.ts +1 -1
- package/dist/phaser/geom/ellipse.d.ts.map +1 -1
- package/dist/phaser/geom/line.d.ts +3 -3
- package/dist/phaser/geom/line.d.ts.map +1 -1
- package/dist/phaser/geom/matrix.d.ts +3 -3
- 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 +1 -1
- package/dist/phaser/geom/polygon.d.ts.map +1 -1
- package/dist/phaser/geom/rectangle.d.ts +2 -2
- 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 +3 -3
- package/dist/phaser/geom/util/circle.d.ts.map +1 -1
- package/dist/phaser/geom/util/ellipse.d.ts +1 -1
- package/dist/phaser/geom/util/ellipse.d.ts.map +1 -1
- package/dist/phaser/geom/util/line.d.ts +3 -3
- package/dist/phaser/geom/util/line.d.ts.map +1 -1
- package/dist/phaser/geom/util/matrix.d.ts +1 -1
- package/dist/phaser/geom/util/matrix.d.ts.map +1 -1
- package/dist/phaser/geom/util/point.d.ts +15 -15
- package/dist/phaser/geom/util/point.d.ts.map +1 -1
- package/dist/phaser/geom/util/polygon.d.ts +1 -1
- package/dist/phaser/geom/util/polygon.d.ts.map +1 -1
- package/dist/phaser/geom/util/rectangle.d.ts +5 -5
- package/dist/phaser/geom/util/rectangle.d.ts.map +1 -1
- package/dist/phaser/geom/util/rounded_rectangle.d.ts +1 -1
- package/dist/phaser/geom/util/rounded_rectangle.d.ts.map +1 -1
- package/dist/phaser/util/math.d.ts.map +1 -1
- package/package.json +15 -15
- package/src/index.ts +8 -0
- package/src/phaser/core/animation.ts +16 -8
- package/src/phaser/core/animation_manager.ts +11 -5
- package/src/phaser/core/cache.ts +9 -8
- package/src/phaser/core/device.ts +24 -24
- package/src/phaser/core/device_util.ts +4 -2
- package/src/phaser/core/dom.ts +2 -2
- package/src/phaser/core/factory.ts +3 -5
- package/src/phaser/core/game.ts +21 -34
- package/src/phaser/core/input.ts +9 -5
- package/src/phaser/core/input_handler.ts +22 -7
- package/src/phaser/core/input_mouse.ts +8 -84
- package/src/phaser/core/input_mspointer.ts +22 -18
- package/src/phaser/core/input_pointer.ts +48 -48
- package/src/phaser/core/input_touch.ts +7 -7
- package/src/phaser/core/loader.ts +46 -31
- package/src/phaser/core/loader_parser.ts +34 -8
- package/src/phaser/core/scale_manager.ts +5 -5
- package/src/phaser/core/scene.ts +5 -5
- package/src/phaser/core/signal.ts +15 -9
- package/src/phaser/core/signal_binding.ts +8 -1
- package/src/phaser/core/sound.ts +18 -21
- package/src/phaser/core/sound_manager.ts +3 -3
- package/src/phaser/core/sound_sprite.ts +7 -7
- package/src/phaser/core/stage.ts +6 -6
- package/src/phaser/core/time.ts +28 -28
- package/src/phaser/core/timer.ts +4 -4
- package/src/phaser/core/tween.ts +31 -9
- package/src/phaser/core/tween_data.ts +2 -2
- package/src/phaser/core/tween_manager.ts +7 -7
- package/src/phaser/display/bitmap_text.ts +6 -6
- package/src/phaser/display/button.ts +38 -19
- package/src/phaser/display/canvas/buffer.ts +4 -4
- package/src/phaser/display/canvas/renderer.ts +2 -2
- package/src/phaser/display/canvas/util.ts +21 -13
- package/src/phaser/display/display_object.ts +17 -31
- package/src/phaser/display/graphics.ts +9 -9
- package/src/phaser/display/graphics_data.ts +19 -11
- package/src/phaser/display/group.ts +8 -8
- package/src/phaser/display/image.ts +26 -20
- package/src/phaser/display/sprite_util.ts +16 -4
- package/src/phaser/display/text.ts +9 -9
- package/src/phaser/display/webgl/blend_manager.ts +2 -2
- package/src/phaser/display/webgl/earcut.ts +31 -6
- package/src/phaser/display/webgl/fast_sprite_batch.ts +19 -17
- package/src/phaser/display/webgl/filter_manager.ts +3 -3
- package/src/phaser/display/webgl/filter_texture.ts +4 -4
- package/src/phaser/display/webgl/graphics.ts +11 -3
- package/src/phaser/display/webgl/graphics_data.ts +9 -9
- package/src/phaser/display/webgl/render_texture.ts +9 -3
- package/src/phaser/display/webgl/shader/complex.ts +5 -5
- package/src/phaser/display/webgl/shader/fast.ts +6 -6
- package/src/phaser/display/webgl/shader/normal.ts +11 -11
- package/src/phaser/display/webgl/shader/primitive.ts +5 -5
- package/src/phaser/display/webgl/shader/strip.ts +5 -5
- package/src/phaser/display/webgl/shader_manager.ts +12 -11
- package/src/phaser/display/webgl/sprite_batch.ts +18 -17
- package/src/phaser/display/webgl/stencil_manager.ts +18 -6
- package/src/phaser/display/webgl/texture.ts +6 -1
- package/src/phaser/display/webgl/util.ts +17 -4
- package/src/phaser/geom/circle.ts +1 -1
- package/src/phaser/geom/ellipse.ts +1 -1
- package/src/phaser/geom/line.ts +2 -2
- package/src/phaser/geom/matrix.ts +3 -3
- package/src/phaser/geom/polygon.ts +1 -1
- package/src/phaser/geom/rectangle.ts +2 -2
- package/src/phaser/geom/util/circle.ts +8 -3
- package/src/phaser/geom/util/line.ts +9 -2
- package/src/phaser/geom/util/matrix.ts +1 -1
- package/src/phaser/geom/util/point.ts +23 -16
- package/src/phaser/geom/util/polygon.ts +1 -1
- package/src/phaser/geom/util/rectangle.ts +13 -6
- package/src/phaser/geom/util/rounded_rectangle.ts +1 -1
package/src/phaser/core/tween.ts
CHANGED
|
@@ -33,7 +33,11 @@ export class Tween {
|
|
|
33
33
|
* @param {import('./game.js').Game} game - Reference to the Phaser Game instance.
|
|
34
34
|
* @param {import('./tween_manager.js').TweenManager} manager - Reference to the Tween Manager.
|
|
35
35
|
*/
|
|
36
|
-
constructor(
|
|
36
|
+
constructor(
|
|
37
|
+
target: import('../display/display_object.js').DisplayObject,
|
|
38
|
+
game: import('./game.js').Game,
|
|
39
|
+
manager: import('./tween_manager.js').TweenManager
|
|
40
|
+
) {
|
|
37
41
|
this.game = game;
|
|
38
42
|
this.target = target;
|
|
39
43
|
/** @type {import('./tween_manager.js').TweenManager} */
|
|
@@ -87,7 +91,15 @@ export class Tween {
|
|
|
87
91
|
* @param {boolean} yoyo - Whether to reverse the tween on repeat.
|
|
88
92
|
* @returns {Tween} This Tween object for chaining.
|
|
89
93
|
*/
|
|
90
|
-
to(
|
|
94
|
+
to(
|
|
95
|
+
properties: any,
|
|
96
|
+
duration: number = 1000,
|
|
97
|
+
ease: string | Function = 'Linear',
|
|
98
|
+
autoStart: boolean = false,
|
|
99
|
+
delay: number = 0,
|
|
100
|
+
repeat: number = 0,
|
|
101
|
+
yoyo: boolean = false
|
|
102
|
+
) {
|
|
91
103
|
if (typeof ease === 'string' && this.manager.easeMap[ease]) {
|
|
92
104
|
ease = this.manager.easeMap[ease];
|
|
93
105
|
}
|
|
@@ -112,7 +124,15 @@ export class Tween {
|
|
|
112
124
|
* @param {boolean} yoyo - Whether to reverse the tween on repeat.
|
|
113
125
|
* @returns {Tween} This Tween object for chaining.
|
|
114
126
|
*/
|
|
115
|
-
from(
|
|
127
|
+
from(
|
|
128
|
+
properties: any,
|
|
129
|
+
duration: number = 1000,
|
|
130
|
+
ease: string | Function = 'Linear',
|
|
131
|
+
autoStart: boolean = false,
|
|
132
|
+
delay: number = 0,
|
|
133
|
+
repeat: number = 0,
|
|
134
|
+
yoyo: boolean = false
|
|
135
|
+
) {
|
|
116
136
|
if (typeof ease === 'string' && this.manager.easeMap[ease]) {
|
|
117
137
|
ease = this.manager.easeMap[ease];
|
|
118
138
|
}
|
|
@@ -142,7 +162,8 @@ export class Tween {
|
|
|
142
162
|
const keys = Object.keys(this.timeline[i].vEnd);
|
|
143
163
|
for (let k = 0; k < keys.length; k += 1) {
|
|
144
164
|
const property = keys[k];
|
|
145
|
-
|
|
165
|
+
const targetProperties = this.target as unknown as Record<string, number>;
|
|
166
|
+
this.properties[property] = targetProperties[property] || 0;
|
|
146
167
|
if (!Array.isArray(this.properties[property])) {
|
|
147
168
|
// Ensures we're using numbers, not strings
|
|
148
169
|
this.properties[property] *= 1;
|
|
@@ -194,11 +215,11 @@ export class Tween {
|
|
|
194
215
|
return this;
|
|
195
216
|
}
|
|
196
217
|
if (index === -1) {
|
|
197
|
-
for (
|
|
198
|
-
|
|
218
|
+
for (const timelineEntry of this.timeline) {
|
|
219
|
+
(timelineEntry as unknown as Record<string, unknown>)[property] = value;
|
|
199
220
|
}
|
|
200
221
|
} else {
|
|
201
|
-
this.timeline[index][property] = value;
|
|
222
|
+
(this.timeline[index] as unknown as Record<string, unknown>)[property] = value;
|
|
202
223
|
}
|
|
203
224
|
return this;
|
|
204
225
|
}
|
|
@@ -263,7 +284,7 @@ export class Tween {
|
|
|
263
284
|
* @param {number} index - The index in the timeline to apply easing to.
|
|
264
285
|
* @returns {Tween} This Tween object for chaining.
|
|
265
286
|
*/
|
|
266
|
-
easing(ease: string|Function, index: number) {
|
|
287
|
+
easing(ease: string | Function, index: number) {
|
|
267
288
|
if (typeof ease === 'string' && this.manager.easeMap[ease]) {
|
|
268
289
|
ease = this.manager.easeMap[ease];
|
|
269
290
|
}
|
|
@@ -474,7 +495,8 @@ export class Tween {
|
|
|
474
495
|
const keys = Object.keys(this.timeline[i].vEnd);
|
|
475
496
|
for (let k = 0; k < keys.length; k += 1) {
|
|
476
497
|
const property = keys[k];
|
|
477
|
-
|
|
498
|
+
const targetProperties = this.target as unknown as Record<string, number>;
|
|
499
|
+
this.properties[property] = targetProperties[property] || 0;
|
|
478
500
|
if (!Array.isArray(this.properties[property])) {
|
|
479
501
|
// Ensures we're using numbers, not strings
|
|
480
502
|
this.properties[property] *= 1;
|
|
@@ -51,7 +51,7 @@ export class TweenData {
|
|
|
51
51
|
this.delay = 0;
|
|
52
52
|
this.dt = 0;
|
|
53
53
|
this.startTime = null;
|
|
54
|
-
this.easingFunction = (k) => k;
|
|
54
|
+
this.easingFunction = (k: number) => k;
|
|
55
55
|
this.interpolationFunction = MathUtils.linearInterpolation;
|
|
56
56
|
this.interpolationContext = MathUtils;
|
|
57
57
|
this.isRunning = false;
|
|
@@ -236,7 +236,7 @@ export class TweenData {
|
|
|
236
236
|
}
|
|
237
237
|
this.percent = this.dt / this.duration;
|
|
238
238
|
this.value = this.easingFunction(this.percent);
|
|
239
|
-
const blob = {};
|
|
239
|
+
const blob: Record<string, number> = {};
|
|
240
240
|
const keys = Object.keys(this.vEnd);
|
|
241
241
|
for (let k = 0; k < keys.length; k += 1) {
|
|
242
242
|
const property = keys[k];
|
|
@@ -35,10 +35,10 @@ import {
|
|
|
35
35
|
} from './tween_easing.js';
|
|
36
36
|
|
|
37
37
|
export class TweenManager {
|
|
38
|
-
game!: any;
|
|
39
|
-
_tweens!: any;
|
|
40
|
-
_add!: any;
|
|
41
|
-
easeMap!: any;
|
|
38
|
+
game!: any;
|
|
39
|
+
_tweens!: any;
|
|
40
|
+
_add!: any;
|
|
41
|
+
easeMap!: any;
|
|
42
42
|
/**
|
|
43
43
|
* Creates a new TweenManager instance.
|
|
44
44
|
* @param {import('./game.js').Game} game - The game instance this manager belongs to.
|
|
@@ -122,7 +122,7 @@ easeMap!: any;
|
|
|
122
122
|
* @param {object} obj - The object to remove tweens from.
|
|
123
123
|
* @param {object[]} children - Optional array of child objects to remove tweens from.
|
|
124
124
|
*/
|
|
125
|
-
removeFrom(obj: any, children: any[] = null) {
|
|
125
|
+
removeFrom(obj: any, children: any[] | null = null) {
|
|
126
126
|
let i;
|
|
127
127
|
let len;
|
|
128
128
|
if (Array.isArray(obj)) {
|
|
@@ -214,7 +214,7 @@ easeMap!: any;
|
|
|
214
214
|
* @returns {boolean} True if the object is being tweened, false otherwise.
|
|
215
215
|
*/
|
|
216
216
|
isTweening(object: any) {
|
|
217
|
-
return this._tweens.some((tween) => tween.target === object);
|
|
217
|
+
return this._tweens.some((tween: Tween) => tween.target === object);
|
|
218
218
|
}
|
|
219
219
|
|
|
220
220
|
/**
|
|
@@ -256,4 +256,4 @@ easeMap!: any;
|
|
|
256
256
|
this._tweens[i].resume(true);
|
|
257
257
|
}
|
|
258
258
|
}
|
|
259
|
-
}
|
|
259
|
+
}
|
|
@@ -70,7 +70,7 @@ export class BitmapText extends DisplayObject {
|
|
|
70
70
|
/**
|
|
71
71
|
* Destroys this bitmap text and cleans up resources.
|
|
72
72
|
*/
|
|
73
|
-
destroy() {
|
|
73
|
+
override destroy() {
|
|
74
74
|
this._prevAnchor = null;
|
|
75
75
|
this._glyphs = null;
|
|
76
76
|
this._text = null;
|
|
@@ -81,13 +81,13 @@ export class BitmapText extends DisplayObject {
|
|
|
81
81
|
/**
|
|
82
82
|
* Called before the update cycle for this bitmap text.
|
|
83
83
|
*/
|
|
84
|
-
preUpdate() {
|
|
84
|
+
override preUpdate() {
|
|
85
85
|
if (this.pendingDestroy) {
|
|
86
86
|
this.destroy();
|
|
87
87
|
return;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
if (!this.exists || !this.parent
|
|
90
|
+
if (!this.exists || !this.parent?.exists) {
|
|
91
91
|
this.renderOrderID = -1;
|
|
92
92
|
return;
|
|
93
93
|
}
|
|
@@ -299,7 +299,7 @@ export class BitmapText extends DisplayObject {
|
|
|
299
299
|
/**
|
|
300
300
|
* Updates the transform of this bitmap text, updating its text if needed.
|
|
301
301
|
*/
|
|
302
|
-
updateTransform(): this {
|
|
302
|
+
override updateTransform(): this {
|
|
303
303
|
if (this.dirty || !this.anchor.equals(this._prevAnchor)) {
|
|
304
304
|
this.updateText();
|
|
305
305
|
this.dirty = false;
|
|
@@ -312,10 +312,10 @@ export class BitmapText extends DisplayObject {
|
|
|
312
312
|
/**
|
|
313
313
|
* Adds a color to a specific position in the text.
|
|
314
314
|
* @param {string} value - The color to apply (in hex format or CSS color name).
|
|
315
|
-
* @param {number}
|
|
315
|
+
* @param {number} _position - The character position to apply the color to.
|
|
316
316
|
* @returns {BitmapText} This bitmap text instance for chaining.
|
|
317
317
|
*/
|
|
318
|
-
addColor(value: string,
|
|
318
|
+
addColor(value: string, _position: number) {
|
|
319
319
|
const color = typeof value === 'string' ? Number.parseInt(value.replace('#', ''), 16) : value;
|
|
320
320
|
if (color !== this._tint) {
|
|
321
321
|
this._tint = color;
|
|
@@ -10,6 +10,7 @@ const STATE_UP = 'Up';
|
|
|
10
10
|
const STATE_DISABLED = 'Disabled';
|
|
11
11
|
|
|
12
12
|
export class Button extends Image {
|
|
13
|
+
[key: `_on${string}Frame`]: string | null;
|
|
13
14
|
_onOverFrame!: string | null;
|
|
14
15
|
_onOutFrame!: string | null;
|
|
15
16
|
_onDownFrame!: string | null;
|
|
@@ -38,7 +39,19 @@ export class Button extends Image {
|
|
|
38
39
|
* @param {string} upFrame - The frame identifier to use when the button is released.
|
|
39
40
|
* @param {string} disabledFrame - The frame identifier to use when the button is disabled.
|
|
40
41
|
*/
|
|
41
|
-
constructor(
|
|
42
|
+
constructor(
|
|
43
|
+
game: import('../core/game.js').Game,
|
|
44
|
+
x: number = 0,
|
|
45
|
+
y: number = 0,
|
|
46
|
+
key: string | null = null,
|
|
47
|
+
callback: Function | null = null,
|
|
48
|
+
callbackContext: any | null = null,
|
|
49
|
+
overFrame: string | null = null,
|
|
50
|
+
outFrame: string | null = null,
|
|
51
|
+
downFrame: string | null = null,
|
|
52
|
+
upFrame: string | null = null,
|
|
53
|
+
disabledFrame: string | null = null
|
|
54
|
+
) {
|
|
42
55
|
super(game, x, y, key, outFrame);
|
|
43
56
|
this.type = BUTTON;
|
|
44
57
|
this._onOverFrame = null;
|
|
@@ -71,7 +84,7 @@ export class Button extends Image {
|
|
|
71
84
|
/**
|
|
72
85
|
* Destroys this button and cleans up resources.
|
|
73
86
|
*/
|
|
74
|
-
destroy() {
|
|
87
|
+
override destroy() {
|
|
75
88
|
this._onOverFrame = null;
|
|
76
89
|
this._onOutFrame = null;
|
|
77
90
|
this._onDownFrame = null;
|
|
@@ -83,14 +96,14 @@ export class Button extends Image {
|
|
|
83
96
|
this.onInputDown.dispose();
|
|
84
97
|
this.onInputUp.dispose();
|
|
85
98
|
}
|
|
86
|
-
this.onInputOver = null
|
|
87
|
-
this.onInputOut = null
|
|
88
|
-
this.onInputDown = null
|
|
89
|
-
this.onInputUp = null
|
|
99
|
+
this.onInputOver = null!;
|
|
100
|
+
this.onInputOut = null!;
|
|
101
|
+
this.onInputDown = null!;
|
|
102
|
+
this.onInputUp = null!;
|
|
90
103
|
if (this.input) {
|
|
91
104
|
this.input.destroy();
|
|
92
105
|
}
|
|
93
|
-
this.input = null
|
|
106
|
+
this.input = null!;
|
|
94
107
|
super.destroy();
|
|
95
108
|
}
|
|
96
109
|
|
|
@@ -130,8 +143,8 @@ export class Button extends Image {
|
|
|
130
143
|
* @param {string} frame - The frame identifier to set for this state.
|
|
131
144
|
* @param {boolean} switchImmediately - Whether to switch to the new frame immediately (default: false).
|
|
132
145
|
*/
|
|
133
|
-
setStateFrame(state: string, frame: string, switchImmediately: boolean = false) {
|
|
134
|
-
const frameKey = `_on${state}Frame`;
|
|
146
|
+
setStateFrame(state: string, frame: string | null, switchImmediately: boolean = false) {
|
|
147
|
+
const frameKey: `_on${string}Frame` = `_on${state}Frame`;
|
|
135
148
|
if (frame) {
|
|
136
149
|
this[frameKey] = frame;
|
|
137
150
|
if (switchImmediately) {
|
|
@@ -152,7 +165,7 @@ export class Button extends Image {
|
|
|
152
165
|
return false;
|
|
153
166
|
}
|
|
154
167
|
const state = this.input.enabled || !this._onDisabledFrame ? newState : STATE_DISABLED;
|
|
155
|
-
const frameKey = `_on${state}Frame`;
|
|
168
|
+
const frameKey: `_on${string}Frame` = `_on${state}Frame`;
|
|
156
169
|
const frame = this[frameKey];
|
|
157
170
|
if (typeof frame === 'string') {
|
|
158
171
|
this.frameName = frame;
|
|
@@ -172,7 +185,13 @@ export class Button extends Image {
|
|
|
172
185
|
* @param {string} upFrame - The frame identifier to use when the button is released.
|
|
173
186
|
* @param {string} disabledFrame - The frame identifier to use when the button is disabled.
|
|
174
187
|
*/
|
|
175
|
-
setFrames(
|
|
188
|
+
setFrames(
|
|
189
|
+
overFrame: string | null,
|
|
190
|
+
outFrame: string | null,
|
|
191
|
+
downFrame: string | null,
|
|
192
|
+
upFrame: string | null,
|
|
193
|
+
disabledFrame: string | null = null
|
|
194
|
+
) {
|
|
176
195
|
this.setStateFrame(STATE_OVER, overFrame, this.input.pointerOver());
|
|
177
196
|
this.setStateFrame(STATE_OUT, outFrame, !this.input.pointerOver());
|
|
178
197
|
this.setStateFrame(STATE_DOWN, downFrame, this.input.pointerDown());
|
|
@@ -184,10 +203,10 @@ export class Button extends Image {
|
|
|
184
203
|
|
|
185
204
|
/**
|
|
186
205
|
* Handles the input over event for this button.
|
|
187
|
-
* @param {object}
|
|
206
|
+
* @param {object} _sprite - The sprite that triggered the event.
|
|
188
207
|
* @param {object} pointer - The pointer that triggered the event.
|
|
189
208
|
*/
|
|
190
|
-
onInputOverHandler(
|
|
209
|
+
onInputOverHandler(_sprite: any, pointer: any) {
|
|
191
210
|
if (pointer.justReleased() && (this.justReleasedPreventsOver & pointer.pointerMode) === pointer.pointerMode) {
|
|
192
211
|
// If the Pointer was only just released then we don't fire an over event
|
|
193
212
|
return;
|
|
@@ -203,10 +222,10 @@ export class Button extends Image {
|
|
|
203
222
|
|
|
204
223
|
/**
|
|
205
224
|
* Handles the input out event for this button.
|
|
206
|
-
* @param {object}
|
|
225
|
+
* @param {object} _sprite - The sprite that triggered the event.
|
|
207
226
|
* @param {object} pointer - The pointer that triggered the event.
|
|
208
227
|
*/
|
|
209
|
-
onInputOutHandler(
|
|
228
|
+
onInputOutHandler(_sprite: any, pointer: any) {
|
|
210
229
|
this.changeStateFrame(STATE_OUT);
|
|
211
230
|
if (this.onInputOut) {
|
|
212
231
|
this.onInputOut.dispatch(this, pointer);
|
|
@@ -215,10 +234,10 @@ export class Button extends Image {
|
|
|
215
234
|
|
|
216
235
|
/**
|
|
217
236
|
* Handles the input down event for this button.
|
|
218
|
-
* @param {object}
|
|
237
|
+
* @param {object} _sprite - The sprite that triggered the event.
|
|
219
238
|
* @param {object} pointer - The pointer that triggered the event.
|
|
220
239
|
*/
|
|
221
|
-
onInputDownHandler(
|
|
240
|
+
onInputDownHandler(_sprite: any, pointer: any) {
|
|
222
241
|
this.changeStateFrame(STATE_DOWN);
|
|
223
242
|
if (this.onInputDown) {
|
|
224
243
|
this.onInputDown.dispatch(this, pointer);
|
|
@@ -227,11 +246,11 @@ export class Button extends Image {
|
|
|
227
246
|
|
|
228
247
|
/**
|
|
229
248
|
* Handles the input up event for this button.
|
|
230
|
-
* @param {object}
|
|
249
|
+
* @param {object} _sprite - The sprite that triggered the event.
|
|
231
250
|
* @param {object} pointer - The pointer that triggered the event.
|
|
232
251
|
* @param {boolean} isOver - Whether the pointer is currently over the button (default: true).
|
|
233
252
|
*/
|
|
234
|
-
onInputUpHandler(
|
|
253
|
+
onInputUpHandler(_sprite: any, pointer: any, isOver: boolean) {
|
|
235
254
|
if (this.onInputUp) {
|
|
236
255
|
this.onInputUp.dispatch(this, pointer, isOver);
|
|
237
256
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { create, removeByCanvas } from './pool.js';
|
|
2
2
|
|
|
3
3
|
export class CanvasBuffer {
|
|
4
|
-
width!: any;
|
|
5
|
-
height!: any;
|
|
6
|
-
canvas!: any;
|
|
7
|
-
context!: any;
|
|
4
|
+
width!: any;
|
|
5
|
+
height!: any;
|
|
6
|
+
canvas!: any;
|
|
7
|
+
context!: any;
|
|
8
8
|
/**
|
|
9
9
|
* Creates a new CanvasBuffer instance.
|
|
10
10
|
* @param {number} width - The width of the canvas buffer.
|
|
@@ -41,7 +41,7 @@ export class CanvasRenderer {
|
|
|
41
41
|
renderSession!: any;
|
|
42
42
|
/**
|
|
43
43
|
* Creates a new CanvasRenderer instance.
|
|
44
|
-
* @param {import('../../core/game.js').Game}
|
|
44
|
+
* @param {import('../../core/game.js').Game} _game - The game instance.
|
|
45
45
|
*/
|
|
46
46
|
constructor(game: import('../../core/game.js').Game) {
|
|
47
47
|
detectCapabilities(game);
|
|
@@ -176,7 +176,7 @@ export class CanvasRenderer {
|
|
|
176
176
|
* Initializes the WebGL context for rendering.
|
|
177
177
|
* @param {import('../../core/game.js').Game} game - The game instance.
|
|
178
178
|
*/
|
|
179
|
-
initContext(
|
|
179
|
+
initContext(_game: import('../../core/game.js').Game) {
|
|
180
180
|
// stub
|
|
181
181
|
}
|
|
182
182
|
}
|
|
@@ -42,10 +42,8 @@ export const setBackgroundColor = (canvas: HTMLCanvasElement, color: string) =>
|
|
|
42
42
|
*/
|
|
43
43
|
export const setTouchAction = (canvas: HTMLCanvasElement, value: string = 'none') => {
|
|
44
44
|
value = value || 'none';
|
|
45
|
-
|
|
46
|
-
canvas.style.
|
|
47
|
-
canvas.style['ms-touch-action'] = value;
|
|
48
|
-
canvas.style['touch-action'] = value;
|
|
45
|
+
canvas.style.setProperty('-ms-touch-action', value);
|
|
46
|
+
canvas.style.setProperty('touch-action', value);
|
|
49
47
|
return canvas;
|
|
50
48
|
};
|
|
51
49
|
|
|
@@ -57,13 +55,13 @@ export const setTouchAction = (canvas: HTMLCanvasElement, value: string = 'none'
|
|
|
57
55
|
*/
|
|
58
56
|
export const setUserSelect = (canvas: HTMLCanvasElement, value: string = 'none') => {
|
|
59
57
|
value = value || 'none';
|
|
60
|
-
canvas.style
|
|
61
|
-
canvas.style
|
|
62
|
-
canvas.style
|
|
63
|
-
canvas.style
|
|
64
|
-
canvas.style
|
|
65
|
-
canvas.style
|
|
66
|
-
canvas.style
|
|
58
|
+
canvas.style.setProperty('-webkit-touch-callout', value);
|
|
59
|
+
canvas.style.setProperty('-webkit-user-select', value);
|
|
60
|
+
canvas.style.setProperty('-khtml-user-select', value);
|
|
61
|
+
canvas.style.setProperty('-moz-user-select', value);
|
|
62
|
+
canvas.style.setProperty('-ms-user-select', value);
|
|
63
|
+
canvas.style.setProperty('user-select', value);
|
|
64
|
+
canvas.style.setProperty('-webkit-tap-highlight-color', 'rgba(0, 0, 0, 0)');
|
|
67
65
|
return canvas;
|
|
68
66
|
};
|
|
69
67
|
|
|
@@ -117,7 +115,15 @@ export const removeFromDOM = (canvas: HTMLCanvasElement) => {
|
|
|
117
115
|
* @param {number} skewY - The Y skew value.
|
|
118
116
|
* @returns {CanvasRenderingContext2D} The modified rendering context.
|
|
119
117
|
*/
|
|
120
|
-
export const setTransform = (
|
|
118
|
+
export const setTransform = (
|
|
119
|
+
context: CanvasRenderingContext2D,
|
|
120
|
+
translateX: number,
|
|
121
|
+
translateY: number,
|
|
122
|
+
scaleX: number,
|
|
123
|
+
scaleY: number,
|
|
124
|
+
skewX: number,
|
|
125
|
+
skewY: number
|
|
126
|
+
) => {
|
|
121
127
|
context.setTransform(scaleX, skewX, skewY, scaleY, translateX, translateY);
|
|
122
128
|
return context;
|
|
123
129
|
};
|
|
@@ -129,9 +135,11 @@ export const setTransform = (context: CanvasRenderingContext2D, translateX: numb
|
|
|
129
135
|
*/
|
|
130
136
|
export const getSmoothingPrefix = (context: CanvasRenderingContext2D) => {
|
|
131
137
|
const VENDORS = ['i', 'webkitI', 'msI', 'mozI', 'oI'];
|
|
138
|
+
// the vendor-prefixed smoothing flags predate the standard property and are absent from lib.dom
|
|
139
|
+
const smoothingFlags = context as unknown as Record<string, boolean | undefined>;
|
|
132
140
|
for (let i = 0; i < VENDORS.length; i += 1) {
|
|
133
141
|
const s = `${VENDORS[i]}mageSmoothingEnabled`;
|
|
134
|
-
if (context &&
|
|
142
|
+
if (context && smoothingFlags[s]) {
|
|
135
143
|
return s;
|
|
136
144
|
}
|
|
137
145
|
}
|
|
@@ -20,36 +20,27 @@ export class DisplayObject {
|
|
|
20
20
|
rotation = 0;
|
|
21
21
|
/** @type {number} */
|
|
22
22
|
alpha = 1;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
/** @type {DisplayObject} */
|
|
26
|
-
parent = null;
|
|
23
|
+
hitArea: Rectangle | null = null;
|
|
24
|
+
parent: DisplayObject | null = null;
|
|
27
25
|
/** @type {number} */
|
|
28
26
|
worldAlpha = 1;
|
|
29
27
|
worldTransform!: Matrix;
|
|
30
28
|
worldScale!: Point;
|
|
31
|
-
|
|
32
|
-
filterArea = null;
|
|
29
|
+
filterArea: Rectangle | null = null;
|
|
33
30
|
/** @type {number} */
|
|
34
31
|
_sr = 0;
|
|
35
32
|
/** @type {number} */
|
|
36
33
|
_cr = 1;
|
|
37
34
|
cachedBounds!: Rectangle;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
/** @type {object[]} */
|
|
43
|
-
_filters = null;
|
|
44
|
-
/** @type {object} */
|
|
45
|
-
_filterBlock = null;
|
|
35
|
+
currentBounds: Rectangle | null = null;
|
|
36
|
+
_mask: import('./graphics.js').Graphics | null = null;
|
|
37
|
+
_filters: object[] | null = null;
|
|
38
|
+
_filterBlock: object | null = null;
|
|
46
39
|
children!: any[];
|
|
47
40
|
/** @type {boolean} */
|
|
48
41
|
ignoreChildInput = false;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
/** @type {object | null} */
|
|
52
|
-
data = null;
|
|
42
|
+
name: string | null = null;
|
|
43
|
+
data: object | null = null;
|
|
53
44
|
game!: import('../core/game.js').Game;
|
|
54
45
|
type!: number;
|
|
55
46
|
_cachedSprite!: any;
|
|
@@ -135,7 +126,7 @@ export class DisplayObject {
|
|
|
135
126
|
this.children[i].destroy();
|
|
136
127
|
}
|
|
137
128
|
}
|
|
138
|
-
this.children = null
|
|
129
|
+
this.children = null!;
|
|
139
130
|
this.exists = false;
|
|
140
131
|
this.renderable = false;
|
|
141
132
|
this.visible = false;
|
|
@@ -148,11 +139,11 @@ export class DisplayObject {
|
|
|
148
139
|
*/
|
|
149
140
|
this.hitArea = null;
|
|
150
141
|
this.parent = null;
|
|
151
|
-
this.worldTransform = null
|
|
142
|
+
this.worldTransform = null!;
|
|
152
143
|
// This.worldPosition = null;
|
|
153
|
-
this.worldScale = null
|
|
144
|
+
this.worldScale = null!;
|
|
154
145
|
this.filterArea = null;
|
|
155
|
-
this.cachedBounds = null
|
|
146
|
+
this.cachedBounds = null!;
|
|
156
147
|
this.currentBounds = null;
|
|
157
148
|
this._mask = null;
|
|
158
149
|
this.destroyCachedSprite();
|
|
@@ -319,12 +310,7 @@ export class DisplayObject {
|
|
|
319
310
|
if (!this.game || !this.visible) {
|
|
320
311
|
return this;
|
|
321
312
|
}
|
|
322
|
-
|
|
323
|
-
if (parent) {
|
|
324
|
-
p = parent;
|
|
325
|
-
} else if (!this.parent) {
|
|
326
|
-
p = this.game.world;
|
|
327
|
-
}
|
|
313
|
+
const p = parent ?? this.parent ?? this.game.world;
|
|
328
314
|
// Create some matrix refs for easy access
|
|
329
315
|
const pt = p.worldTransform;
|
|
330
316
|
const wt = this.worldTransform;
|
|
@@ -510,7 +496,7 @@ export class DisplayObject {
|
|
|
510
496
|
* @param {DisplayObject} child - The child display object to check.
|
|
511
497
|
* @returns {boolean} True if the child is contained within this container, false otherwise.
|
|
512
498
|
*/
|
|
513
|
-
contains(child: DisplayObject) {
|
|
499
|
+
contains(child: DisplayObject | null): boolean {
|
|
514
500
|
if (!child) {
|
|
515
501
|
return false;
|
|
516
502
|
}
|
|
@@ -778,13 +764,13 @@ export class DisplayObject {
|
|
|
778
764
|
* Sets the mask for this display object.
|
|
779
765
|
* @param {import('./graphics.js').Graphics} value - The mask object to set, or null to remove the mask.
|
|
780
766
|
*/
|
|
781
|
-
set mask(value: import('./graphics.js').Graphics) {
|
|
767
|
+
set mask(value: import('./graphics.js').Graphics | null) {
|
|
782
768
|
if (this._mask) {
|
|
783
769
|
this._mask.isMask = false;
|
|
784
770
|
}
|
|
785
771
|
this._mask = value;
|
|
786
772
|
if (value) {
|
|
787
|
-
|
|
773
|
+
value.isMask = true;
|
|
788
774
|
}
|
|
789
775
|
}
|
|
790
776
|
|
|
@@ -98,7 +98,7 @@ export class Graphics extends DisplayObject {
|
|
|
98
98
|
/**
|
|
99
99
|
* Destroys the graphics object and clears all data.
|
|
100
100
|
*/
|
|
101
|
-
destroy() {
|
|
101
|
+
override destroy() {
|
|
102
102
|
// TODO
|
|
103
103
|
this.clear();
|
|
104
104
|
super.destroy();
|
|
@@ -478,7 +478,7 @@ export class Graphics extends DisplayObject {
|
|
|
478
478
|
/**
|
|
479
479
|
* Generates a texture from the graphics object (not implemented).
|
|
480
480
|
*/
|
|
481
|
-
generateTexture() {
|
|
481
|
+
override generateTexture() {
|
|
482
482
|
// TODO
|
|
483
483
|
this.game.logger.warn('graphics.generateTexture() is not implemented');
|
|
484
484
|
}
|
|
@@ -487,7 +487,7 @@ export class Graphics extends DisplayObject {
|
|
|
487
487
|
* Renders the graphics object using WebGL.
|
|
488
488
|
* @param {object} renderSession - The render session to use.
|
|
489
489
|
*/
|
|
490
|
-
renderWebGL(renderSession: any) {
|
|
490
|
+
override renderWebGL(renderSession: any) {
|
|
491
491
|
// if the sprite is not visible or the alpha is 0 then no need to render this element
|
|
492
492
|
if (this.visible === false || this.alpha === 0 || this.isMask === true) {
|
|
493
493
|
return;
|
|
@@ -547,7 +547,7 @@ export class Graphics extends DisplayObject {
|
|
|
547
547
|
* Renders the graphics object using Canvas.
|
|
548
548
|
* @param {object} renderSession - The render session to use.
|
|
549
549
|
*/
|
|
550
|
-
renderCanvas(renderSession: any) {
|
|
550
|
+
override renderCanvas(renderSession: any) {
|
|
551
551
|
// if the sprite is not visible or the alpha is 0 then no need to render this element
|
|
552
552
|
if (this.visible === false || this.alpha === 0 || this.isMask === true) {
|
|
553
553
|
return;
|
|
@@ -604,7 +604,7 @@ export class Graphics extends DisplayObject {
|
|
|
604
604
|
* @param {import('../geom/matrix.js').Matrix} matrix - The transformation matrix to use.
|
|
605
605
|
* @returns {Rectangle} The bounds rectangle of the graphics object.
|
|
606
606
|
*/
|
|
607
|
-
getBounds(matrix: import('../geom/matrix.js').Matrix = null) {
|
|
607
|
+
override getBounds(matrix: import('../geom/matrix.js').Matrix | null = null) {
|
|
608
608
|
if (!this.renderable) {
|
|
609
609
|
return getEmptyRectangle();
|
|
610
610
|
}
|
|
@@ -664,7 +664,7 @@ export class Graphics extends DisplayObject {
|
|
|
664
664
|
* Gets the local bounds of the graphics object.
|
|
665
665
|
* @returns {Rectangle} The local bounds rectangle of the graphics object.
|
|
666
666
|
*/
|
|
667
|
-
getLocalBounds() {
|
|
667
|
+
override getLocalBounds() {
|
|
668
668
|
const matrixCache = this.worldTransform;
|
|
669
669
|
this.worldTransform = getIdentityMatrix();
|
|
670
670
|
for (let i = 0; i < this.children.length; i += 1) {
|
|
@@ -782,7 +782,7 @@ export class Graphics extends DisplayObject {
|
|
|
782
782
|
/**
|
|
783
783
|
* Generates a cached sprite representation of the graphics object.
|
|
784
784
|
*/
|
|
785
|
-
generateCachedSprite() {
|
|
785
|
+
override generateCachedSprite() {
|
|
786
786
|
const bounds = this.getLocalBounds();
|
|
787
787
|
if (!this._cachedSprite) {
|
|
788
788
|
const canvasBuffer = new CanvasBuffer(bounds.width, bounds.height);
|
|
@@ -827,7 +827,7 @@ export class Graphics extends DisplayObject {
|
|
|
827
827
|
/**
|
|
828
828
|
* Destroys the cached sprite.
|
|
829
829
|
*/
|
|
830
|
-
destroyCachedSprite() {
|
|
830
|
+
override destroyCachedSprite() {
|
|
831
831
|
if (!this._cachedSprite) {
|
|
832
832
|
return;
|
|
833
833
|
}
|
|
@@ -875,7 +875,7 @@ export class Graphics extends DisplayObject {
|
|
|
875
875
|
/**
|
|
876
876
|
* Performs post-update operations for the graphics object.
|
|
877
877
|
*/
|
|
878
|
-
postUpdate() {
|
|
878
|
+
override postUpdate() {
|
|
879
879
|
if (this._boundsDirty) {
|
|
880
880
|
this.updateLocalBounds();
|
|
881
881
|
this._boundsDirty = false;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { clone } from './graphics_data_util.js';
|
|
2
2
|
|
|
3
3
|
export class GraphicsData {
|
|
4
|
-
lineWidth!: any;
|
|
5
|
-
lineColor!: any;
|
|
6
|
-
lineAlpha!: any;
|
|
7
|
-
_lineTint!: any;
|
|
8
|
-
fillColor!: any;
|
|
9
|
-
fillAlpha!: any;
|
|
10
|
-
_fillTint!: any;
|
|
11
|
-
fill!: any;
|
|
12
|
-
shape!: any;
|
|
13
|
-
type!: any;
|
|
4
|
+
lineWidth!: any;
|
|
5
|
+
lineColor!: any;
|
|
6
|
+
lineAlpha!: any;
|
|
7
|
+
_lineTint!: any;
|
|
8
|
+
fillColor!: any;
|
|
9
|
+
fillAlpha!: any;
|
|
10
|
+
_fillTint!: any;
|
|
11
|
+
fill!: any;
|
|
12
|
+
shape!: any;
|
|
13
|
+
type!: any;
|
|
14
14
|
/**
|
|
15
15
|
* Creates a new GraphicsData object.
|
|
16
16
|
* @param {number} lineWidth - The line width.
|
|
@@ -21,7 +21,15 @@ type!: any;
|
|
|
21
21
|
* @param {boolean} fill - Whether to fill the shape.
|
|
22
22
|
* @param {object} shape - The shape to draw.
|
|
23
23
|
*/
|
|
24
|
-
constructor(
|
|
24
|
+
constructor(
|
|
25
|
+
lineWidth: number,
|
|
26
|
+
lineColor: number,
|
|
27
|
+
lineAlpha: number,
|
|
28
|
+
fillColor: number,
|
|
29
|
+
fillAlpha: number,
|
|
30
|
+
fill: boolean,
|
|
31
|
+
shape: any
|
|
32
|
+
) {
|
|
25
33
|
this.lineWidth = lineWidth;
|
|
26
34
|
this.lineColor = lineColor;
|
|
27
35
|
this.lineAlpha = lineAlpha;
|