@energy8platform/game-engine 0.1.0 → 0.2.1

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/README.md CHANGED
@@ -182,21 +182,21 @@ import { defineGameConfig } from '@energy8platform/game-engine/vite';
182
182
  | `logoScale` | `number` | `1` | Logo scale factor |
183
183
  | `showPercentage` | `boolean` | `true` | Show loading percentage text |
184
184
  | `progressTextFormatter` | `(progress: number) => string` | — | Custom progress text formatter |
185
- | `tapToStart` | `boolean` | `false` | Show "Tap to start" overlay |
185
+ | `tapToStart` | `boolean` | `true` | Show "Tap to start" overlay |
186
186
  | `tapToStartText` | `string` | `'TAP TO START'` | Tap-to-start label |
187
- | `minDisplayTime` | `number` | `0` | Minimum display time (ms) |
187
+ | `minDisplayTime` | `number` | `1500` | Minimum display time (ms) |
188
188
  | `cssPreloaderHTML` | `string` | — | Custom HTML for the CSS preloader |
189
189
 
190
190
  ### `AudioConfig`
191
191
 
192
192
  | Property | Type | Default | Description |
193
193
  | --- | --- | --- | --- |
194
- | `music` | `number` | `1` | Default music volume (0–1) |
194
+ | `music` | `number` | `0.7` | Default music volume (0–1) |
195
195
  | `sfx` | `number` | `1` | Default SFX volume |
196
- | `ui` | `number` | `1` | Default UI sounds volume |
197
- | `ambient` | `number` | `1` | Default ambient volume |
198
- | `persist` | `boolean` | `false` | Save mute state to localStorage |
199
- | `storageKey` | `string` | `'ge-audio'` | localStorage key prefix |
196
+ | `ui` | `number` | `0.8` | Default UI sounds volume |
197
+ | `ambient` | `number` | `0.5` | Default ambient volume |
198
+ | `persist` | `boolean` | `true` | Save mute state to localStorage |
199
+ | `storageKey` | `string` | `'ge_audio'` | localStorage key prefix |
200
200
 
201
201
  ### Enums
202
202
 
@@ -677,12 +677,12 @@ Displays player balance with formatting:
677
677
  import { BalanceDisplay } from '@energy8platform/game-engine';
678
678
 
679
679
  const balance = new BalanceDisplay({
680
- initialBalance: 10000,
681
680
  currency: 'USD',
681
+ animated: true,
682
682
  // ... text style options
683
683
  });
684
684
 
685
- balance.updateBalance(9500); // Animates the balance change
685
+ balance.setValue(9500); // Animates the balance change
686
686
  ```
687
687
 
688
688
  ### WinDisplay
@@ -693,10 +693,11 @@ Animated win amount display with countup:
693
693
  import { WinDisplay } from '@energy8platform/game-engine';
694
694
 
695
695
  const winDisplay = new WinDisplay({
696
+ countupDuration: 2000,
696
697
  // ... text style options
697
698
  });
698
699
 
699
- await winDisplay.show(5000, 2000); // Show $50.00, countup over 2 seconds
700
+ await winDisplay.showWin(5000); // Show $50.00, countup over 2 seconds
700
701
  winDisplay.hide();
701
702
  ```
702
703
 
@@ -709,11 +710,11 @@ const bar = new ProgressBar({
709
710
  width: 400,
710
711
  height: 20,
711
712
  fillColor: 0x00ff00,
712
- backgroundColor: 0x333333,
713
+ trackColor: 0x333333,
713
714
  borderRadius: 10,
714
715
  });
715
716
 
716
- bar.setProgress(0.75); // 75%
717
+ bar.progress = 0.75; // 75%
717
718
  ```
718
719
 
719
720
  ### Panel
@@ -728,7 +729,7 @@ const panel = new Panel({
728
729
  height: 400,
729
730
  backgroundColor: 0x1a1a2e,
730
731
  borderRadius: 16,
731
- alpha: 0.9,
732
+ backgroundAlpha: 0.9,
732
733
  });
733
734
  ```
734
735
 
@@ -740,14 +741,13 @@ Full-screen overlay dialog:
740
741
  import { Modal } from '@energy8platform/game-engine';
741
742
 
742
743
  const modal = new Modal({
743
- width: 500,
744
- height: 350,
745
744
  overlayAlpha: 0.7,
746
- backgroundColor: 0x222244,
747
- borderRadius: 16,
745
+ overlayColor: 0x000000,
746
+ closeOnOverlay: true,
747
+ animationDuration: 300,
748
748
  });
749
749
 
750
- await modal.show();
750
+ await modal.show(viewWidth, viewHeight);
751
751
  await modal.hide();
752
752
  ```
753
753
 
@@ -760,11 +760,9 @@ import { Toast } from '@energy8platform/game-engine';
760
760
 
761
761
  const toast = new Toast({
762
762
  duration: 2000,
763
- backgroundColor: 0x333333,
764
- textStyle: { fill: 0xffffff, fontSize: 20 },
765
763
  });
766
764
 
767
- await toast.show('Free spins activated!');
765
+ await toast.show('Free spins activated!', 'success');
768
766
  ```
769
767
 
770
768
  ---
@@ -944,6 +942,7 @@ class GameApplication extends EventEmitter<GameEngineEvents> {
944
942
  scenes: SceneManager;
945
943
  assets: AssetManager;
946
944
  audio: AudioManager;
945
+ input: InputManager;
947
946
  viewport: ViewportManager;
948
947
  sdk: CasinoGameSDK | null;
949
948
  initData: InitData | null;
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) */
@@ -1702,6 +1848,7 @@ class GameApplication extends EventEmitter {
1702
1848
  removeCSSPreloader(this._container);
1703
1849
  // 8. Load assets with loading screen
1704
1850
  await this.loadAssets(firstScene, sceneData);
1851
+ this.emit('loaded', undefined);
1705
1852
  // 9. Start the game loop
1706
1853
  this._running = true;
1707
1854
  this.emit('started', undefined);
@@ -1721,12 +1868,13 @@ class GameApplication extends EventEmitter {
1721
1868
  this._destroyed = true;
1722
1869
  this._running = false;
1723
1870
  this.scenes?.destroy();
1871
+ this.input?.destroy();
1724
1872
  this.audio?.destroy();
1725
1873
  this.viewport?.destroy();
1726
1874
  this.sdk?.destroy();
1727
1875
  this.app?.destroy(true, { children: true, texture: true });
1728
- this.removeAllListeners();
1729
1876
  this.emit('destroyed', undefined);
1877
+ this.removeAllListeners();
1730
1878
  }
1731
1879
  // ─── Private initialization steps ──────────────────────
1732
1880
  resolveContainer() {
@@ -1788,6 +1936,8 @@ class GameApplication extends EventEmitter {
1788
1936
  this.assets = new AssetManager(basePath, this.config.manifest);
1789
1937
  // Audio Manager
1790
1938
  this.audio = new AudioManager(this.config.audio);
1939
+ // Input Manager
1940
+ this.input = new InputManager(this.app.canvas);
1791
1941
  // Viewport Manager
1792
1942
  this.viewport = new ViewportManager(this.app, this._container, {
1793
1943
  designWidth: this.config.designWidth,
@@ -1805,6 +1955,10 @@ class GameApplication extends EventEmitter {
1805
1955
  this.viewport.on('orientationChange', (orientation) => {
1806
1956
  this.emit('orientationChange', orientation);
1807
1957
  });
1958
+ // Wire scene changes → engine event
1959
+ this.scenes.on('change', ({ from, to }) => {
1960
+ this.emit('sceneChange', { from, to });
1961
+ });
1808
1962
  // Connect ticker → scene updates
1809
1963
  this.app.ticker.add((ticker) => {
1810
1964
  // Always update scenes (loading screen needs onUpdate before _running=true)
@@ -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) */