@vpmedia/phaser 1.115.0 → 1.117.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 +56 -96
- package/dist/index.js.map +1 -1
- package/dist/phaser/core/animation.d.ts.map +1 -1
- package/dist/phaser/core/animation_manager.d.ts +15 -14
- package/dist/phaser/core/animation_manager.d.ts.map +1 -1
- 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 +10 -9
- package/dist/phaser/core/cache.d.ts.map +1 -1
- package/dist/phaser/core/device_util.d.ts.map +1 -1
- package/dist/phaser/core/dom.d.ts.map +1 -1
- package/dist/phaser/core/factory.d.ts.map +1 -1
- package/dist/phaser/core/game.d.ts.map +1 -1
- package/dist/phaser/core/input.d.ts +20 -20
- package/dist/phaser/core/input.d.ts.map +1 -1
- package/dist/phaser/core/input_handler.d.ts +11 -13
- package/dist/phaser/core/input_handler.d.ts.map +1 -1
- package/dist/phaser/core/input_mouse.d.ts.map +1 -1
- package/dist/phaser/core/input_mspointer.d.ts.map +1 -1
- package/dist/phaser/core/input_pointer.d.ts +19 -8
- package/dist/phaser/core/input_pointer.d.ts.map +1 -1
- package/dist/phaser/core/input_touch.d.ts.map +1 -1
- package/dist/phaser/core/loader.d.ts.map +1 -1
- package/dist/phaser/core/raf.d.ts.map +1 -1
- package/dist/phaser/core/scale_manager.d.ts +38 -13
- package/dist/phaser/core/scale_manager.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/phaser/core/signal_binding.d.ts.map +1 -1
- package/dist/phaser/core/sound.d.ts +2 -2
- package/dist/phaser/core/sound.d.ts.map +1 -1
- package/dist/phaser/core/sound_manager.d.ts +24 -22
- 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 +1 -1
- package/dist/phaser/core/timer.d.ts.map +1 -1
- package/dist/phaser/core/tween.d.ts.map +1 -1
- package/dist/phaser/core/tween_data.d.ts +26 -26
- package/dist/phaser/core/tween_data.d.ts.map +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.map +1 -1
- 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.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.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.map +1 -1
- package/dist/phaser/display/display_object.d.ts.map +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.map +1 -1
- package/dist/phaser/display/image.d.ts +2 -2
- package/dist/phaser/display/image.d.ts.map +1 -1
- package/dist/phaser/display/sprite_util.d.ts.map +1 -1
- 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 +12 -10
- 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.map +1 -1
- package/dist/phaser/display/webgl/fast_sprite_batch.d.ts +13 -12
- 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 +9 -7
- 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.map +1 -1
- package/dist/phaser/display/webgl/renderer.d.ts +12 -10
- package/dist/phaser/display/webgl/renderer.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/normal.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader_manager.d.ts.map +1 -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 +18 -33
- 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.map +1 -1
- package/dist/phaser/geom/ellipse.d.ts.map +1 -1
- package/dist/phaser/geom/line.d.ts.map +1 -1
- package/dist/phaser/geom/matrix.d.ts +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.map +1 -1
- package/dist/phaser/geom/util/line.d.ts +5 -4
- package/dist/phaser/geom/util/line.d.ts.map +1 -1
- 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/polygon.d.ts.map +1 -1
- package/dist/phaser/geom/util/rectangle.d.ts +10 -1
- package/dist/phaser/geom/util/rectangle.d.ts.map +1 -1
- package/dist/phaser/geom/util/rounded_rectangle.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/phaser/core/animation.ts +20 -20
- package/src/phaser/core/animation_manager.ts +27 -24
- package/src/phaser/core/animation_parser.ts +2 -2
- package/src/phaser/core/array_set.ts +7 -7
- package/src/phaser/core/cache.ts +55 -51
- package/src/phaser/core/callback_context.test.ts +70 -0
- package/src/phaser/core/device_util.ts +13 -13
- package/src/phaser/core/dom.ts +26 -22
- package/src/phaser/core/factory.ts +6 -6
- package/src/phaser/core/game.ts +10 -10
- package/src/phaser/core/input.ts +37 -39
- package/src/phaser/core/input_handler.ts +90 -93
- package/src/phaser/core/input_mouse.ts +19 -19
- package/src/phaser/core/input_mspointer.ts +15 -15
- package/src/phaser/core/input_pointer.ts +37 -28
- package/src/phaser/core/input_touch.ts +17 -17
- package/src/phaser/core/loader.ts +52 -52
- package/src/phaser/core/loader_parser.ts +3 -3
- package/src/phaser/core/raf.ts +3 -3
- package/src/phaser/core/scale_manager.ts +86 -67
- package/src/phaser/core/scene.ts +7 -7
- package/src/phaser/core/scene_manager.ts +16 -16
- package/src/phaser/core/signal.ts +29 -19
- package/src/phaser/core/signal_binding.ts +4 -4
- package/src/phaser/core/sound.ts +17 -17
- package/src/phaser/core/sound_manager.ts +71 -72
- package/src/phaser/core/sound_sprite.ts +1 -1
- package/src/phaser/core/stage.ts +7 -7
- package/src/phaser/core/time.ts +16 -16
- package/src/phaser/core/timer.ts +36 -26
- package/src/phaser/core/tween.ts +23 -23
- package/src/phaser/core/tween_data.ts +41 -37
- package/src/phaser/core/tween_manager.ts +11 -11
- package/src/phaser/core/world.ts +1 -1
- package/src/phaser/display/bitmap_text.ts +13 -13
- package/src/phaser/display/button.ts +13 -13
- package/src/phaser/display/canvas/buffer.ts +3 -3
- package/src/phaser/display/canvas/graphics.ts +3 -3
- package/src/phaser/display/canvas/masker.ts +2 -2
- package/src/phaser/display/canvas/pool.ts +6 -6
- package/src/phaser/display/canvas/renderer.ts +6 -6
- package/src/phaser/display/canvas/tinter.ts +39 -8
- package/src/phaser/display/canvas/util.ts +15 -9
- package/src/phaser/display/display_object.ts +38 -38
- package/src/phaser/display/graphics.ts +30 -30
- package/src/phaser/display/graphics_data.ts +1 -1
- package/src/phaser/display/graphics_data_util.ts +1 -1
- package/src/phaser/display/group.ts +16 -16
- package/src/phaser/display/image.ts +30 -26
- package/src/phaser/display/sprite_util.ts +12 -4
- package/src/phaser/display/text.ts +55 -55
- package/src/phaser/display/webgl/abstract_filter.ts +1 -1
- package/src/phaser/display/webgl/base_texture.ts +22 -18
- package/src/phaser/display/webgl/blend_manager.ts +3 -3
- package/src/phaser/display/webgl/earcut.ts +3 -3
- package/src/phaser/display/webgl/fast_sprite_batch.ts +26 -24
- package/src/phaser/display/webgl/filter_manager.ts +7 -7
- package/src/phaser/display/webgl/filter_texture.ts +3 -3
- package/src/phaser/display/webgl/graphics.ts +43 -41
- package/src/phaser/display/webgl/graphics_data.ts +2 -2
- package/src/phaser/display/webgl/mask_manager.ts +2 -2
- package/src/phaser/display/webgl/render_texture.ts +6 -6
- package/src/phaser/display/webgl/renderer.ts +20 -25
- package/src/phaser/display/webgl/shader/normal.ts +3 -3
- package/src/phaser/display/webgl/shader_manager.ts +2 -2
- package/src/phaser/display/webgl/sprite_batch.ts +9 -9
- package/src/phaser/display/webgl/stencil_manager.ts +4 -4
- package/src/phaser/display/webgl/texture.ts +23 -42
- package/src/phaser/display/webgl/texture_util.ts +2 -2
- package/src/phaser/display/webgl/util.ts +11 -7
- package/src/phaser/geom/circle.ts +21 -21
- package/src/phaser/geom/ellipse.ts +7 -7
- package/src/phaser/geom/line.ts +29 -29
- package/src/phaser/geom/matrix.ts +13 -13
- package/src/phaser/geom/point.ts +36 -30
- package/src/phaser/geom/polygon.ts +6 -6
- package/src/phaser/geom/rectangle.ts +42 -42
- package/src/phaser/geom/rounded_rectangle.ts +2 -2
- package/src/phaser/geom/util/circle.ts +7 -7
- package/src/phaser/geom/util/ellipse.ts +1 -1
- package/src/phaser/geom/util/line.ts +13 -5
- package/src/phaser/geom/util/matrix.ts +3 -3
- package/src/phaser/geom/util/point.ts +20 -20
- package/src/phaser/geom/util/polygon.ts +1 -1
- package/src/phaser/geom/util/rectangle.ts +34 -17
- package/src/phaser/geom/util/rounded_rectangle.ts +1 -1
|
@@ -61,7 +61,7 @@ export class Mouse {
|
|
|
61
61
|
/**
|
|
62
62
|
* TBD.
|
|
63
63
|
*/
|
|
64
|
-
public start() {
|
|
64
|
+
public start(): void {
|
|
65
65
|
if (this.game.device.android && !this.game.device.chrome) {
|
|
66
66
|
// Android stock browser fires mouse events even if you preventDefault on the touchStart, so ...
|
|
67
67
|
return;
|
|
@@ -71,28 +71,28 @@ export class Mouse {
|
|
|
71
71
|
return;
|
|
72
72
|
}
|
|
73
73
|
const scope = this;
|
|
74
|
-
this._onMouseDown = (event) => {
|
|
74
|
+
this._onMouseDown = (event): void => {
|
|
75
75
|
scope.onMouseDown(event);
|
|
76
76
|
};
|
|
77
|
-
this._onMouseMove = (event) => {
|
|
77
|
+
this._onMouseMove = (event): void => {
|
|
78
78
|
scope.onMouseMove(event);
|
|
79
79
|
};
|
|
80
|
-
this._onMouseUp = (event) => {
|
|
80
|
+
this._onMouseUp = (event): void => {
|
|
81
81
|
scope.onMouseUp(event);
|
|
82
82
|
};
|
|
83
|
-
this._onMouseUpGlobal = (event) => {
|
|
83
|
+
this._onMouseUpGlobal = (event): void => {
|
|
84
84
|
scope.onMouseUpGlobal(event);
|
|
85
85
|
};
|
|
86
|
-
this._onMouseOutGlobal = (event) => {
|
|
86
|
+
this._onMouseOutGlobal = (event): void => {
|
|
87
87
|
scope.onMouseOutGlobal(event);
|
|
88
88
|
};
|
|
89
|
-
this._onMouseOut = (event) => {
|
|
89
|
+
this._onMouseOut = (event): void => {
|
|
90
90
|
scope.onMouseOut(event);
|
|
91
91
|
};
|
|
92
|
-
this._onMouseOver = (event) => {
|
|
92
|
+
this._onMouseOver = (event): void => {
|
|
93
93
|
scope.onMouseOver(event);
|
|
94
94
|
};
|
|
95
|
-
this._onMouseWheel = (event) => {
|
|
95
|
+
this._onMouseWheel = (event): void => {
|
|
96
96
|
scope.onMouseWheel(event);
|
|
97
97
|
};
|
|
98
98
|
const { canvas } = this.game;
|
|
@@ -112,7 +112,7 @@ export class Mouse {
|
|
|
112
112
|
/**
|
|
113
113
|
* TBD.
|
|
114
114
|
*/
|
|
115
|
-
public stop() {
|
|
115
|
+
public stop(): void {
|
|
116
116
|
const { canvas } = this.game;
|
|
117
117
|
if (this._onMouseDown) {
|
|
118
118
|
canvas.removeEventListener('mousedown', this._onMouseDown, true);
|
|
@@ -147,7 +147,7 @@ export class Mouse {
|
|
|
147
147
|
* TBD.
|
|
148
148
|
* @param {MouseEvent} event - TBD.
|
|
149
149
|
*/
|
|
150
|
-
public onMouseDown(event: InputEvent) {
|
|
150
|
+
public onMouseDown(event: InputEvent): void {
|
|
151
151
|
this.event = event;
|
|
152
152
|
this.eventPreventDefault(event);
|
|
153
153
|
if (this.mouseDownCallback) {
|
|
@@ -164,7 +164,7 @@ export class Mouse {
|
|
|
164
164
|
* TBD.
|
|
165
165
|
* @param {MouseEvent} event - TBD.
|
|
166
166
|
*/
|
|
167
|
-
public onMouseMove(event: InputEvent) {
|
|
167
|
+
public onMouseMove(event: InputEvent): void {
|
|
168
168
|
this.event = event;
|
|
169
169
|
this.eventPreventDefault(event);
|
|
170
170
|
if (this.mouseMoveCallback) {
|
|
@@ -181,7 +181,7 @@ export class Mouse {
|
|
|
181
181
|
* TBD.
|
|
182
182
|
* @param {MouseEvent} event - TBD.
|
|
183
183
|
*/
|
|
184
|
-
public onMouseUp(event: InputEvent) {
|
|
184
|
+
public onMouseUp(event: InputEvent): void {
|
|
185
185
|
this.event = event;
|
|
186
186
|
this.eventPreventDefault(event);
|
|
187
187
|
if (this.mouseUpCallback) {
|
|
@@ -198,7 +198,7 @@ export class Mouse {
|
|
|
198
198
|
* TBD.
|
|
199
199
|
* @param {MouseEvent} event - TBD.
|
|
200
200
|
*/
|
|
201
|
-
public onMouseUpGlobal(event: InputEvent) {
|
|
201
|
+
public onMouseUpGlobal(event: InputEvent): void {
|
|
202
202
|
if (!this.input.mousePointer.withinGame) {
|
|
203
203
|
if (this.mouseUpCallback) {
|
|
204
204
|
this.mouseUpCallback.call(this.callbackContext, event);
|
|
@@ -212,7 +212,7 @@ export class Mouse {
|
|
|
212
212
|
* TBD.
|
|
213
213
|
* @param {MouseEvent} event - TBD.
|
|
214
214
|
*/
|
|
215
|
-
public onMouseOutGlobal(event: InputEvent) {
|
|
215
|
+
public onMouseOutGlobal(event: InputEvent): void {
|
|
216
216
|
this.event = event;
|
|
217
217
|
this.eventPreventDefault(event);
|
|
218
218
|
this.input.mousePointer.withinGame = false;
|
|
@@ -231,7 +231,7 @@ export class Mouse {
|
|
|
231
231
|
* TBD.
|
|
232
232
|
* @param {MouseEvent} event - TBD.
|
|
233
233
|
*/
|
|
234
|
-
public onMouseOut(event: InputEvent) {
|
|
234
|
+
public onMouseOut(event: InputEvent): void {
|
|
235
235
|
this.event = event;
|
|
236
236
|
this.eventPreventDefault(event);
|
|
237
237
|
this.input.mousePointer.withinGame = false;
|
|
@@ -251,7 +251,7 @@ export class Mouse {
|
|
|
251
251
|
* TBD.
|
|
252
252
|
* @param {MouseEvent} event - TBD.
|
|
253
253
|
*/
|
|
254
|
-
public onMouseOver(event: InputEvent) {
|
|
254
|
+
public onMouseOver(event: InputEvent): void {
|
|
255
255
|
this.event = event;
|
|
256
256
|
this.eventPreventDefault(event);
|
|
257
257
|
this.input.mousePointer.withinGame = true;
|
|
@@ -264,7 +264,7 @@ export class Mouse {
|
|
|
264
264
|
* TBD.
|
|
265
265
|
* @param {WheelEvent} event - TBD.
|
|
266
266
|
*/
|
|
267
|
-
public onMouseWheel(event: InputEvent) {
|
|
267
|
+
public onMouseWheel(event: InputEvent): void {
|
|
268
268
|
if (this._wheelEvent) {
|
|
269
269
|
event = this._wheelEvent.bindEvent(event);
|
|
270
270
|
}
|
|
@@ -281,7 +281,7 @@ export class Mouse {
|
|
|
281
281
|
* TBD.
|
|
282
282
|
* @param {MouseEvent} event - TBD.
|
|
283
283
|
*/
|
|
284
|
-
public eventPreventDefault(event: Event) {
|
|
284
|
+
public eventPreventDefault(event: Event): void {
|
|
285
285
|
if (this.capture) {
|
|
286
286
|
if (typeof event.cancelable !== 'boolean' || event.cancelable) {
|
|
287
287
|
event.preventDefault();
|
|
@@ -43,27 +43,27 @@ export class MSPointer {
|
|
|
43
43
|
/**
|
|
44
44
|
* TBD.
|
|
45
45
|
*/
|
|
46
|
-
public start() {
|
|
46
|
+
public start(): void {
|
|
47
47
|
if (!this.game.device.mspointer || this._onMSPointerDown !== null) {
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
50
|
const scope = this;
|
|
51
|
-
this._onMSPointerDown = (event) => {
|
|
51
|
+
this._onMSPointerDown = (event): void => {
|
|
52
52
|
scope.onPointerDown(event);
|
|
53
53
|
};
|
|
54
|
-
this._onMSPointerMove = (event) => {
|
|
54
|
+
this._onMSPointerMove = (event): void => {
|
|
55
55
|
scope.onPointerMove(event);
|
|
56
56
|
};
|
|
57
|
-
this._onMSPointerUp = (event) => {
|
|
57
|
+
this._onMSPointerUp = (event): void => {
|
|
58
58
|
scope.onPointerUp(event);
|
|
59
59
|
};
|
|
60
|
-
this._onMSPointerUpGlobal = (event) => {
|
|
60
|
+
this._onMSPointerUpGlobal = (event): void => {
|
|
61
61
|
scope.onPointerUpGlobal(event);
|
|
62
62
|
};
|
|
63
|
-
this._onMSPointerOut = (event) => {
|
|
63
|
+
this._onMSPointerOut = (event): void => {
|
|
64
64
|
scope.onPointerOut(event);
|
|
65
65
|
};
|
|
66
|
-
this._onMSPointerOver = (event) => {
|
|
66
|
+
this._onMSPointerOver = (event): void => {
|
|
67
67
|
scope.onPointerOver(event);
|
|
68
68
|
};
|
|
69
69
|
const { canvas } = this.game;
|
|
@@ -88,7 +88,7 @@ export class MSPointer {
|
|
|
88
88
|
/**
|
|
89
89
|
* TBD.
|
|
90
90
|
*/
|
|
91
|
-
public stop() {
|
|
91
|
+
public stop(): void {
|
|
92
92
|
if (!this.game.device.mspointer) {
|
|
93
93
|
return;
|
|
94
94
|
}
|
|
@@ -141,7 +141,7 @@ export class MSPointer {
|
|
|
141
141
|
* TBD.
|
|
142
142
|
* @param {PointerEvent} event - TBD.
|
|
143
143
|
*/
|
|
144
|
-
public onPointerDown(event: InputEvent) {
|
|
144
|
+
public onPointerDown(event: InputEvent): void {
|
|
145
145
|
this.event = event;
|
|
146
146
|
this.eventPreventDefault(event);
|
|
147
147
|
if (this.pointerDownCallback) {
|
|
@@ -162,7 +162,7 @@ export class MSPointer {
|
|
|
162
162
|
* TBD.
|
|
163
163
|
* @param {PointerEvent} event - TBD.
|
|
164
164
|
*/
|
|
165
|
-
public onPointerMove(event: InputEvent) {
|
|
165
|
+
public onPointerMove(event: InputEvent): void {
|
|
166
166
|
this.event = event;
|
|
167
167
|
this.eventPreventDefault(event);
|
|
168
168
|
if (this.pointerMoveCallback) {
|
|
@@ -183,7 +183,7 @@ export class MSPointer {
|
|
|
183
183
|
* TBD.
|
|
184
184
|
* @param {PointerEvent} event - TBD.
|
|
185
185
|
*/
|
|
186
|
-
public onPointerUp(event: InputEvent) {
|
|
186
|
+
public onPointerUp(event: InputEvent): void {
|
|
187
187
|
this.event = event;
|
|
188
188
|
this.eventPreventDefault(event);
|
|
189
189
|
if (this.pointerUpCallback) {
|
|
@@ -204,7 +204,7 @@ export class MSPointer {
|
|
|
204
204
|
* TBD.
|
|
205
205
|
* @param {PointerEvent} event - TBD.
|
|
206
206
|
*/
|
|
207
|
-
public onPointerUpGlobal(event: InputEvent) {
|
|
207
|
+
public onPointerUpGlobal(event: InputEvent): void {
|
|
208
208
|
if ((event.pointerType === 'mouse' || event.pointerType === 0x00000004) && !this.input.mousePointer.withinGame) {
|
|
209
209
|
this.onPointerUp(event);
|
|
210
210
|
} else {
|
|
@@ -219,7 +219,7 @@ export class MSPointer {
|
|
|
219
219
|
* TBD.
|
|
220
220
|
* @param {PointerEvent} event - TBD.
|
|
221
221
|
*/
|
|
222
|
-
public onPointerOut(event: InputEvent) {
|
|
222
|
+
public onPointerOut(event: InputEvent): void {
|
|
223
223
|
this.event = event;
|
|
224
224
|
this.eventPreventDefault(event);
|
|
225
225
|
let pointer;
|
|
@@ -251,7 +251,7 @@ export class MSPointer {
|
|
|
251
251
|
* TBD.
|
|
252
252
|
* @param {PointerEvent} event - TBD.
|
|
253
253
|
*/
|
|
254
|
-
public onPointerOver(event: InputEvent) {
|
|
254
|
+
public onPointerOver(event: InputEvent): void {
|
|
255
255
|
this.event = event;
|
|
256
256
|
this.eventPreventDefault(event);
|
|
257
257
|
if (event.pointerType === 'mouse' || event.pointerType === 0x00000004) {
|
|
@@ -271,7 +271,7 @@ export class MSPointer {
|
|
|
271
271
|
* TBD.
|
|
272
272
|
* @param {Event} event - TBD.
|
|
273
273
|
*/
|
|
274
|
-
public eventPreventDefault(event: Event) {
|
|
274
|
+
public eventPreventDefault(event: Event): void {
|
|
275
275
|
if (this.capture) {
|
|
276
276
|
if (typeof event.cancelable !== 'boolean' || event.cancelable) {
|
|
277
277
|
event.preventDefault();
|
|
@@ -12,18 +12,27 @@ import {
|
|
|
12
12
|
TOUCH_OVERRIDES_MOUSE,
|
|
13
13
|
} from './const.js';
|
|
14
14
|
|
|
15
|
+
/** A callback deferred until the click that triggered it has finished dispatching. */
|
|
16
|
+
export type ClickTrampoline = {
|
|
17
|
+
name: string;
|
|
18
|
+
targetObject: InputHandler | null;
|
|
19
|
+
callback: Function;
|
|
20
|
+
callbackContext: unknown;
|
|
21
|
+
callbackArgs: unknown[];
|
|
22
|
+
};
|
|
23
|
+
|
|
15
24
|
export class Pointer {
|
|
16
25
|
public game!: Game;
|
|
17
26
|
public id!: number;
|
|
18
27
|
public type!: number;
|
|
19
28
|
public exists!: boolean;
|
|
20
29
|
public identifier!: number | null;
|
|
21
|
-
public pointerId!:
|
|
30
|
+
public pointerId!: number | null;
|
|
22
31
|
public pointerMode!: number;
|
|
23
32
|
public target!: EventTarget | null;
|
|
24
|
-
public button!:
|
|
33
|
+
public button!: number | null;
|
|
25
34
|
public _holdSent!: boolean;
|
|
26
|
-
public _history!:
|
|
35
|
+
public _history!: { x: number; y: number }[];
|
|
27
36
|
public _nextDrop!: number;
|
|
28
37
|
public _stateReset!: boolean;
|
|
29
38
|
public withinGame!: boolean;
|
|
@@ -47,16 +56,16 @@ export class Pointer {
|
|
|
47
56
|
public previousTapTime!: number;
|
|
48
57
|
public totalTouches!: number;
|
|
49
58
|
public msSinceLastClick!: number;
|
|
50
|
-
public targetObject!:
|
|
51
|
-
public interactiveCandidates!:
|
|
59
|
+
public targetObject!: InputHandler | null;
|
|
60
|
+
public interactiveCandidates!: InputHandler[];
|
|
52
61
|
public active!: boolean;
|
|
53
62
|
public dirty!: boolean;
|
|
54
63
|
public position!: Point;
|
|
55
64
|
public positionDown!: Point;
|
|
56
65
|
public positionUp!: Point;
|
|
57
66
|
public circle!: Circle;
|
|
58
|
-
public _clickTrampolines!:
|
|
59
|
-
public _trampolineTargetObject!:
|
|
67
|
+
public _clickTrampolines!: ClickTrampoline[] | null;
|
|
68
|
+
public _trampolineTargetObject!: InputHandler | null;
|
|
60
69
|
/**
|
|
61
70
|
* TBD.
|
|
62
71
|
* @param {Game} game - TBD.
|
|
@@ -113,7 +122,7 @@ export class Pointer {
|
|
|
113
122
|
/**
|
|
114
123
|
* TBD.
|
|
115
124
|
*/
|
|
116
|
-
public resetButtons() {
|
|
125
|
+
public resetButtons(): void {
|
|
117
126
|
this.isDown = false;
|
|
118
127
|
this.isUp = true;
|
|
119
128
|
}
|
|
@@ -122,7 +131,7 @@ export class Pointer {
|
|
|
122
131
|
* TBD.
|
|
123
132
|
* @param {MouseEvent|PointerEvent} event - TBD.
|
|
124
133
|
*/
|
|
125
|
-
public updateButtons(event: InputEvent) {
|
|
134
|
+
public updateButtons(event: InputEvent): void {
|
|
126
135
|
if (event.type.toLowerCase().endsWith('down')) {
|
|
127
136
|
this.isUp = false;
|
|
128
137
|
this.isDown = true;
|
|
@@ -137,7 +146,7 @@ export class Pointer {
|
|
|
137
146
|
* @param {PointerEvent} event - TBD.
|
|
138
147
|
* @returns {Pointer} TBD.
|
|
139
148
|
*/
|
|
140
|
-
public start(event: InputEvent) {
|
|
149
|
+
public start(event: InputEvent): this {
|
|
141
150
|
const { input } = this.game;
|
|
142
151
|
if (event.pointerId) {
|
|
143
152
|
this.pointerId = event.pointerId;
|
|
@@ -186,7 +195,7 @@ export class Pointer {
|
|
|
186
195
|
/**
|
|
187
196
|
* TBD.
|
|
188
197
|
*/
|
|
189
|
-
public update() {
|
|
198
|
+
public update(): void {
|
|
190
199
|
const { input } = this.game;
|
|
191
200
|
if (this.active) {
|
|
192
201
|
// Force a check?
|
|
@@ -226,7 +235,7 @@ export class Pointer {
|
|
|
226
235
|
* @param {boolean} fromClick - TBD.
|
|
227
236
|
* @returns {Pointer} TBD.
|
|
228
237
|
*/
|
|
229
|
-
public move(event: InputEvent, fromClick = false) {
|
|
238
|
+
public move(event: InputEvent, fromClick = false): this | null {
|
|
230
239
|
const { input } = this.game;
|
|
231
240
|
if (input.pollLocked) {
|
|
232
241
|
return null;
|
|
@@ -275,8 +284,8 @@ export class Pointer {
|
|
|
275
284
|
moveCallback.callback.call(moveCallback.context, this, this.x, this.y, fromClick);
|
|
276
285
|
}
|
|
277
286
|
// Easy out if we're dragging something and it still exists
|
|
278
|
-
if (this.targetObject !== null && this.targetObject.isDragged
|
|
279
|
-
if (this.targetObject.update(this)
|
|
287
|
+
if (this.targetObject !== null && this.targetObject.isDragged) {
|
|
288
|
+
if (!this.targetObject.update(this)) {
|
|
280
289
|
this.targetObject = null;
|
|
281
290
|
}
|
|
282
291
|
} else if (input.interactiveItems.total > 0) {
|
|
@@ -290,7 +299,7 @@ export class Pointer {
|
|
|
290
299
|
* @param {boolean} fromClick - TBD.
|
|
291
300
|
* @returns {boolean} TBD.
|
|
292
301
|
*/
|
|
293
|
-
public processInteractiveObjects(fromClick = false) {
|
|
302
|
+
public processInteractiveObjects(fromClick = false): boolean {
|
|
294
303
|
// Work out which object is on the top
|
|
295
304
|
let highestRenderOrderID = 0;
|
|
296
305
|
let highestInputPriorityID = -1;
|
|
@@ -352,7 +361,7 @@ export class Pointer {
|
|
|
352
361
|
* @param {InputHandler} newTarget - TBD.
|
|
353
362
|
* @param {boolean} silent - TBD.
|
|
354
363
|
*/
|
|
355
|
-
public swapTarget(newTarget: InputHandler, silent = false) {
|
|
364
|
+
public swapTarget(newTarget: InputHandler, silent = false): void {
|
|
356
365
|
// Now we know the top-most item (if any) we can process it
|
|
357
366
|
if (newTarget === null) {
|
|
358
367
|
// The pointer isn't currently over anything, check if we've got a lingering previous target
|
|
@@ -383,7 +392,7 @@ export class Pointer {
|
|
|
383
392
|
* TBD.
|
|
384
393
|
* @param {MouseEvent|PointerEvent} event - TBD.
|
|
385
394
|
*/
|
|
386
|
-
public leave(event: InputEvent) {
|
|
395
|
+
public leave(event: InputEvent): void {
|
|
387
396
|
this.withinGame = false;
|
|
388
397
|
this.move(event, false);
|
|
389
398
|
}
|
|
@@ -393,7 +402,7 @@ export class Pointer {
|
|
|
393
402
|
* @param {MouseEvent|PointerEvent} event - TBD.
|
|
394
403
|
* @returns {Pointer} TBD.
|
|
395
404
|
*/
|
|
396
|
-
public stop(event: InputEvent) {
|
|
405
|
+
public stop(event: InputEvent): this | null {
|
|
397
406
|
const { input } = this.game;
|
|
398
407
|
if (this._stateReset && this.withinGame) {
|
|
399
408
|
event.preventDefault();
|
|
@@ -446,7 +455,7 @@ export class Pointer {
|
|
|
446
455
|
* @param {number} duration - TBD.
|
|
447
456
|
* @returns {boolean} TBD.
|
|
448
457
|
*/
|
|
449
|
-
public justPressed(duration: number) {
|
|
458
|
+
public justPressed(duration: number): boolean {
|
|
450
459
|
duration = duration || this.game.input.justPressedRate;
|
|
451
460
|
return this.isDown && this.timeDown + duration > this.game.time.time;
|
|
452
461
|
}
|
|
@@ -456,7 +465,7 @@ export class Pointer {
|
|
|
456
465
|
* @param {number} duration - TBD.
|
|
457
466
|
* @returns {boolean} TBD.
|
|
458
467
|
*/
|
|
459
|
-
public justReleased(duration: number) {
|
|
468
|
+
public justReleased(duration: number): boolean {
|
|
460
469
|
duration = duration || this.game.input.justReleasedRate;
|
|
461
470
|
return this.isUp && this.timeUp + duration > this.game.time.time;
|
|
462
471
|
}
|
|
@@ -468,14 +477,14 @@ export class Pointer {
|
|
|
468
477
|
* @param {object} callbackContext - TBD.
|
|
469
478
|
* @param {...any} callbackArgs - TBD.
|
|
470
479
|
*/
|
|
471
|
-
public addClickTrampoline(name: string, callback: Function, callbackContext: unknown, callbackArgs:
|
|
480
|
+
public addClickTrampoline(name: string, callback: Function, callbackContext: unknown, callbackArgs: unknown[]): void {
|
|
472
481
|
if (!this.isDown) {
|
|
473
482
|
return;
|
|
474
483
|
}
|
|
475
484
|
this._clickTrampolines = this._clickTrampolines ?? [];
|
|
476
485
|
const trampolines = this._clickTrampolines;
|
|
477
486
|
for (let i = 0; i < trampolines.length; i += 1) {
|
|
478
|
-
if (trampolines[i]
|
|
487
|
+
if (trampolines[i]!.name === name) {
|
|
479
488
|
trampolines.splice(i, 1);
|
|
480
489
|
break;
|
|
481
490
|
}
|
|
@@ -492,7 +501,7 @@ export class Pointer {
|
|
|
492
501
|
/**
|
|
493
502
|
* TBD.
|
|
494
503
|
*/
|
|
495
|
-
public processClickTrampolines() {
|
|
504
|
+
public processClickTrampolines(): void {
|
|
496
505
|
const trampolines = this._clickTrampolines;
|
|
497
506
|
if (!trampolines) {
|
|
498
507
|
return;
|
|
@@ -509,7 +518,7 @@ export class Pointer {
|
|
|
509
518
|
/**
|
|
510
519
|
* TBD.
|
|
511
520
|
*/
|
|
512
|
-
public reset() {
|
|
521
|
+
public reset(): void {
|
|
513
522
|
if (!this.isMouse) {
|
|
514
523
|
this.active = false;
|
|
515
524
|
}
|
|
@@ -530,7 +539,7 @@ export class Pointer {
|
|
|
530
539
|
/**
|
|
531
540
|
* TBD.
|
|
532
541
|
*/
|
|
533
|
-
public resetMovement() {
|
|
542
|
+
public resetMovement(): void {
|
|
534
543
|
this.movementX = 0;
|
|
535
544
|
this.movementY = 0;
|
|
536
545
|
}
|
|
@@ -539,7 +548,7 @@ export class Pointer {
|
|
|
539
548
|
* TBD.
|
|
540
549
|
* @returns {number} TBD.
|
|
541
550
|
*/
|
|
542
|
-
public get duration() {
|
|
551
|
+
public get duration(): number {
|
|
543
552
|
if (this.isUp) {
|
|
544
553
|
return -1;
|
|
545
554
|
}
|
|
@@ -550,7 +559,7 @@ export class Pointer {
|
|
|
550
559
|
* TBD.
|
|
551
560
|
* @returns {number} TBD.
|
|
552
561
|
*/
|
|
553
|
-
public get worldX() {
|
|
562
|
+
public get worldX(): number {
|
|
554
563
|
return this.x;
|
|
555
564
|
}
|
|
556
565
|
|
|
@@ -558,7 +567,7 @@ export class Pointer {
|
|
|
558
567
|
* TBD.
|
|
559
568
|
* @returns {number} TBD.
|
|
560
569
|
*/
|
|
561
|
-
public get worldY() {
|
|
570
|
+
public get worldY(): number {
|
|
562
571
|
return this.y;
|
|
563
572
|
}
|
|
564
573
|
}
|
|
@@ -47,27 +47,27 @@ export class Touch {
|
|
|
47
47
|
/**
|
|
48
48
|
* TBD.
|
|
49
49
|
*/
|
|
50
|
-
public start() {
|
|
50
|
+
public start(): void {
|
|
51
51
|
if (!this.game.device.touch || this._onTouchStart !== null) {
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
54
|
const scope = this;
|
|
55
|
-
this._onTouchStart = (event) => {
|
|
55
|
+
this._onTouchStart = (event): void => {
|
|
56
56
|
scope.onTouchStart(event);
|
|
57
57
|
};
|
|
58
|
-
this._onTouchMove = (event) => {
|
|
58
|
+
this._onTouchMove = (event): void => {
|
|
59
59
|
scope.onTouchMove(event);
|
|
60
60
|
};
|
|
61
|
-
this._onTouchEnd = (event) => {
|
|
61
|
+
this._onTouchEnd = (event): void => {
|
|
62
62
|
scope.onTouchEnd(event);
|
|
63
63
|
};
|
|
64
|
-
this._onTouchEnter = (event) => {
|
|
64
|
+
this._onTouchEnter = (event): void => {
|
|
65
65
|
scope.onTouchEnter(event);
|
|
66
66
|
};
|
|
67
|
-
this._onTouchLeave = (event) => {
|
|
67
|
+
this._onTouchLeave = (event): void => {
|
|
68
68
|
scope.onTouchLeave(event);
|
|
69
69
|
};
|
|
70
|
-
this._onTouchCancel = (event) => {
|
|
70
|
+
this._onTouchCancel = (event): void => {
|
|
71
71
|
scope.onTouchCancel(event);
|
|
72
72
|
};
|
|
73
73
|
this.game.canvas.addEventListener('touchstart', this._onTouchStart, false);
|
|
@@ -81,7 +81,7 @@ export class Touch {
|
|
|
81
81
|
/**
|
|
82
82
|
* TBD.
|
|
83
83
|
*/
|
|
84
|
-
public stop() {
|
|
84
|
+
public stop(): void {
|
|
85
85
|
if (!this.game.device.touch) {
|
|
86
86
|
return;
|
|
87
87
|
}
|
|
@@ -108,8 +108,8 @@ export class Touch {
|
|
|
108
108
|
/**
|
|
109
109
|
* TBD.
|
|
110
110
|
*/
|
|
111
|
-
public consumeDocumentTouches() {
|
|
112
|
-
this._documentTouchMove = (event) => {
|
|
111
|
+
public consumeDocumentTouches(): void {
|
|
112
|
+
this._documentTouchMove = (event): void => {
|
|
113
113
|
event.preventDefault();
|
|
114
114
|
};
|
|
115
115
|
document.addEventListener('touchmove', this._documentTouchMove, false);
|
|
@@ -119,7 +119,7 @@ export class Touch {
|
|
|
119
119
|
* TBD.
|
|
120
120
|
* @param {TouchEvent} event - TBD.
|
|
121
121
|
*/
|
|
122
|
-
public onTouchStart(event: InputEvent) {
|
|
122
|
+
public onTouchStart(event: InputEvent): void {
|
|
123
123
|
this.event = event;
|
|
124
124
|
if (!this.game.input.enabled || !this.enabled) {
|
|
125
125
|
return;
|
|
@@ -141,7 +141,7 @@ export class Touch {
|
|
|
141
141
|
* TBD.
|
|
142
142
|
* @param {TouchEvent} event - TBD.
|
|
143
143
|
*/
|
|
144
|
-
public onTouchCancel(event: InputEvent) {
|
|
144
|
+
public onTouchCancel(event: InputEvent): void {
|
|
145
145
|
this.event = event;
|
|
146
146
|
if (this.touchCancelCallback) {
|
|
147
147
|
this.touchCancelCallback.call(this.callbackContext, event);
|
|
@@ -162,7 +162,7 @@ export class Touch {
|
|
|
162
162
|
* TBD.
|
|
163
163
|
* @param {TouchEvent} event - TBD.
|
|
164
164
|
*/
|
|
165
|
-
public onTouchEnter(event: InputEvent) {
|
|
165
|
+
public onTouchEnter(event: InputEvent): void {
|
|
166
166
|
this.event = event;
|
|
167
167
|
if (this.touchEnterCallback) {
|
|
168
168
|
this.touchEnterCallback.call(this.callbackContext, event);
|
|
@@ -177,7 +177,7 @@ export class Touch {
|
|
|
177
177
|
* TBD.
|
|
178
178
|
* @param {TouchEvent} event - TBD.
|
|
179
179
|
*/
|
|
180
|
-
public onTouchLeave(event: InputEvent) {
|
|
180
|
+
public onTouchLeave(event: InputEvent): void {
|
|
181
181
|
this.event = event;
|
|
182
182
|
if (this.touchLeaveCallback) {
|
|
183
183
|
this.touchLeaveCallback.call(this.callbackContext, event);
|
|
@@ -189,7 +189,7 @@ export class Touch {
|
|
|
189
189
|
* TBD.
|
|
190
190
|
* @param {TouchEvent} event - TBD.
|
|
191
191
|
*/
|
|
192
|
-
public onTouchMove(event: InputEvent) {
|
|
192
|
+
public onTouchMove(event: InputEvent): void {
|
|
193
193
|
this.event = event;
|
|
194
194
|
if (this.touchMoveCallback) {
|
|
195
195
|
this.touchMoveCallback.call(this.callbackContext, event);
|
|
@@ -205,7 +205,7 @@ export class Touch {
|
|
|
205
205
|
* TBD.
|
|
206
206
|
* @param {TouchEvent} event - TBD.
|
|
207
207
|
*/
|
|
208
|
-
public onTouchEnd(event: InputEvent) {
|
|
208
|
+
public onTouchEnd(event: InputEvent): void {
|
|
209
209
|
this.event = event;
|
|
210
210
|
if (this.touchEndCallback) {
|
|
211
211
|
this.touchEndCallback.call(this.callbackContext, event);
|
|
@@ -224,7 +224,7 @@ export class Touch {
|
|
|
224
224
|
* TBD.
|
|
225
225
|
* @param {TouchEvent} event - TBD.
|
|
226
226
|
*/
|
|
227
|
-
public eventPreventDefault(event: InputEvent) {
|
|
227
|
+
public eventPreventDefault(event: InputEvent): void {
|
|
228
228
|
if (this.preventDefault) {
|
|
229
229
|
if (typeof event.cancelable !== 'boolean' || event.cancelable) {
|
|
230
230
|
event.preventDefault();
|