jp.ms.common.engine 1.0.13 → 1.0.15

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.
@@ -1,8 +1,8 @@
1
- export interface BaseGameStateType {
1
+ export type BaseGameStateType = {
2
2
  roomId: string;
3
3
  tableId: string;
4
4
  gameId: string;
5
5
  pot: number;
6
6
  players: Array<string>;
7
- }
7
+ };
8
8
  //# sourceMappingURL=base-game-state.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-game-state.type.d.ts","sourceRoot":"","sources":["../../src/base/base-game-state.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACxB"}
1
+ {"version":3,"file":"base-game-state.type.d.ts","sourceRoot":"","sources":["../../src/base/base-game-state.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACxB,CAAA"}
@@ -19,7 +19,7 @@ export declare abstract class GameMaster {
19
19
  };
20
20
  abstract onHandleTurnTimeout(player: GamePlayer): any;
21
21
  abstract onHandleRestartTimeout(): any;
22
- abstract onHandleMove(player: GamePlayer): any;
22
+ abstract onHandleMove<T extends BaseGameStateType>(player: GamePlayer): T;
23
23
  abstract kickPlayer(player: GamePlayer): any;
24
24
  abstract startNewRound(): any;
25
25
  abstract finishRound(): any;
@@ -29,8 +29,8 @@ export declare abstract class GameMaster {
29
29
  setGameRound(gameRound: GameRound): void;
30
30
  getGameRound(): GameRound | null;
31
31
  getTable(): GameTable;
32
- enterTheTable(player: GamePlayer): void;
33
- exitTheTable(player: GamePlayer): void;
32
+ enterTheTable<T extends BaseGameStateType>(player: GamePlayer): T;
33
+ exitTheTable<T extends BaseGameStateType>(player: GamePlayer): T;
34
34
  watchTheTable<T extends BaseGameStateType>(player: GamePlayer): T;
35
35
  startFromWhite(): void;
36
36
  changePlayerClockwise(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"game-master.d.ts","sourceRoot":"","sources":["../../src/base/game-master.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,8BAAsB,UAAU;IAC5B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAChC,SAAgB,WAAW,EAAE,qBAAqB,CAAC;IACnD,SAAgB,cAAc,EAAE,kBAAkB,CAAC;IAEnD,SAAS,aAAc,IAAI,EAAE,QAAQ;IAOrC,MAAM,CAAC,YAAY,CAAE,eAAe,EAAE,MAAM,GAAG;QAC3C,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACnB;IAoBD,QAAQ,CAAC,mBAAmB,CAAE,MAAM,EAAE,UAAU;IAEhD,QAAQ,CAAC,sBAAsB;IAE/B,QAAQ,CAAC,YAAY,CAAE,MAAM,EAAE,UAAU;IAEzC,QAAQ,CAAC,UAAU,CAAE,MAAM,EAAE,UAAU;IAEvC,QAAQ,CAAC,aAAa;IAEtB,QAAQ,CAAC,WAAW;IAEpB,QAAQ,CAAC,YAAY;IAErB,QAAQ,CAAC,UAAU,IAAK,iBAAiB,GAAG,IAAI;IAEhD,KAAK;IAIL,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAIzC,YAAY,IAAK,SAAS,GAAG,IAAI;IAIjC,QAAQ;IAIR,aAAa,CAAE,MAAM,EAAE,UAAU;IAQjC,YAAY,CAAE,MAAM,EAAE,UAAU;IAUhC,aAAa,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,GAAG,CAAC;IAMlE,cAAc;IAOd,qBAAqB;IASrB,4BAA4B;IAS5B,eAAe,IAAK,UAAU,GAAG,IAAI;IAIrC,aAAa;IAIb,sBAAsB;IAItB,mBAAmB,CAAE,IAAI,EAAE,MAAM;IAIjC,YAAY,IAAK,iBAAiB;CASrC"}
1
+ {"version":3,"file":"game-master.d.ts","sourceRoot":"","sources":["../../src/base/game-master.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,8BAAsB,UAAU;IAC5B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAChC,SAAgB,WAAW,EAAE,qBAAqB,CAAC;IACnD,SAAgB,cAAc,EAAE,kBAAkB,CAAC;IAEnD,SAAS,aAAc,IAAI,EAAE,QAAQ;IAOrC,MAAM,CAAC,YAAY,CAAE,eAAe,EAAE,MAAM,GAAG;QAC3C,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACnB;IAoBD,QAAQ,CAAC,mBAAmB,CAAE,MAAM,EAAE,UAAU;IAEhD,QAAQ,CAAC,sBAAsB;IAE/B,QAAQ,CAAC,YAAY,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,GAAG,CAAC;IAE1E,QAAQ,CAAC,UAAU,CAAE,MAAM,EAAE,UAAU;IAEvC,QAAQ,CAAC,aAAa;IAEtB,QAAQ,CAAC,WAAW;IAEpB,QAAQ,CAAC,YAAY;IAErB,QAAQ,CAAC,UAAU,IAAK,iBAAiB,GAAG,IAAI;IAEhD,KAAK;IAIL,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAIzC,YAAY,IAAK,SAAS,GAAG,IAAI;IAIjC,QAAQ;IAIR,aAAa,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,GAAG,CAAC;IAUlE,YAAY,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,GAAG,CAAC;IAYjE,aAAa,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,GAAG,CAAC;IAMlE,cAAc;IAOd,qBAAqB;IASrB,4BAA4B;IAS5B,eAAe,IAAK,UAAU,GAAG,IAAI;IAIrC,aAAa;IAIb,sBAAsB;IAItB,mBAAmB,CAAE,IAAI,EAAE,MAAM;IAIjC,YAAY,IAAK,iBAAiB;CASrC"}
@@ -47,6 +47,7 @@ class GameMaster {
47
47
  else {
48
48
  this.table.addPlayerToSeat(player);
49
49
  }
50
+ return this.getGameState();
50
51
  }
51
52
  exitTheTable(player) {
52
53
  if (player.isPlayer()) {
@@ -58,6 +59,7 @@ class GameMaster {
58
59
  else {
59
60
  this.table.removePlayerFromWatchers(player);
60
61
  }
62
+ return this.getGameState();
61
63
  }
62
64
  watchTheTable(player) {
63
65
  this.table.addPlayerToWatchers(player);
@@ -1 +1 @@
1
- {"version":3,"file":"game-master.js","sourceRoot":"","sources":["../../src/base/game-master.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game-master.js","sourceRoot":"","sources":["../../src/base/game-master.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { GamePlayer, GameRoom } from '../base';
1
+ import { BaseGameStateType, GamePlayer, GameRoom } from '../base';
2
2
  export declare abstract class SimpleRoom extends GameRoom {
3
- handleWatchTheTable(player: GamePlayer, tableId: string): import("../base").BaseGameStateType;
4
- handleEnterTheTable(player: GamePlayer, tableId: string): void;
5
- handleExitTheTable(player: GamePlayer, tableId: string): void;
6
- handleMoveOnTheTable(player: GamePlayer, tableId: string): void;
3
+ handleWatchTheTable<T extends BaseGameStateType>(player: GamePlayer, tableId: string): T;
4
+ handleEnterTheTable<T extends BaseGameStateType>(player: GamePlayer, tableId: string): T;
5
+ handleExitTheTable<T extends BaseGameStateType>(player: GamePlayer, tableId: string): T;
6
+ handleMoveOnTheTable<T extends BaseGameStateType>(player: GamePlayer, tableId: string): T;
7
7
  handleFinishRound(): void;
8
8
  handleRestartRound(): void;
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"simple-room.d.ts","sourceRoot":"","sources":["../../src/base-rooms/simple-room.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/C,8BAAsB,UAAW,SAAQ,QAAQ;IAC/C,mBAAmB,CAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAIxD,mBAAmB,CAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAIxD,kBAAkB,CAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAIvD,oBAAoB,CAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAIzD,iBAAiB;IAIjB,kBAAkB;CAEnB"}
1
+ {"version":3,"file":"simple-room.d.ts","sourceRoot":"","sources":["../../src/base-rooms/simple-room.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAElE,8BAAsB,UAAW,SAAQ,QAAQ;IAC7C,mBAAmB,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;IAIzF,mBAAmB,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;IAIzF,kBAAkB,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;IAIxF,oBAAoB,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;IAI1F,iBAAiB;IAIjB,kBAAkB;CAErB"}
@@ -9,15 +9,15 @@ class SimpleRoom extends base_1.GameRoom {
9
9
  }
10
10
  handleEnterTheTable(player, tableId) {
11
11
  var _a;
12
- (_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.enterTheTable(player);
12
+ return (_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.enterTheTable(player);
13
13
  }
14
14
  handleExitTheTable(player, tableId) {
15
15
  var _a;
16
- (_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.exitTheTable(player);
16
+ return (_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.exitTheTable(player);
17
17
  }
18
18
  handleMoveOnTheTable(player, tableId) {
19
19
  var _a;
20
- (_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.onHandleMove(player);
20
+ return (_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.onHandleMove(player);
21
21
  }
22
22
  handleFinishRound() {
23
23
  // save users balances
@@ -1 +1 @@
1
- {"version":3,"file":"simple-room.js","sourceRoot":"","sources":["../../src/base-rooms/simple-room.ts"],"names":[],"mappings":";;;AAAA,kCAA+C;AAE/C,MAAsB,UAAW,SAAQ,eAAQ;IAC/C,mBAAmB,CAAE,MAAkB,EAAE,OAAe;;QACtD,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,mBAAmB,CAAE,MAAkB,EAAE,OAAe;;QACtD,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,kBAAkB,CAAE,MAAkB,EAAE,OAAe;;QACrD,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,oBAAoB,CAAE,MAAkB,EAAE,OAAe;;QACvD,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,iBAAiB;QACf,sBAAsB;IACxB,CAAC;IAED,kBAAkB;IAClB,CAAC;CACF;AAvBD,gCAuBC"}
1
+ {"version":3,"file":"simple-room.js","sourceRoot":"","sources":["../../src/base-rooms/simple-room.ts"],"names":[],"mappings":";;;AAAA,kCAAkE;AAElE,MAAsB,UAAW,SAAQ,eAAQ;IAC7C,mBAAmB,CAA+B,MAAkB,EAAE,OAAe;;QACjF,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,mBAAmB,CAA+B,MAAkB,EAAE,OAAe;;QACjF,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,kBAAkB,CAA+B,MAAkB,EAAE,OAAe;;QAChF,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,oBAAoB,CAA+B,MAAkB,EAAE,OAAe;;QAClF,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,iBAAiB;QACb,sBAAsB;IAC1B,CAAC;IAED,kBAAkB;IAClB,CAAC;CACJ;AAvBD,gCAuBC"}
@@ -1,4 +1,4 @@
1
- import { StandardGameState } from '../../../base';
1
+ import { BaseGameStateType, StandardGameState } from '../../../base';
2
2
  import { CardsGameMaster } from '../../../cards-game';
3
3
  import { BlackJackPlayer } from './black-jack-player';
4
4
  export declare enum BlackJackMoveActionType {
@@ -16,7 +16,7 @@ export declare class BlackJackGameMaster extends CardsGameMaster {
16
16
  finishRound(): void;
17
17
  getResults(): {} | null;
18
18
  kickPlayer(player: BlackJackPlayer): void;
19
- onHandleMove(player: BlackJackPlayer): void;
19
+ onHandleMove<T extends BaseGameStateType>(player: BlackJackPlayer): T;
20
20
  onHandleRestartTimeout(): void;
21
21
  onHandleTurnTimeout(player: BlackJackPlayer): void;
22
22
  getCard(player: BlackJackPlayer): void;
@@ -1 +1 @@
1
- {"version":3,"file":"black-jack-game-master.d.ts","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/domain/black-jack-game-master.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,oBAAY,uBAAuB;IAC/B,QAAQ,aAAa;IACrB,WAAW,gBAAgB;CAC9B;AAED,oBAAY,iBAAiB;IACzB,MAAM,WAAW;CACpB;AAED,qBAAa,mBAAoB,SAAQ,eAAe;IACpD,iBAAiB,IAAK,iBAAiB;IAIvC,UAAU,IAAK,KAAK,CAAC,eAAe,CAAC;IAIrC,aAAa;IAgBb,YAAY;IAIZ,WAAW;IAIX,UAAU,IAAK,EAAE,GAAG,IAAI;IAIxB,UAAU,CAAE,MAAM,EAAE,eAAe;IAGnC,YAAY,CAAE,MAAM,EAAE,eAAe;IAerC,sBAAsB;IAGtB,mBAAmB,CAAE,MAAM,EAAE,eAAe;IAG5C,OAAO,CAAE,MAAM,EAAE,eAAe;IAIhC,UAAU,CAAE,MAAM,EAAE,eAAe;IAUnC,QAAQ;IAIR,aAAa;IAIb,SAAS,IAAK,eAAe,GAAG,SAAS;CAG5C"}
1
+ {"version":3,"file":"black-jack-game-master.d.ts","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/domain/black-jack-game-master.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAa,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,oBAAY,uBAAuB;IAC/B,QAAQ,aAAa;IACrB,WAAW,gBAAgB;CAC9B;AAED,oBAAY,iBAAiB;IACzB,MAAM,WAAW;CACpB;AAED,qBAAa,mBAAoB,SAAQ,eAAe;IACpD,iBAAiB,IAAK,iBAAiB;IAIvC,UAAU,IAAK,KAAK,CAAC,eAAe,CAAC;IAIrC,aAAa;IAgBb,YAAY;IAIZ,WAAW;IAIX,UAAU,IAAK,EAAE,GAAG,IAAI;IAIxB,UAAU,CAAE,MAAM,EAAE,eAAe;IAGnC,YAAY,CAAC,CAAC,SAAS,iBAAiB,EAAE,MAAM,EAAE,eAAe,GAAG,CAAC;IAiBrE,sBAAsB;IAGtB,mBAAmB,CAAE,MAAM,EAAE,eAAe;IAG5C,OAAO,CAAE,MAAM,EAAE,eAAe;IAIhC,UAAU,CAAE,MAAM,EAAE,eAAe;IAUnC,QAAQ;IAIR,aAAa;IAIb,SAAS,IAAK,eAAe,GAAG,SAAS;CAG5C"}
@@ -57,6 +57,7 @@ class BlackJackGameMaster extends cards_game_1.CardsGameMaster {
57
57
  break;
58
58
  }
59
59
  }
60
+ return this.getGameState();
60
61
  }
61
62
  onHandleRestartTimeout() {
62
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"black-jack-game-master.js","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/domain/black-jack-game-master.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"black-jack-game-master.js","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/domain/black-jack-game-master.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jp.ms.common.engine",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,4 +1,4 @@
1
- export interface BaseGameStateType {
1
+ export type BaseGameStateType = {
2
2
  roomId: string;
3
3
  tableId: string;
4
4
  gameId: string;
@@ -48,7 +48,7 @@ export abstract class GameMaster {
48
48
 
49
49
  abstract onHandleRestartTimeout ();
50
50
 
51
- abstract onHandleMove (player: GamePlayer);
51
+ abstract onHandleMove<T extends BaseGameStateType> (player: GamePlayer): T;
52
52
 
53
53
  abstract kickPlayer (player: GamePlayer);
54
54
 
@@ -61,7 +61,7 @@ export abstract class GameMaster {
61
61
  abstract getResults (): GameSummaryResult | null;
62
62
 
63
63
  getId () {
64
- return this.table.getId();
64
+ return this.table.getId();
65
65
  }
66
66
 
67
67
  setGameRound (gameRound: GameRound): void {
@@ -76,15 +76,17 @@ export abstract class GameMaster {
76
76
  return this.table;
77
77
  }
78
78
 
79
- enterTheTable (player: GamePlayer) {
79
+ enterTheTable<T extends BaseGameStateType> (player: GamePlayer): T {
80
80
  if (this.table.isFull()) {
81
81
  this.table.addPlayerToQueue(player);
82
82
  } else {
83
83
  this.table.addPlayerToSeat(player);
84
84
  }
85
+
86
+ return this.getGameState() as T;
85
87
  }
86
88
 
87
- exitTheTable (player: GamePlayer) {
89
+ exitTheTable<T extends BaseGameStateType> (player: GamePlayer): T {
88
90
  if (player.isPlayer()) {
89
91
  this.table.removePlayerFromSeat(player);
90
92
  } else if (player.isTableQueuer()) {
@@ -92,6 +94,8 @@ export abstract class GameMaster {
92
94
  } else {
93
95
  this.table.removePlayerFromWatchers(player);
94
96
  }
97
+
98
+ return this.getGameState() as T;
95
99
  }
96
100
 
97
101
  watchTheTable<T extends BaseGameStateType> (player: GamePlayer): T {
@@ -1,26 +1,26 @@
1
- import { GamePlayer, GameRoom } from '../base';
1
+ import { BaseGameStateType, GamePlayer, GameRoom } from '../base';
2
2
 
3
3
  export abstract class SimpleRoom extends GameRoom {
4
- handleWatchTheTable (player: GamePlayer, tableId: string) {
5
- return this.getMasterById(tableId)?.watchTheTable(player);
6
- }
4
+ handleWatchTheTable<T extends BaseGameStateType> (player: GamePlayer, tableId: string): T {
5
+ return this.getMasterById(tableId)?.watchTheTable(player);
6
+ }
7
7
 
8
- handleEnterTheTable (player: GamePlayer, tableId: string) {
9
- this.getMasterById(tableId)?.enterTheTable(player);
10
- }
8
+ handleEnterTheTable<T extends BaseGameStateType> (player: GamePlayer, tableId: string): T {
9
+ return this.getMasterById(tableId)?.enterTheTable(player);
10
+ }
11
11
 
12
- handleExitTheTable (player: GamePlayer, tableId: string) {
13
- this.getMasterById(tableId)?.exitTheTable(player);
14
- }
12
+ handleExitTheTable<T extends BaseGameStateType> (player: GamePlayer, tableId: string): T {
13
+ return this.getMasterById(tableId)?.exitTheTable(player);
14
+ }
15
15
 
16
- handleMoveOnTheTable (player: GamePlayer, tableId: string) {
17
- this.getMasterById(tableId)?.onHandleMove(player);
18
- }
16
+ handleMoveOnTheTable<T extends BaseGameStateType> (player: GamePlayer, tableId: string): T {
17
+ return this.getMasterById(tableId)?.onHandleMove(player);
18
+ }
19
19
 
20
- handleFinishRound () {
21
- // save users balances
22
- }
20
+ handleFinishRound () {
21
+ // save users balances
22
+ }
23
23
 
24
- handleRestartRound () {
25
- }
24
+ handleRestartRound () {
25
+ }
26
26
  }
@@ -1,4 +1,4 @@
1
- import { GameRound, StandardGameState } from '../../../base';
1
+ import { BaseGameStateType, GameRound, StandardGameState } from '../../../base';
2
2
  import { CardsGameMaster } from '../../../cards-game';
3
3
 
4
4
  import { BlackJackPlayer } from './black-jack-player';
@@ -53,7 +53,7 @@ export class BlackJackGameMaster extends CardsGameMaster {
53
53
  kickPlayer (player: BlackJackPlayer) {
54
54
  }
55
55
 
56
- onHandleMove (player: BlackJackPlayer) {
56
+ onHandleMove<T extends BaseGameStateType>(player: BlackJackPlayer): T {
57
57
  const move = player.getMove();
58
58
 
59
59
  switch (move?.getAction()) {
@@ -66,6 +66,8 @@ export class BlackJackGameMaster extends CardsGameMaster {
66
66
  break;
67
67
  }
68
68
  }
69
+
70
+ return this.getGameState() as T;
69
71
  }
70
72
 
71
73
  onHandleRestartTimeout () {