@gamepark/rules-api 6.27.0 → 6.28.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/Rules.d.ts +4 -0
- package/dist/Undo.d.ts +9 -2
- package/dist/Undo.js.map +1 -1
- package/dist/material/MaterialGame.d.ts +1 -0
- package/dist/material/MaterialRules.d.ts +5 -1
- package/dist/material/MaterialRules.js +42 -2
- package/dist/material/MaterialRules.js.map +1 -1
- package/dist/material/moves/MaterialMoveBuilder.d.ts +1 -1
- package/dist/material/moves/MaterialMoveBuilder.js.map +1 -1
- package/dist/material/moves/local/DisplayHelp.d.ts +1 -1
- package/package.json +1 -1
package/dist/Rules.d.ts
CHANGED
package/dist/Undo.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { Action } from './Action';
|
|
|
4
4
|
* The move undone is removed from the game history: the new game state results from applying all the remaining moves from the game setup.
|
|
5
5
|
* Any direct consequences of the move (see {@link Action.consequences}) are also removed.
|
|
6
6
|
*/
|
|
7
|
-
export interface Undo<Move = string, PlayerId = number> {
|
|
7
|
+
export interface Undo<Game, Move = string, PlayerId = number> {
|
|
8
8
|
/**
|
|
9
9
|
* This function allow an action to be undone, by the player that did it.
|
|
10
10
|
*
|
|
@@ -13,6 +13,13 @@ export interface Undo<Move = string, PlayerId = number> {
|
|
|
13
13
|
* @returns true if the action can be undone
|
|
14
14
|
*/
|
|
15
15
|
canUndo(action: Action<Move, PlayerId>, consecutiveActions: Action<Move, PlayerId>[]): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* When a move is undone, the game state is recalculated by playing all the moves from the beginning.
|
|
18
|
+
* Sometimes some changes are not in the move history: local rotations, opening popups, etc.
|
|
19
|
+
* This function allow to keep those changes after the game state has been recalculated.
|
|
20
|
+
* @param previousState State before the undo is applied
|
|
21
|
+
*/
|
|
22
|
+
restoreTransientState?(previousState: Game): void;
|
|
16
23
|
}
|
|
17
24
|
/**
|
|
18
25
|
* Type guard to know if a game implements the Undo feature.
|
|
@@ -20,4 +27,4 @@ export interface Undo<Move = string, PlayerId = number> {
|
|
|
20
27
|
* @param rules Rules of the game
|
|
21
28
|
* @returns true if rules implements {@link Undo}
|
|
22
29
|
*/
|
|
23
|
-
export declare function hasUndo<Move, PlayerId>(rules: Object): rules is Undo<Move, PlayerId>;
|
|
30
|
+
export declare function hasUndo<Game, Move, PlayerId>(rules: Object): rules is Undo<Game, Move, PlayerId>;
|
package/dist/Undo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Undo.js","sourceRoot":"","sources":["../src/Undo.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Undo.js","sourceRoot":"","sources":["../src/Undo.ts"],"names":[],"mappings":";;;AA0BA;;;;;GAKG;AACH,SAAgB,OAAO,CAAuB,KAAa;IACzD,IAAM,IAAI,GAAG,KAAmC,CAAA;IAChD,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,CAAA;AAC3C,CAAC;AAHD,0BAGC"}
|
|
@@ -22,4 +22,5 @@ export type MaterialGame<Player extends number = number, MaterialType extends nu
|
|
|
22
22
|
helpDisplay?: HelpDisplay<Player, MaterialType, LocationType>;
|
|
23
23
|
droppedItem?: DisplayedItem<MaterialType>;
|
|
24
24
|
tutorial?: TutorialState;
|
|
25
|
+
transientItems?: Partial<Record<MaterialType, number[]>>;
|
|
25
26
|
};
|
|
@@ -21,7 +21,7 @@ import { MaterialRulesPart, MaterialRulesPartCreator } from './rules';
|
|
|
21
21
|
* @typeparam MaterialType - Numeric enum of the types of material manipulated in the game
|
|
22
22
|
* @typeparam LocationType - Numeric enum of the types of location in the game where the material can be located
|
|
23
23
|
*/
|
|
24
|
-
export declare abstract class MaterialRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> implements RandomMove<MaterialMove<Player, MaterialType, LocationType>, MaterialMoveRandomized<Player, MaterialType, LocationType>, Player>, Undo<MaterialMove<Player, MaterialType, LocationType>, Player>, UnpredictableMoves<MaterialMove<Player, MaterialType, LocationType>>, TimeLimit<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> {
|
|
24
|
+
export declare abstract class MaterialRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> implements RandomMove<MaterialMove<Player, MaterialType, LocationType>, MaterialMoveRandomized<Player, MaterialType, LocationType>, Player>, Undo<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player>, UnpredictableMoves<MaterialMove<Player, MaterialType, LocationType>>, TimeLimit<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> {
|
|
25
25
|
/**
|
|
26
26
|
* When you implement a game using the "material" approach, you are also strongly advised to split the rules of the game into many small parts.
|
|
27
27
|
* You should usually create a numeric enum class "RuleId" that will list all those small parts.
|
|
@@ -139,6 +139,10 @@ export declare abstract class MaterialRules<Player extends number = number, Mate
|
|
|
139
139
|
*/
|
|
140
140
|
protected moveBlocksUndo(move: MaterialMove<Player, MaterialType, LocationType>): boolean;
|
|
141
141
|
private moveActivatesPlayer;
|
|
142
|
+
/**
|
|
143
|
+
* Restore help display & local item moves
|
|
144
|
+
*/
|
|
145
|
+
restoreTransientState(previousState: MaterialGame<Player, MaterialType, LocationType>): void;
|
|
142
146
|
/**
|
|
143
147
|
* Random moves, or moves that reveals something to me, are unpredictable.
|
|
144
148
|
* Unpredictable moves cannot be precomputed on client side, the server side's response is necessary.
|
|
@@ -30,8 +30,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
30
30
|
};
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
32
|
exports.MaterialRules = void 0;
|
|
33
|
+
var difference_1 = __importDefault(require("lodash/difference"));
|
|
33
34
|
var random_1 = __importDefault(require("lodash/random"));
|
|
34
35
|
var shuffle_1 = __importDefault(require("lodash/shuffle"));
|
|
36
|
+
var union_1 = __importDefault(require("lodash/union"));
|
|
35
37
|
var Rules_1 = require("../Rules");
|
|
36
38
|
var TimeLimit_1 = require("../TimeLimit");
|
|
37
39
|
var items_1 = require("./items");
|
|
@@ -190,7 +192,7 @@ var MaterialRules = /** @class */ (function (_super) {
|
|
|
190
192
|
var rulesStep = this.rulesStep;
|
|
191
193
|
switch (move.kind) {
|
|
192
194
|
case moves_1.MoveKind.ItemMove:
|
|
193
|
-
if (rulesStep) {
|
|
195
|
+
if (rulesStep && !(context === null || context === void 0 ? void 0 : context.transient)) {
|
|
194
196
|
consequences.push.apply(consequences, rulesStep.beforeItemMove(move, context));
|
|
195
197
|
}
|
|
196
198
|
if (!this.game.items[move.itemType])
|
|
@@ -201,7 +203,16 @@ var MaterialRules = /** @class */ (function (_super) {
|
|
|
201
203
|
&& this.game.droppedItem.type === move.itemType && move.itemIndex === this.game.droppedItem.index) {
|
|
202
204
|
delete this.game.droppedItem;
|
|
203
205
|
}
|
|
204
|
-
|
|
206
|
+
var indexes = getItemMoveIndexes(move);
|
|
207
|
+
if (context === null || context === void 0 ? void 0 : context.transient) {
|
|
208
|
+
if (!this.game.transientItems)
|
|
209
|
+
this.game.transientItems = {};
|
|
210
|
+
this.game.transientItems[move.itemType] = (0, union_1.default)(this.game.transientItems[move.itemType], indexes);
|
|
211
|
+
}
|
|
212
|
+
else if (this.game.transientItems) {
|
|
213
|
+
this.game.transientItems[move.itemType] = (0, difference_1.default)(this.game.transientItems[move.itemType], indexes);
|
|
214
|
+
}
|
|
215
|
+
if (rulesStep && !(context === null || context === void 0 ? void 0 : context.transient)) {
|
|
205
216
|
consequences.push.apply(consequences, rulesStep.afterItemMove(move, context));
|
|
206
217
|
}
|
|
207
218
|
break;
|
|
@@ -329,6 +340,20 @@ var MaterialRules = /** @class */ (function (_super) {
|
|
|
329
340
|
MaterialRules.prototype.moveActivatesPlayer = function (move) {
|
|
330
341
|
return (0, moves_1.isStartPlayerTurn)(move) || (0, moves_1.isStartSimultaneousRule)(move);
|
|
331
342
|
};
|
|
343
|
+
/**
|
|
344
|
+
* Restore help display & local item moves
|
|
345
|
+
*/
|
|
346
|
+
MaterialRules.prototype.restoreTransientState = function (previousState) {
|
|
347
|
+
var _this = this;
|
|
348
|
+
this.game.helpDisplay = previousState.helpDisplay;
|
|
349
|
+
this.game.transientItems = previousState.transientItems;
|
|
350
|
+
var _loop_1 = function (type) {
|
|
351
|
+
previousState.transientItems[type].forEach(function (index) { return _this.game.items[type][index] = previousState.items[type][index]; });
|
|
352
|
+
};
|
|
353
|
+
for (var type in previousState.transientItems) {
|
|
354
|
+
_loop_1(type);
|
|
355
|
+
}
|
|
356
|
+
};
|
|
332
357
|
/**
|
|
333
358
|
* Random moves, or moves that reveals something to me, are unpredictable.
|
|
334
359
|
* Unpredictable moves cannot be precomputed on client side, the server side's response is necessary.
|
|
@@ -361,4 +386,19 @@ var MaterialRules = /** @class */ (function (_super) {
|
|
|
361
386
|
return MaterialRules;
|
|
362
387
|
}(Rules_1.Rules));
|
|
363
388
|
exports.MaterialRules = MaterialRules;
|
|
389
|
+
function getItemMoveIndexes(move) {
|
|
390
|
+
switch (move.type) {
|
|
391
|
+
case moves_1.ItemMoveType.Move:
|
|
392
|
+
case moves_1.ItemMoveType.Delete:
|
|
393
|
+
case moves_1.ItemMoveType.Roll:
|
|
394
|
+
case moves_1.ItemMoveType.Select:
|
|
395
|
+
return [move.itemIndex];
|
|
396
|
+
case moves_1.ItemMoveType.MoveAtOnce:
|
|
397
|
+
case moves_1.ItemMoveType.DeleteAtOnce:
|
|
398
|
+
case moves_1.ItemMoveType.Shuffle:
|
|
399
|
+
return move.indexes;
|
|
400
|
+
default:
|
|
401
|
+
return [];
|
|
402
|
+
}
|
|
403
|
+
}
|
|
364
404
|
//# sourceMappingURL=MaterialRules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialRules.js","sourceRoot":"","sources":["../../src/material/MaterialRules.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAkC;AAClC,2DAAoC;
|
|
1
|
+
{"version":3,"file":"MaterialRules.js","sourceRoot":"","sources":["../../src/material/MaterialRules.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ export declare namespace MaterialMoveBuilder {
|
|
|
32
32
|
/**
|
|
33
33
|
* Creates a {@link DisplayHelp} object
|
|
34
34
|
*/
|
|
35
|
-
const displayHelp: <P extends number = number, M extends number = number, L extends number = number>(helpDisplay
|
|
35
|
+
const displayHelp: <P extends number = number, M extends number = number, L extends number = number>(helpDisplay?: HelpDisplay<P, M, L>) => DisplayHelp<P, M, L>;
|
|
36
36
|
/**
|
|
37
37
|
* Creates a {@link DisplayHelp} object holding a {@link MaterialHelpDisplay}
|
|
38
38
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialMoveBuilder.js","sourceRoot":"","sources":["../../../src/material/moves/MaterialMoveBuilder.ts"],"names":[],"mappings":";;;AAEA,iCAWgB;AAEhB;;GAEG;AACH,IAAiB,mBAAmB,CA4EnC;AA5ED,WAAiB,mBAAmB;IAElC;;OAEG;IACU,mCAAe,GAAG,UAAuD,EAAK,EAAE,MAAS;QACpG,OAAA,CAAC,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,eAAe,EAAE,EAAE,IAAA,EAAE,MAAM,QAAA,EAAE,CAAC;IAA9E,CAA8E,CAAA;IAEhF;;OAEG;IACU,yCAAqB,GAAG,UAAuD,EAAK,EAAE,OAAa;QAC9G,IAAM,IAAI,GAAgC,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,qBAAqB,EAAE,EAAE,IAAA,EAAE,CAAA;QACpH,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED;;OAEG;IACU,iCAAa,GAAG,UAA4B,MAAS;QAChE,OAAA,CAAC,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,aAAa,EAAE,MAAM,QAAA,EAAE,CAAC;IAAxE,CAAwE,CAAA;IAE1E;;OAEG;IACU,6BAAS,GAAG,UAA4B,EAAK,IAAmB,OAAA,CAAC,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,SAAS,EAAE,EAAE,IAAA,EAAE,CAAC,EAAhE,CAAgE,CAAA;IAE7I;;OAEG;IACU,8BAAU,GAAG,UAA+B,IAAU,EAAE,IAAU;QAC7E,IAAM,IAAI,GAAe,EAAE,IAAI,EAAE,gBAAQ,CAAC,UAAU,EAAE,IAAI,MAAA,EAAE,CAAA;QAC5D,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QACxC,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED;;OAEG;IACU,2BAAO,GAAG,cAAe,OAAA,CAAC,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,OAAO,EAAE,CAAC,EAA1D,CAA0D,CAAA;IAEhG;;OAEG;IACU,+BAAW,GAAG,UAC1B,
|
|
1
|
+
{"version":3,"file":"MaterialMoveBuilder.js","sourceRoot":"","sources":["../../../src/material/moves/MaterialMoveBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,5 +44,5 @@ export type RulesHelpDisplay<RuleId extends number = number> = {
|
|
|
44
44
|
export type DisplayHelp<P extends number = number, M extends number = number, L extends number = number> = {
|
|
45
45
|
kind: MoveKind.LocalMove;
|
|
46
46
|
type: typeof LocalMoveType.DisplayHelp;
|
|
47
|
-
helpDisplay
|
|
47
|
+
helpDisplay?: HelpDisplay<P, M, L>;
|
|
48
48
|
};
|