def-game 2.1.2 → 2.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/simulator.d.ts +5 -5
- package/dist/simulator.d.ts.map +1 -1
- package/dist/types.d.ts +12 -11
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/simulator.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { DefaultGameLogicState, GameParameters, GameRule, GameState, Player, ToServer } from "./types";
|
|
2
|
-
export declare class GameEngine<S extends Record<string, any>, C extends Record<string, any>, L extends DefaultGameLogicState<S, C>, P extends GameParameters> {
|
|
2
|
+
export declare class GameEngine<T extends Record<string, any>, S extends Record<string, any>, C extends Record<string, any>, L extends DefaultGameLogicState<S, C>, P extends GameParameters> {
|
|
3
3
|
private rules;
|
|
4
4
|
private storage;
|
|
5
|
-
constructor(rules: GameRule<S, C, L, P>);
|
|
5
|
+
constructor(rules: GameRule<T, S, C, L, P>);
|
|
6
6
|
createRoom(p: P): void;
|
|
7
7
|
join(player: Player): void;
|
|
8
|
-
executeAction(action: ToServer<S, C>): GameState<S, C, L, P>;
|
|
9
|
-
getState(): GameState<S, C, L, P>;
|
|
10
|
-
setState(state: GameState<S, C, L, P>): void;
|
|
8
|
+
executeAction(action: ToServer<S, C>): GameState<T, S, C, L, P>;
|
|
9
|
+
getState(): GameState<T, S, C, L, P>;
|
|
10
|
+
setState(state: GameState<T, S, C, L, P>): void;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=simulator.d.ts.map
|
package/dist/simulator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../src/simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAU,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/G,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,cAAc;
|
|
1
|
+
{"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../src/simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAU,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/G,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,cAAc;IAChL,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,OAAO,CAAkC;gBAErC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAa1C,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI;IAMtB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM1B,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAe/D,QAAQ,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAIpC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;CAGlD"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
type Map = Record<string, any>;
|
|
2
2
|
export type FromServerMap<T extends Map> = T;
|
|
3
3
|
export type ToServerMap<T extends Map> = T;
|
|
4
|
+
export type TaskMap<T extends Map> = T;
|
|
4
5
|
export type InteractionMapType<S extends Map, C extends Map> = {
|
|
5
6
|
[key in InteractionKey<S, C>]: {
|
|
6
7
|
fromServer: FromServerMap<S>[key];
|
|
@@ -47,26 +48,26 @@ export type PlayerId = string;
|
|
|
47
48
|
export type ForClient<S extends Map, C extends Map> = {
|
|
48
49
|
[key: PlayerId]: FromServer<S, C>;
|
|
49
50
|
};
|
|
50
|
-
export type Task<
|
|
51
|
-
type:
|
|
52
|
-
|
|
51
|
+
export type Task<T extends Map> = {
|
|
52
|
+
type: keyof TaskMap<T>;
|
|
53
|
+
args: TaskMap<T>[keyof TaskMap<T>];
|
|
53
54
|
};
|
|
54
55
|
export interface TaskResult<S extends Map, C extends Map, L extends DefaultGameLogicState<S, C>> {
|
|
55
56
|
type: string;
|
|
56
57
|
state: L;
|
|
57
58
|
}
|
|
58
|
-
export type GameState<S extends Map, C extends Map, L extends DefaultGameLogicState<S, C>, P extends GameParameters> = {
|
|
59
|
+
export type GameState<T extends Map, S extends Map, C extends Map, L extends DefaultGameLogicState<S, C>, P extends GameParameters> = {
|
|
59
60
|
gameLogicState: L;
|
|
60
|
-
taskQueue: Task<
|
|
61
|
+
taskQueue: Task<T>[];
|
|
61
62
|
gameParameters: P | null;
|
|
62
63
|
};
|
|
63
|
-
export interface GameRule<S extends Map, C extends Map, L extends DefaultGameLogicState<S, C>, P extends GameParameters> {
|
|
64
|
+
export interface GameRule<T extends Map, S extends Map, C extends Map, L extends DefaultGameLogicState<S, C>, P extends GameParameters> {
|
|
64
65
|
initialGameLogicState: () => L;
|
|
65
|
-
createRoom: (state: GameState<S, C, L, P>, param: P) => GameState<S, C, L, P>;
|
|
66
|
-
onStartGame: (state: GameState<S, C, L, P>, joiner: Player) => GameState<S, C, L, P>;
|
|
67
|
-
divider(event: ToServer<S, C>): Task<
|
|
68
|
-
prioritizeTasks(newTasks: Task<
|
|
69
|
-
doTask(state: GameState<S, C, L, P>): GameState<S, C, L, P>;
|
|
66
|
+
createRoom: (state: GameState<T, S, C, L, P>, param: P) => GameState<T, S, C, L, P>;
|
|
67
|
+
onStartGame: (state: GameState<T, S, C, L, P>, joiner: Player) => GameState<T, S, C, L, P>;
|
|
68
|
+
divider(event: ToServer<S, C>): Task<T>[];
|
|
69
|
+
prioritizeTasks(newTasks: Task<T>[], gameState: GameState<T, S, C, L, P>): GameState<T, S, C, L, P>;
|
|
70
|
+
doTask(state: GameState<T, S, C, L, P>): GameState<T, S, C, L, P>;
|
|
70
71
|
}
|
|
71
72
|
export {};
|
|
72
73
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED