@energy8platform/game-engine 0.1.0 → 0.2.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/core.cjs.js +149 -0
- package/dist/core.cjs.js.map +1 -1
- package/dist/core.d.ts +86 -0
- package/dist/core.esm.js +149 -0
- package/dist/core.esm.js.map +1 -1
- package/dist/index.cjs.js +149 -144
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +86 -84
- package/dist/index.esm.js +149 -144
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/core/GameApplication.ts +8 -0
package/dist/core.cjs.js
CHANGED
|
@@ -923,6 +923,150 @@ class AudioManager {
|
|
|
923
923
|
}
|
|
924
924
|
}
|
|
925
925
|
|
|
926
|
+
/**
|
|
927
|
+
* Unified input manager for touch, mouse, and keyboard.
|
|
928
|
+
*
|
|
929
|
+
* Features:
|
|
930
|
+
* - Unified pointer events (works with touch + mouse)
|
|
931
|
+
* - Swipe gesture detection
|
|
932
|
+
* - Keyboard input with isKeyDown state
|
|
933
|
+
* - Input locking (block input during animations)
|
|
934
|
+
*
|
|
935
|
+
* @example
|
|
936
|
+
* ```ts
|
|
937
|
+
* const input = new InputManager(app.canvas);
|
|
938
|
+
*
|
|
939
|
+
* input.on('tap', ({ x, y }) => console.log('Tapped at', x, y));
|
|
940
|
+
* input.on('swipe', ({ direction }) => console.log('Swiped', direction));
|
|
941
|
+
* input.on('keydown', ({ key }) => {
|
|
942
|
+
* if (key === ' ') spin();
|
|
943
|
+
* });
|
|
944
|
+
*
|
|
945
|
+
* // Block input during animations
|
|
946
|
+
* input.lock();
|
|
947
|
+
* await playAnimation();
|
|
948
|
+
* input.unlock();
|
|
949
|
+
* ```
|
|
950
|
+
*/
|
|
951
|
+
class InputManager extends EventEmitter {
|
|
952
|
+
_canvas;
|
|
953
|
+
_locked = false;
|
|
954
|
+
_keysDown = new Set();
|
|
955
|
+
_destroyed = false;
|
|
956
|
+
// Gesture tracking
|
|
957
|
+
_pointerStart = null;
|
|
958
|
+
_swipeThreshold = 50; // minimum distance in px
|
|
959
|
+
_swipeMaxTime = 300; // max ms for swipe gesture
|
|
960
|
+
constructor(canvas) {
|
|
961
|
+
super();
|
|
962
|
+
this._canvas = canvas;
|
|
963
|
+
this.setupPointerEvents();
|
|
964
|
+
this.setupKeyboardEvents();
|
|
965
|
+
}
|
|
966
|
+
/** Whether input is currently locked */
|
|
967
|
+
get locked() {
|
|
968
|
+
return this._locked;
|
|
969
|
+
}
|
|
970
|
+
/** Lock all input (e.g., during animations) */
|
|
971
|
+
lock() {
|
|
972
|
+
this._locked = true;
|
|
973
|
+
}
|
|
974
|
+
/** Unlock input */
|
|
975
|
+
unlock() {
|
|
976
|
+
this._locked = false;
|
|
977
|
+
}
|
|
978
|
+
/** Check if a key is currently pressed */
|
|
979
|
+
isKeyDown(key) {
|
|
980
|
+
return this._keysDown.has(key.toLowerCase());
|
|
981
|
+
}
|
|
982
|
+
/** Destroy the input manager */
|
|
983
|
+
destroy() {
|
|
984
|
+
this._destroyed = true;
|
|
985
|
+
this._canvas.removeEventListener('pointerdown', this.onPointerDown);
|
|
986
|
+
this._canvas.removeEventListener('pointerup', this.onPointerUp);
|
|
987
|
+
this._canvas.removeEventListener('pointermove', this.onPointerMove);
|
|
988
|
+
document.removeEventListener('keydown', this.onKeyDown);
|
|
989
|
+
document.removeEventListener('keyup', this.onKeyUp);
|
|
990
|
+
this._keysDown.clear();
|
|
991
|
+
this.removeAllListeners();
|
|
992
|
+
}
|
|
993
|
+
// ─── Private: Pointer ──────────────────────────────────
|
|
994
|
+
setupPointerEvents() {
|
|
995
|
+
this._canvas.addEventListener('pointerdown', this.onPointerDown);
|
|
996
|
+
this._canvas.addEventListener('pointerup', this.onPointerUp);
|
|
997
|
+
this._canvas.addEventListener('pointermove', this.onPointerMove);
|
|
998
|
+
}
|
|
999
|
+
onPointerDown = (e) => {
|
|
1000
|
+
if (this._locked || this._destroyed)
|
|
1001
|
+
return;
|
|
1002
|
+
const pos = this.getCanvasPosition(e);
|
|
1003
|
+
this._pointerStart = { ...pos, time: Date.now() };
|
|
1004
|
+
this.emit('press', pos);
|
|
1005
|
+
};
|
|
1006
|
+
onPointerUp = (e) => {
|
|
1007
|
+
if (this._locked || this._destroyed)
|
|
1008
|
+
return;
|
|
1009
|
+
const pos = this.getCanvasPosition(e);
|
|
1010
|
+
this.emit('release', pos);
|
|
1011
|
+
// Check for tap vs swipe
|
|
1012
|
+
if (this._pointerStart) {
|
|
1013
|
+
const dx = pos.x - this._pointerStart.x;
|
|
1014
|
+
const dy = pos.y - this._pointerStart.y;
|
|
1015
|
+
const dist = Math.sqrt(dx * dx + dy * dy);
|
|
1016
|
+
const elapsed = Date.now() - this._pointerStart.time;
|
|
1017
|
+
if (dist > this._swipeThreshold && elapsed < this._swipeMaxTime) {
|
|
1018
|
+
// Swipe detected
|
|
1019
|
+
const absDx = Math.abs(dx);
|
|
1020
|
+
const absDy = Math.abs(dy);
|
|
1021
|
+
let direction;
|
|
1022
|
+
if (absDx > absDy) {
|
|
1023
|
+
direction = dx > 0 ? 'right' : 'left';
|
|
1024
|
+
}
|
|
1025
|
+
else {
|
|
1026
|
+
direction = dy > 0 ? 'down' : 'up';
|
|
1027
|
+
}
|
|
1028
|
+
this.emit('swipe', { direction, velocity: dist / elapsed });
|
|
1029
|
+
}
|
|
1030
|
+
else if (dist < 10) {
|
|
1031
|
+
// Tap (minimal movement)
|
|
1032
|
+
this.emit('tap', pos);
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
1035
|
+
this._pointerStart = null;
|
|
1036
|
+
};
|
|
1037
|
+
onPointerMove = (e) => {
|
|
1038
|
+
if (this._locked || this._destroyed)
|
|
1039
|
+
return;
|
|
1040
|
+
this.emit('move', this.getCanvasPosition(e));
|
|
1041
|
+
};
|
|
1042
|
+
getCanvasPosition(e) {
|
|
1043
|
+
const rect = this._canvas.getBoundingClientRect();
|
|
1044
|
+
return {
|
|
1045
|
+
x: e.clientX - rect.left,
|
|
1046
|
+
y: e.clientY - rect.top,
|
|
1047
|
+
};
|
|
1048
|
+
}
|
|
1049
|
+
// ─── Private: Keyboard ─────────────────────────────────
|
|
1050
|
+
setupKeyboardEvents() {
|
|
1051
|
+
document.addEventListener('keydown', this.onKeyDown);
|
|
1052
|
+
document.addEventListener('keyup', this.onKeyUp);
|
|
1053
|
+
}
|
|
1054
|
+
onKeyDown = (e) => {
|
|
1055
|
+
if (this._locked || this._destroyed)
|
|
1056
|
+
return;
|
|
1057
|
+
this._keysDown.add(e.key.toLowerCase());
|
|
1058
|
+
this.emit('keydown', { key: e.key, code: e.code });
|
|
1059
|
+
};
|
|
1060
|
+
onKeyUp = (e) => {
|
|
1061
|
+
if (this._destroyed)
|
|
1062
|
+
return;
|
|
1063
|
+
this._keysDown.delete(e.key.toLowerCase());
|
|
1064
|
+
if (this._locked)
|
|
1065
|
+
return;
|
|
1066
|
+
this.emit('keyup', { key: e.key, code: e.code });
|
|
1067
|
+
};
|
|
1068
|
+
}
|
|
1069
|
+
|
|
926
1070
|
/**
|
|
927
1071
|
* Manages responsive scaling of the game canvas to fit its container.
|
|
928
1072
|
*
|
|
@@ -1626,6 +1770,8 @@ class GameApplication extends EventEmitter {
|
|
|
1626
1770
|
assets;
|
|
1627
1771
|
/** Audio manager */
|
|
1628
1772
|
audio;
|
|
1773
|
+
/** Input manager */
|
|
1774
|
+
input;
|
|
1629
1775
|
/** Viewport manager */
|
|
1630
1776
|
viewport;
|
|
1631
1777
|
/** SDK instance (null in offline mode) */
|
|
@@ -1721,6 +1867,7 @@ class GameApplication extends EventEmitter {
|
|
|
1721
1867
|
this._destroyed = true;
|
|
1722
1868
|
this._running = false;
|
|
1723
1869
|
this.scenes?.destroy();
|
|
1870
|
+
this.input?.destroy();
|
|
1724
1871
|
this.audio?.destroy();
|
|
1725
1872
|
this.viewport?.destroy();
|
|
1726
1873
|
this.sdk?.destroy();
|
|
@@ -1788,6 +1935,8 @@ class GameApplication extends EventEmitter {
|
|
|
1788
1935
|
this.assets = new AssetManager(basePath, this.config.manifest);
|
|
1789
1936
|
// Audio Manager
|
|
1790
1937
|
this.audio = new AudioManager(this.config.audio);
|
|
1938
|
+
// Input Manager
|
|
1939
|
+
this.input = new InputManager(this.app.canvas);
|
|
1791
1940
|
// Viewport Manager
|
|
1792
1941
|
this.viewport = new ViewportManager(this.app, this._container, {
|
|
1793
1942
|
designWidth: this.config.designWidth,
|
package/dist/core.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.cjs.js","sources":["../src/types.ts","../src/core/EventEmitter.ts","../src/animation/Easing.ts","../src/animation/Tween.ts","../src/core/SceneManager.ts","../src/assets/AssetManager.ts","../src/audio/AudioManager.ts","../src/viewport/ViewportManager.ts","../src/core/Scene.ts","../src/loading/LoadingScene.ts","../src/loading/CSSPreloader.ts","../src/core/GameApplication.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["Ticker","TT","Assets","Container","Application","CasinoGameSDK"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.cjs.js","sources":["../src/types.ts","../src/core/EventEmitter.ts","../src/animation/Easing.ts","../src/animation/Tween.ts","../src/core/SceneManager.ts","../src/assets/AssetManager.ts","../src/audio/AudioManager.ts","../src/input/InputManager.ts","../src/viewport/ViewportManager.ts","../src/core/Scene.ts","../src/loading/LoadingScene.ts","../src/loading/CSSPreloader.ts","../src/core/GameApplication.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Ticker","TT","Assets","Container","Application","CasinoGameSDK"],"mappings":"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"}
|
package/dist/core.d.ts
CHANGED
|
@@ -434,6 +434,90 @@ declare class AudioManager {
|
|
|
434
434
|
private restoreState;
|
|
435
435
|
}
|
|
436
436
|
|
|
437
|
+
interface InputEvents {
|
|
438
|
+
tap: {
|
|
439
|
+
x: number;
|
|
440
|
+
y: number;
|
|
441
|
+
};
|
|
442
|
+
press: {
|
|
443
|
+
x: number;
|
|
444
|
+
y: number;
|
|
445
|
+
};
|
|
446
|
+
release: {
|
|
447
|
+
x: number;
|
|
448
|
+
y: number;
|
|
449
|
+
};
|
|
450
|
+
move: {
|
|
451
|
+
x: number;
|
|
452
|
+
y: number;
|
|
453
|
+
};
|
|
454
|
+
swipe: {
|
|
455
|
+
direction: 'up' | 'down' | 'left' | 'right';
|
|
456
|
+
velocity: number;
|
|
457
|
+
};
|
|
458
|
+
keydown: {
|
|
459
|
+
key: string;
|
|
460
|
+
code: string;
|
|
461
|
+
};
|
|
462
|
+
keyup: {
|
|
463
|
+
key: string;
|
|
464
|
+
code: string;
|
|
465
|
+
};
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* Unified input manager for touch, mouse, and keyboard.
|
|
469
|
+
*
|
|
470
|
+
* Features:
|
|
471
|
+
* - Unified pointer events (works with touch + mouse)
|
|
472
|
+
* - Swipe gesture detection
|
|
473
|
+
* - Keyboard input with isKeyDown state
|
|
474
|
+
* - Input locking (block input during animations)
|
|
475
|
+
*
|
|
476
|
+
* @example
|
|
477
|
+
* ```ts
|
|
478
|
+
* const input = new InputManager(app.canvas);
|
|
479
|
+
*
|
|
480
|
+
* input.on('tap', ({ x, y }) => console.log('Tapped at', x, y));
|
|
481
|
+
* input.on('swipe', ({ direction }) => console.log('Swiped', direction));
|
|
482
|
+
* input.on('keydown', ({ key }) => {
|
|
483
|
+
* if (key === ' ') spin();
|
|
484
|
+
* });
|
|
485
|
+
*
|
|
486
|
+
* // Block input during animations
|
|
487
|
+
* input.lock();
|
|
488
|
+
* await playAnimation();
|
|
489
|
+
* input.unlock();
|
|
490
|
+
* ```
|
|
491
|
+
*/
|
|
492
|
+
declare class InputManager extends EventEmitter<InputEvents> {
|
|
493
|
+
private _canvas;
|
|
494
|
+
private _locked;
|
|
495
|
+
private _keysDown;
|
|
496
|
+
private _destroyed;
|
|
497
|
+
private _pointerStart;
|
|
498
|
+
private _swipeThreshold;
|
|
499
|
+
private _swipeMaxTime;
|
|
500
|
+
constructor(canvas: HTMLCanvasElement);
|
|
501
|
+
/** Whether input is currently locked */
|
|
502
|
+
get locked(): boolean;
|
|
503
|
+
/** Lock all input (e.g., during animations) */
|
|
504
|
+
lock(): void;
|
|
505
|
+
/** Unlock input */
|
|
506
|
+
unlock(): void;
|
|
507
|
+
/** Check if a key is currently pressed */
|
|
508
|
+
isKeyDown(key: string): boolean;
|
|
509
|
+
/** Destroy the input manager */
|
|
510
|
+
destroy(): void;
|
|
511
|
+
private setupPointerEvents;
|
|
512
|
+
private onPointerDown;
|
|
513
|
+
private onPointerUp;
|
|
514
|
+
private onPointerMove;
|
|
515
|
+
private getCanvasPosition;
|
|
516
|
+
private setupKeyboardEvents;
|
|
517
|
+
private onKeyDown;
|
|
518
|
+
private onKeyUp;
|
|
519
|
+
}
|
|
520
|
+
|
|
437
521
|
interface ViewportConfig {
|
|
438
522
|
designWidth: number;
|
|
439
523
|
designHeight: number;
|
|
@@ -552,6 +636,8 @@ declare class GameApplication extends EventEmitter<GameEngineEvents> {
|
|
|
552
636
|
assets: AssetManager;
|
|
553
637
|
/** Audio manager */
|
|
554
638
|
audio: AudioManager;
|
|
639
|
+
/** Input manager */
|
|
640
|
+
input: InputManager;
|
|
555
641
|
/** Viewport manager */
|
|
556
642
|
viewport: ViewportManager;
|
|
557
643
|
/** SDK instance (null in offline mode) */
|
package/dist/core.esm.js
CHANGED
|
@@ -921,6 +921,150 @@ class AudioManager {
|
|
|
921
921
|
}
|
|
922
922
|
}
|
|
923
923
|
|
|
924
|
+
/**
|
|
925
|
+
* Unified input manager for touch, mouse, and keyboard.
|
|
926
|
+
*
|
|
927
|
+
* Features:
|
|
928
|
+
* - Unified pointer events (works with touch + mouse)
|
|
929
|
+
* - Swipe gesture detection
|
|
930
|
+
* - Keyboard input with isKeyDown state
|
|
931
|
+
* - Input locking (block input during animations)
|
|
932
|
+
*
|
|
933
|
+
* @example
|
|
934
|
+
* ```ts
|
|
935
|
+
* const input = new InputManager(app.canvas);
|
|
936
|
+
*
|
|
937
|
+
* input.on('tap', ({ x, y }) => console.log('Tapped at', x, y));
|
|
938
|
+
* input.on('swipe', ({ direction }) => console.log('Swiped', direction));
|
|
939
|
+
* input.on('keydown', ({ key }) => {
|
|
940
|
+
* if (key === ' ') spin();
|
|
941
|
+
* });
|
|
942
|
+
*
|
|
943
|
+
* // Block input during animations
|
|
944
|
+
* input.lock();
|
|
945
|
+
* await playAnimation();
|
|
946
|
+
* input.unlock();
|
|
947
|
+
* ```
|
|
948
|
+
*/
|
|
949
|
+
class InputManager extends EventEmitter {
|
|
950
|
+
_canvas;
|
|
951
|
+
_locked = false;
|
|
952
|
+
_keysDown = new Set();
|
|
953
|
+
_destroyed = false;
|
|
954
|
+
// Gesture tracking
|
|
955
|
+
_pointerStart = null;
|
|
956
|
+
_swipeThreshold = 50; // minimum distance in px
|
|
957
|
+
_swipeMaxTime = 300; // max ms for swipe gesture
|
|
958
|
+
constructor(canvas) {
|
|
959
|
+
super();
|
|
960
|
+
this._canvas = canvas;
|
|
961
|
+
this.setupPointerEvents();
|
|
962
|
+
this.setupKeyboardEvents();
|
|
963
|
+
}
|
|
964
|
+
/** Whether input is currently locked */
|
|
965
|
+
get locked() {
|
|
966
|
+
return this._locked;
|
|
967
|
+
}
|
|
968
|
+
/** Lock all input (e.g., during animations) */
|
|
969
|
+
lock() {
|
|
970
|
+
this._locked = true;
|
|
971
|
+
}
|
|
972
|
+
/** Unlock input */
|
|
973
|
+
unlock() {
|
|
974
|
+
this._locked = false;
|
|
975
|
+
}
|
|
976
|
+
/** Check if a key is currently pressed */
|
|
977
|
+
isKeyDown(key) {
|
|
978
|
+
return this._keysDown.has(key.toLowerCase());
|
|
979
|
+
}
|
|
980
|
+
/** Destroy the input manager */
|
|
981
|
+
destroy() {
|
|
982
|
+
this._destroyed = true;
|
|
983
|
+
this._canvas.removeEventListener('pointerdown', this.onPointerDown);
|
|
984
|
+
this._canvas.removeEventListener('pointerup', this.onPointerUp);
|
|
985
|
+
this._canvas.removeEventListener('pointermove', this.onPointerMove);
|
|
986
|
+
document.removeEventListener('keydown', this.onKeyDown);
|
|
987
|
+
document.removeEventListener('keyup', this.onKeyUp);
|
|
988
|
+
this._keysDown.clear();
|
|
989
|
+
this.removeAllListeners();
|
|
990
|
+
}
|
|
991
|
+
// ─── Private: Pointer ──────────────────────────────────
|
|
992
|
+
setupPointerEvents() {
|
|
993
|
+
this._canvas.addEventListener('pointerdown', this.onPointerDown);
|
|
994
|
+
this._canvas.addEventListener('pointerup', this.onPointerUp);
|
|
995
|
+
this._canvas.addEventListener('pointermove', this.onPointerMove);
|
|
996
|
+
}
|
|
997
|
+
onPointerDown = (e) => {
|
|
998
|
+
if (this._locked || this._destroyed)
|
|
999
|
+
return;
|
|
1000
|
+
const pos = this.getCanvasPosition(e);
|
|
1001
|
+
this._pointerStart = { ...pos, time: Date.now() };
|
|
1002
|
+
this.emit('press', pos);
|
|
1003
|
+
};
|
|
1004
|
+
onPointerUp = (e) => {
|
|
1005
|
+
if (this._locked || this._destroyed)
|
|
1006
|
+
return;
|
|
1007
|
+
const pos = this.getCanvasPosition(e);
|
|
1008
|
+
this.emit('release', pos);
|
|
1009
|
+
// Check for tap vs swipe
|
|
1010
|
+
if (this._pointerStart) {
|
|
1011
|
+
const dx = pos.x - this._pointerStart.x;
|
|
1012
|
+
const dy = pos.y - this._pointerStart.y;
|
|
1013
|
+
const dist = Math.sqrt(dx * dx + dy * dy);
|
|
1014
|
+
const elapsed = Date.now() - this._pointerStart.time;
|
|
1015
|
+
if (dist > this._swipeThreshold && elapsed < this._swipeMaxTime) {
|
|
1016
|
+
// Swipe detected
|
|
1017
|
+
const absDx = Math.abs(dx);
|
|
1018
|
+
const absDy = Math.abs(dy);
|
|
1019
|
+
let direction;
|
|
1020
|
+
if (absDx > absDy) {
|
|
1021
|
+
direction = dx > 0 ? 'right' : 'left';
|
|
1022
|
+
}
|
|
1023
|
+
else {
|
|
1024
|
+
direction = dy > 0 ? 'down' : 'up';
|
|
1025
|
+
}
|
|
1026
|
+
this.emit('swipe', { direction, velocity: dist / elapsed });
|
|
1027
|
+
}
|
|
1028
|
+
else if (dist < 10) {
|
|
1029
|
+
// Tap (minimal movement)
|
|
1030
|
+
this.emit('tap', pos);
|
|
1031
|
+
}
|
|
1032
|
+
}
|
|
1033
|
+
this._pointerStart = null;
|
|
1034
|
+
};
|
|
1035
|
+
onPointerMove = (e) => {
|
|
1036
|
+
if (this._locked || this._destroyed)
|
|
1037
|
+
return;
|
|
1038
|
+
this.emit('move', this.getCanvasPosition(e));
|
|
1039
|
+
};
|
|
1040
|
+
getCanvasPosition(e) {
|
|
1041
|
+
const rect = this._canvas.getBoundingClientRect();
|
|
1042
|
+
return {
|
|
1043
|
+
x: e.clientX - rect.left,
|
|
1044
|
+
y: e.clientY - rect.top,
|
|
1045
|
+
};
|
|
1046
|
+
}
|
|
1047
|
+
// ─── Private: Keyboard ─────────────────────────────────
|
|
1048
|
+
setupKeyboardEvents() {
|
|
1049
|
+
document.addEventListener('keydown', this.onKeyDown);
|
|
1050
|
+
document.addEventListener('keyup', this.onKeyUp);
|
|
1051
|
+
}
|
|
1052
|
+
onKeyDown = (e) => {
|
|
1053
|
+
if (this._locked || this._destroyed)
|
|
1054
|
+
return;
|
|
1055
|
+
this._keysDown.add(e.key.toLowerCase());
|
|
1056
|
+
this.emit('keydown', { key: e.key, code: e.code });
|
|
1057
|
+
};
|
|
1058
|
+
onKeyUp = (e) => {
|
|
1059
|
+
if (this._destroyed)
|
|
1060
|
+
return;
|
|
1061
|
+
this._keysDown.delete(e.key.toLowerCase());
|
|
1062
|
+
if (this._locked)
|
|
1063
|
+
return;
|
|
1064
|
+
this.emit('keyup', { key: e.key, code: e.code });
|
|
1065
|
+
};
|
|
1066
|
+
}
|
|
1067
|
+
|
|
924
1068
|
/**
|
|
925
1069
|
* Manages responsive scaling of the game canvas to fit its container.
|
|
926
1070
|
*
|
|
@@ -1624,6 +1768,8 @@ class GameApplication extends EventEmitter {
|
|
|
1624
1768
|
assets;
|
|
1625
1769
|
/** Audio manager */
|
|
1626
1770
|
audio;
|
|
1771
|
+
/** Input manager */
|
|
1772
|
+
input;
|
|
1627
1773
|
/** Viewport manager */
|
|
1628
1774
|
viewport;
|
|
1629
1775
|
/** SDK instance (null in offline mode) */
|
|
@@ -1719,6 +1865,7 @@ class GameApplication extends EventEmitter {
|
|
|
1719
1865
|
this._destroyed = true;
|
|
1720
1866
|
this._running = false;
|
|
1721
1867
|
this.scenes?.destroy();
|
|
1868
|
+
this.input?.destroy();
|
|
1722
1869
|
this.audio?.destroy();
|
|
1723
1870
|
this.viewport?.destroy();
|
|
1724
1871
|
this.sdk?.destroy();
|
|
@@ -1786,6 +1933,8 @@ class GameApplication extends EventEmitter {
|
|
|
1786
1933
|
this.assets = new AssetManager(basePath, this.config.manifest);
|
|
1787
1934
|
// Audio Manager
|
|
1788
1935
|
this.audio = new AudioManager(this.config.audio);
|
|
1936
|
+
// Input Manager
|
|
1937
|
+
this.input = new InputManager(this.app.canvas);
|
|
1789
1938
|
// Viewport Manager
|
|
1790
1939
|
this.viewport = new ViewportManager(this.app, this._container, {
|
|
1791
1940
|
designWidth: this.config.designWidth,
|