@gamepark/rules-api 6.0.11-alpha.0 → 6.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/material/MaterialGame.d.ts +1 -2
- package/dist/material/MaterialGameSetup.d.ts +3 -1
- package/dist/material/MaterialGameSetup.js +8 -23
- package/dist/material/MaterialGameSetup.js.map +1 -1
- package/dist/material/MaterialRules.d.ts +7 -3
- package/dist/material/MaterialRules.js +18 -22
- package/dist/material/MaterialRules.js.map +1 -1
- package/dist/material/index.d.ts +1 -0
- package/dist/material/index.js +1 -0
- package/dist/material/index.js.map +1 -1
- package/dist/material/items/Material.d.ts +3 -1
- package/dist/material/items/Material.js +17 -2
- package/dist/material/items/Material.js.map +1 -1
- package/dist/material/memory/GameMemory.d.ts +8 -0
- package/dist/material/memory/GameMemory.js +25 -0
- package/dist/material/memory/GameMemory.js.map +1 -0
- package/dist/material/memory/PlayerMemory.d.ts +9 -0
- package/dist/material/memory/PlayerMemory.js +28 -0
- package/dist/material/memory/PlayerMemory.js.map +1 -0
- package/dist/material/memory/index.d.ts +2 -0
- package/dist/material/memory/index.js +19 -0
- package/dist/material/memory/index.js.map +1 -0
- package/dist/material/moves/CustomMove.d.ts +2 -1
- package/dist/material/moves/CustomMove.js +6 -4
- package/dist/material/moves/CustomMove.js.map +1 -1
- package/dist/material/moves/items/CreateItem.d.ts +2 -1
- package/dist/material/moves/items/CreateItem.js +9 -3
- package/dist/material/moves/items/CreateItem.js.map +1 -1
- package/dist/material/moves/items/DeleteItem.d.ts +2 -1
- package/dist/material/moves/items/DeleteItem.js +9 -3
- package/dist/material/moves/items/DeleteItem.js.map +1 -1
- package/dist/material/moves/items/MoveItem.d.ts +4 -2
- package/dist/material/moves/items/MoveItem.js +17 -5
- package/dist/material/moves/items/MoveItem.js.map +1 -1
- package/dist/material/moves/items/Shuffle.d.ts +2 -1
- package/dist/material/moves/items/Shuffle.js +9 -3
- package/dist/material/moves/items/Shuffle.js.map +1 -1
- package/dist/material/moves/local/DisplayRules.d.ts +2 -2
- package/dist/material/moves/local/DisplayRules.js +1 -2
- package/dist/material/moves/local/DisplayRules.js.map +1 -1
- package/dist/material/moves/rules/EndPlayerTurn.d.ts +7 -0
- package/dist/material/moves/rules/EndPlayerTurn.js +10 -0
- package/dist/material/moves/rules/EndPlayerTurn.js.map +1 -0
- package/dist/material/moves/rules/RuleMove.d.ts +5 -3
- package/dist/material/moves/rules/RuleMove.js +2 -2
- package/dist/material/moves/rules/RuleMove.js.map +1 -1
- package/dist/material/moves/rules/StartPlayerTurn.d.ts +0 -1
- package/dist/material/moves/rules/StartPlayerTurn.js.map +1 -1
- package/dist/material/moves/rules/StartRule.d.ts +1 -3
- package/dist/material/moves/rules/StartRule.js.map +1 -1
- package/dist/material/moves/rules/StartSimultaneousRule.d.ts +8 -0
- package/dist/material/moves/rules/StartSimultaneousRule.js +10 -0
- package/dist/material/moves/rules/StartSimultaneousRule.js.map +1 -0
- package/dist/material/moves/rules/StartSimultanousRule.d.ts +10 -0
- package/dist/material/moves/rules/StartSimultanousRule.js +10 -0
- package/dist/material/moves/rules/StartSimultanousRule.js.map +1 -0
- package/dist/material/moves/rules/index.d.ts +3 -1
- package/dist/material/moves/rules/index.js +3 -1
- package/dist/material/moves/rules/index.js.map +1 -1
- package/dist/material/rules/MaterialRulesMovesBuilder.d.ts +5 -3
- package/dist/material/rules/MaterialRulesMovesBuilder.js +12 -11
- package/dist/material/rules/MaterialRulesMovesBuilder.js.map +1 -1
- package/dist/material/rules/MaterialRulesPart.d.ts +5 -4
- package/dist/material/rules/MaterialRulesPart.js +8 -50
- package/dist/material/rules/MaterialRulesPart.js.map +1 -1
- package/dist/material/rules/PlayerTurnRule.d.ts +0 -4
- package/dist/material/rules/PlayerTurnRule.js +0 -12
- package/dist/material/rules/PlayerTurnRule.js.map +1 -1
- package/dist/material/rules/RuleStep.d.ts +1 -2
- package/dist/material/rules/SimultaneousRule.d.ts +7 -0
- package/dist/material/rules/SimultaneousRule.js +39 -0
- package/dist/material/rules/SimultaneousRule.js.map +1 -0
- package/dist/material/rules/index.d.ts +3 -1
- package/dist/material/rules/index.js +3 -1
- package/dist/material/rules/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -5,8 +5,7 @@ export declare type MaterialGame<Player extends number = number, MaterialType ex
|
|
|
5
5
|
players: Player[];
|
|
6
6
|
items: Partial<Record<MaterialType, MaterialItem<Player, LocationType>[]>>;
|
|
7
7
|
rule?: RuleStep<Player>;
|
|
8
|
-
memory
|
|
9
|
-
playersMemory?: Partial<Record<Player, Record<string, any>>>;
|
|
8
|
+
memory: Record<keyof any, any>;
|
|
10
9
|
rulesDisplay?: RulesDisplay<Player, MaterialType, LocationType>;
|
|
11
10
|
droppedItem?: DisplayedItem<MaterialType>;
|
|
12
11
|
tutorialStep?: number;
|
|
@@ -3,6 +3,7 @@ import { Material } from './items';
|
|
|
3
3
|
import { RuleStep } from './rules';
|
|
4
4
|
import { LocationStrategy } from './location';
|
|
5
5
|
import { GameSetup } from '../GameSetup';
|
|
6
|
+
import { GameMemory, PlayerMemory } from './memory';
|
|
6
7
|
export declare abstract class MaterialGameSetup<P extends number = number, M extends number = number, L extends number = number, Options = any> implements GameSetup<MaterialGame<P, M, L>, Options> {
|
|
7
8
|
readonly locationsStrategies: Partial<Record<M, Partial<Record<L, LocationStrategy<P, M, L>>>>>;
|
|
8
9
|
protected game: MaterialGame<P, M, L>;
|
|
@@ -10,6 +11,7 @@ export declare abstract class MaterialGameSetup<P extends number = number, M ext
|
|
|
10
11
|
get players(): P[];
|
|
11
12
|
abstract setupMaterial(options: Options): void;
|
|
12
13
|
material(type: M): Material<P, M, L>;
|
|
13
|
-
|
|
14
|
+
protected getMemory(player?: P): GameMemory<P> | PlayerMemory<P>;
|
|
15
|
+
memorize<T = any>(key: keyof any, value: T | ((lastValue: T) => T), player?: P): void;
|
|
14
16
|
abstract start(options: Options): RuleStep<P>;
|
|
15
17
|
}
|
|
@@ -1,25 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.MaterialGameSetup = void 0;
|
|
15
4
|
var items_1 = require("./items");
|
|
5
|
+
var memory_1 = require("./memory");
|
|
16
6
|
var MaterialGameSetup = /** @class */ (function () {
|
|
17
7
|
function MaterialGameSetup() {
|
|
18
8
|
this.locationsStrategies = {};
|
|
19
|
-
this.game = { players: [], items: {} };
|
|
9
|
+
this.game = { players: [], items: {}, memory: {} };
|
|
20
10
|
}
|
|
21
11
|
MaterialGameSetup.prototype.setup = function (options) {
|
|
22
|
-
this.game = { players: getPlayerIds(options), items: {} };
|
|
12
|
+
this.game = { players: getPlayerIds(options), items: {}, memory: {} };
|
|
23
13
|
this.setupMaterial(options);
|
|
24
14
|
this.game.rule = this.start(options);
|
|
25
15
|
return this.game;
|
|
@@ -38,16 +28,11 @@ var MaterialGameSetup = /** @class */ (function () {
|
|
|
38
28
|
var mutator = new items_1.MaterialMutator(type, items, this.locationsStrategies[type]);
|
|
39
29
|
return new items_1.Material(type, Array.from(items.entries()).filter(function (entry) { return entry[1].quantity !== 0; }), function (move) { return mutator.applyMove(mutator.randomize(JSON.parse(JSON.stringify(move)))); });
|
|
40
30
|
};
|
|
41
|
-
MaterialGameSetup.prototype.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
this.game.playersMemory[player] = __assign(__assign({}, (_a = this.game.playersMemory[player]) !== null && _a !== void 0 ? _a : {}), memory);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
this.game.memory = __assign(__assign({}, this.game.memory), memory);
|
|
50
|
-
}
|
|
31
|
+
MaterialGameSetup.prototype.getMemory = function (player) {
|
|
32
|
+
return player === undefined ? new memory_1.GameMemory(this.game) : new memory_1.PlayerMemory(this.game, player);
|
|
33
|
+
};
|
|
34
|
+
MaterialGameSetup.prototype.memorize = function (key, value, player) {
|
|
35
|
+
this.getMemory(player).memorize(key, value);
|
|
51
36
|
};
|
|
52
37
|
return MaterialGameSetup;
|
|
53
38
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialGameSetup.js","sourceRoot":"","sources":["../../src/material/MaterialGameSetup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MaterialGameSetup.js","sourceRoot":"","sources":["../../src/material/MaterialGameSetup.ts"],"names":[],"mappings":";;;AACA,iCAAmD;AAInD,mCAAmD;AAEnD;IAAA;QAGW,wBAAmB,GAAsE,EAAE,CAAA;QAE1F,SAAI,GAA0B,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAgChF,CAAC;IA9BC,iCAAK,GAAL,UAAM,OAAgB;QACpB,IAAI,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QACrE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpC,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,sBAAI,sCAAO;aAAX;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;QAC1B,CAAC;;;OAAA;IAID,oCAAQ,GAAR,UAAS,IAAO;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QACtD,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,CAAA;QACpC,IAAM,OAAO,GAAG,IAAI,uBAAe,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA;QAChF,OAAO,IAAI,gBAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAvB,CAAuB,CAAC,EAC5F,UAAA,IAAI,IAAI,OAAA,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAtE,CAAsE,CAAC,CAAA;IACnF,CAAC;IAES,qCAAS,GAAnB,UAAoB,MAAU;QAC5B,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,mBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC/F,CAAC;IAED,oCAAQ,GAAR,UAAkB,GAAc,EAAE,KAAgC,EAAE,MAAU;QAC5E,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC7C,CAAC;IAGH,wBAAC;AAAD,CAAC,AArCD,IAqCC;AArCqB,8CAAiB;AAuCvC,SAAS,YAAY,CAAiC,OAAY;;IAChE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAClC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAW,IAAK,OAAA,MAAM,CAAC,EAAE,EAAT,CAAS,CAAC,CAAA;KACvD;SAAM;QACL,IAAM,eAAe,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,CAAC,CAAA;QAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAClD,UAAC,EAAE,IAAK,OAAA,CAAC,EAAE,GAAG,CAAC,CAAW,EAAlB,CAAkB,CAC3B,CAAA;KACF;AACH,CAAC"}
|
|
@@ -7,19 +7,20 @@ import { MaterialRulesPart, MaterialRulesPartCreator } from './rules';
|
|
|
7
7
|
import { LocationStrategy } from './location';
|
|
8
8
|
import { Undo } from '../Undo';
|
|
9
9
|
import { Action } from '../Action';
|
|
10
|
+
import { GameMemory, PlayerMemory } from './memory';
|
|
10
11
|
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>>, Undo<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> {
|
|
11
12
|
items(type: MaterialType): MaterialItem<Player, LocationType>[];
|
|
12
13
|
material(type: MaterialType): Material<Player, MaterialType, LocationType>;
|
|
13
14
|
abstract readonly rules: Record<number, MaterialRulesPartCreator<Player, MaterialType, LocationType>>;
|
|
14
15
|
readonly locationsStrategies: Partial<Record<MaterialType, Partial<Record<LocationType, LocationStrategy<Player, MaterialType, LocationType>>>>>;
|
|
15
16
|
get players(): Player[];
|
|
16
|
-
getMemory
|
|
17
|
+
protected getMemory(player?: Player): GameMemory<Player> | PlayerMemory<Player>;
|
|
18
|
+
remind<T = any>(key: keyof any, player?: Player): T;
|
|
17
19
|
get rulesStep(): MaterialRulesPart<Player, MaterialType, LocationType> | undefined;
|
|
18
|
-
|
|
20
|
+
mutator(type: MaterialType): MaterialMutator<Player, MaterialType, LocationType>;
|
|
19
21
|
delegate(): Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> | undefined;
|
|
20
22
|
randomize(move: MaterialMove<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType> & MaterialMoveRandomized<Player, MaterialType, LocationType>;
|
|
21
23
|
play(move: MaterialMoveRandomized<Player, MaterialType, LocationType> | MaterialMoveView<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType>[];
|
|
22
|
-
isMoveTrigger(move: MaterialMove<Player, MaterialType, LocationType>, predicate: (move: MaterialMove<Player, MaterialType, LocationType>) => boolean): boolean;
|
|
23
24
|
canUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>, consecutiveActions: Action<MaterialMove<Player, MaterialType, LocationType>, Player>[]): boolean;
|
|
24
25
|
protected actionBlocksUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>): boolean;
|
|
25
26
|
protected actionActivatesPlayer(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>): boolean;
|
|
@@ -30,3 +31,6 @@ export declare abstract class MaterialRules<Player extends number = number, Mate
|
|
|
30
31
|
restoreLocalMoves(game: MaterialGame<Player, MaterialType, LocationType>): void;
|
|
31
32
|
isOver(playerIds?: Player[]): boolean;
|
|
32
33
|
}
|
|
34
|
+
export interface MaterialRulesCreator<P extends number = number, M extends number = number, L extends number = number> {
|
|
35
|
+
new (state: MaterialGame<P, M, L>): MaterialRules<P, M, L>;
|
|
36
|
+
}
|
|
@@ -14,22 +14,12 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
14
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
|
-
var __assign = (this && this.__assign) || function () {
|
|
18
|
-
__assign = Object.assign || function(t) {
|
|
19
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
-
s = arguments[i];
|
|
21
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
-
t[p] = s[p];
|
|
23
|
-
}
|
|
24
|
-
return t;
|
|
25
|
-
};
|
|
26
|
-
return __assign.apply(this, arguments);
|
|
27
|
-
};
|
|
28
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
18
|
exports.MaterialRules = void 0;
|
|
30
19
|
var Rules_1 = require("../Rules");
|
|
31
20
|
var moves_1 = require("./moves");
|
|
32
21
|
var items_1 = require("./items");
|
|
22
|
+
var memory_1 = require("./memory");
|
|
33
23
|
var MaterialRules = /** @class */ (function (_super) {
|
|
34
24
|
__extends(MaterialRules, _super);
|
|
35
25
|
function MaterialRules() {
|
|
@@ -53,9 +43,10 @@ var MaterialRules = /** @class */ (function (_super) {
|
|
|
53
43
|
configurable: true
|
|
54
44
|
});
|
|
55
45
|
MaterialRules.prototype.getMemory = function (player) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
46
|
+
return player === undefined ? new memory_1.GameMemory(this.game) : new memory_1.PlayerMemory(this.game, player);
|
|
47
|
+
};
|
|
48
|
+
MaterialRules.prototype.remind = function (key, player) {
|
|
49
|
+
return this.getMemory(player).remind(key);
|
|
59
50
|
};
|
|
60
51
|
Object.defineProperty(MaterialRules.prototype, "rulesStep", {
|
|
61
52
|
get: function () {
|
|
@@ -81,7 +72,7 @@ var MaterialRules = /** @class */ (function (_super) {
|
|
|
81
72
|
return move;
|
|
82
73
|
};
|
|
83
74
|
MaterialRules.prototype.play = function (move) {
|
|
84
|
-
var _a, _b;
|
|
75
|
+
var _a, _b, _c;
|
|
85
76
|
var consequences = [];
|
|
86
77
|
var rulesStep = this.rulesStep;
|
|
87
78
|
switch (move.kind) {
|
|
@@ -108,13 +99,22 @@ var MaterialRules = /** @class */ (function (_super) {
|
|
|
108
99
|
}
|
|
109
100
|
switch (move.type) {
|
|
110
101
|
case moves_1.RuleMoveType.StartPlayerTurn:
|
|
111
|
-
this.game.rule = { id: move.id, player: move.player
|
|
102
|
+
this.game.rule = { id: move.id, player: move.player };
|
|
103
|
+
break;
|
|
104
|
+
case moves_1.RuleMoveType.StartSimultaneousRule:
|
|
105
|
+
this.game.rule = { id: move.id, players: (_a = move.players) !== null && _a !== void 0 ? _a : this.game.players };
|
|
106
|
+
break;
|
|
107
|
+
case moves_1.RuleMoveType.EndPlayerTurn:
|
|
108
|
+
if ((_b = this.game.rule) === null || _b === void 0 ? void 0 : _b.players) {
|
|
109
|
+
this.game.rule.players = this.game.rule.players.filter(function (player) { return player !== move.player; });
|
|
110
|
+
}
|
|
112
111
|
break;
|
|
113
112
|
case moves_1.RuleMoveType.StartRule:
|
|
114
|
-
this.game.rule = { id: move.id, player: (
|
|
113
|
+
this.game.rule = { id: move.id, player: (_c = this.game.rule) === null || _c === void 0 ? void 0 : _c.player };
|
|
115
114
|
break;
|
|
116
115
|
case moves_1.RuleMoveType.EndGame:
|
|
117
116
|
delete this.game.rule;
|
|
117
|
+
break;
|
|
118
118
|
}
|
|
119
119
|
if (move.type !== moves_1.RuleMoveType.EndGame) {
|
|
120
120
|
consequences.push.apply(consequences, this.rulesStep.onRuleStart(move, rule));
|
|
@@ -147,10 +147,6 @@ var MaterialRules = /** @class */ (function (_super) {
|
|
|
147
147
|
}
|
|
148
148
|
return consequences;
|
|
149
149
|
};
|
|
150
|
-
MaterialRules.prototype.isMoveTrigger = function (move, predicate) {
|
|
151
|
-
var _this = this;
|
|
152
|
-
return predicate(move) || (move.kind === moves_1.MoveKind.CustomMove && this.play(move).some(function (consequence) { return _this.isMoveTrigger(consequence, predicate); }));
|
|
153
|
-
};
|
|
154
150
|
MaterialRules.prototype.canUndo = function (action, consecutiveActions) {
|
|
155
151
|
for (var i = consecutiveActions.length - 1; i >= 0; i--) {
|
|
156
152
|
var consecutiveAction = consecutiveActions[i];
|
|
@@ -180,7 +176,7 @@ var MaterialRules = /** @class */ (function (_super) {
|
|
|
180
176
|
return this.moveActivatesPlayer(move) || this.isRandomMove(move);
|
|
181
177
|
};
|
|
182
178
|
MaterialRules.prototype.moveActivatesPlayer = function (move) {
|
|
183
|
-
return (0, moves_1.isStartPlayerTurn)(move)
|
|
179
|
+
return (0, moves_1.isStartPlayerTurn)(move) || (0, moves_1.isStartSimultaneousRule)(move);
|
|
184
180
|
};
|
|
185
181
|
MaterialRules.prototype.isUnpredictableMove = function (_move, _player) {
|
|
186
182
|
return false; // TODO: isThrowDice(move)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialRules.js","sourceRoot":"","sources":["../../src/material/MaterialRules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MaterialRules.js","sourceRoot":"","sources":["../../src/material/MaterialRules.ts"],"names":[],"mappings":"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"}
|
package/dist/material/index.d.ts
CHANGED
package/dist/material/index.js
CHANGED
|
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./items"), exports);
|
|
18
18
|
__exportStar(require("./location"), exports);
|
|
19
|
+
__exportStar(require("./memory"), exports);
|
|
19
20
|
__exportStar(require("./moves"), exports);
|
|
20
21
|
__exportStar(require("./rules"), exports);
|
|
21
22
|
__exportStar(require("./HiddenMaterialRules"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/material/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,6CAA0B;AAC1B,0CAAuB;AACvB,0CAAuB;AACvB,wDAAqC;AACrC,iDAA8B;AAC9B,kDAA+B;AAC/B,sDAAmC;AACnC,wDAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/material/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,6CAA0B;AAC1B,2CAAwB;AACxB,0CAAuB;AACvB,0CAAuB;AACvB,wDAAqC;AACrC,iDAA8B;AAC9B,kDAA+B;AAC/B,sDAAmC;AACnC,wDAAqC"}
|
|
@@ -15,8 +15,10 @@ export declare class Material<P extends number = number, M extends number = numb
|
|
|
15
15
|
getIndex(): number;
|
|
16
16
|
getIndexes(): number[];
|
|
17
17
|
index(index: number): Material<P, M, L>;
|
|
18
|
+
indexes(indexes: number[]): Material<P, M, L>;
|
|
18
19
|
get length(): number;
|
|
19
|
-
|
|
20
|
+
getQuantity(): number;
|
|
21
|
+
filter(predicate: (item: MaterialItem<P, L>, index: number) => boolean): Material<P, M, L>;
|
|
20
22
|
id<Id extends string | number | Record<string, any>>(arg?: Id | ((id?: Id) => boolean)): Material<P, M, L>;
|
|
21
23
|
location(arg: L | ((location: Location<P, L>) => boolean)): Material<P, M, L>;
|
|
22
24
|
rotation(arg: ((rotation?: Partial<Coordinates>) => boolean)): Material<P, M, L>;
|
|
@@ -9,6 +9,7 @@ var moves_1 = require("../moves");
|
|
|
9
9
|
var minBy_1 = __importDefault(require("lodash/minBy"));
|
|
10
10
|
var maxBy_1 = __importDefault(require("lodash/maxBy"));
|
|
11
11
|
var orderBy_1 = __importDefault(require("lodash/orderBy"));
|
|
12
|
+
var sumBy_1 = __importDefault(require("lodash/sumBy"));
|
|
12
13
|
var Material = /** @class */ (function () {
|
|
13
14
|
function Material(type, items, processMove) {
|
|
14
15
|
this.type = type;
|
|
@@ -50,6 +51,13 @@ var Material = /** @class */ (function () {
|
|
|
50
51
|
});
|
|
51
52
|
return this.new(item ? [item] : []);
|
|
52
53
|
};
|
|
54
|
+
Material.prototype.indexes = function (indexes) {
|
|
55
|
+
var items = this.entries.filter(function (_a) {
|
|
56
|
+
var i = _a[0];
|
|
57
|
+
return indexes.includes(i);
|
|
58
|
+
});
|
|
59
|
+
return this.new(items);
|
|
60
|
+
};
|
|
53
61
|
Object.defineProperty(Material.prototype, "length", {
|
|
54
62
|
get: function () {
|
|
55
63
|
return this.entries.length;
|
|
@@ -57,10 +65,17 @@ var Material = /** @class */ (function () {
|
|
|
57
65
|
enumerable: false,
|
|
58
66
|
configurable: true
|
|
59
67
|
});
|
|
68
|
+
Material.prototype.getQuantity = function () {
|
|
69
|
+
return (0, sumBy_1.default)(this.entries, function (_a) {
|
|
70
|
+
var _b;
|
|
71
|
+
var item = _a[1];
|
|
72
|
+
return (_b = item.quantity) !== null && _b !== void 0 ? _b : 1;
|
|
73
|
+
});
|
|
74
|
+
};
|
|
60
75
|
Material.prototype.filter = function (predicate) {
|
|
61
76
|
return this.new(this.entries.filter(function (_a) {
|
|
62
|
-
var item = _a[1];
|
|
63
|
-
return predicate(item);
|
|
77
|
+
var index = _a[0], item = _a[1];
|
|
78
|
+
return predicate(item, index);
|
|
64
79
|
}));
|
|
65
80
|
};
|
|
66
81
|
Material.prototype.id = function (arg) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Material.js","sourceRoot":"","sources":["../../../src/material/items/Material.ts"],"names":[],"mappings":";;;;;;AAEA,oEAAmC;AACnC,kCAAsG;AACtG,uDAAgC;AAChC,uDAAgC;AAChC,2DAAoC;
|
|
1
|
+
{"version":3,"file":"Material.js","sourceRoot":"","sources":["../../../src/material/items/Material.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MaterialGame } from '../MaterialGame';
|
|
2
|
+
export declare class GameMemory<Player extends number = number> {
|
|
3
|
+
private game;
|
|
4
|
+
constructor(game: MaterialGame<Player>);
|
|
5
|
+
memorize<T = any>(key: keyof any, value: T | ((lastValue: T) => T)): void;
|
|
6
|
+
remind<T = any>(key: keyof any): T;
|
|
7
|
+
forget(key: keyof any): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GameMemory = void 0;
|
|
4
|
+
var GameMemory = /** @class */ (function () {
|
|
5
|
+
function GameMemory(game) {
|
|
6
|
+
this.game = game;
|
|
7
|
+
}
|
|
8
|
+
GameMemory.prototype.memorize = function (key, value) {
|
|
9
|
+
if (typeof value === 'function') {
|
|
10
|
+
this.game.memory[key] = value(this.game.memory[key]);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
this.game.memory[key] = value;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
GameMemory.prototype.remind = function (key) {
|
|
17
|
+
return this.game.memory[key];
|
|
18
|
+
};
|
|
19
|
+
GameMemory.prototype.forget = function (key) {
|
|
20
|
+
delete this.game.memory[key];
|
|
21
|
+
};
|
|
22
|
+
return GameMemory;
|
|
23
|
+
}());
|
|
24
|
+
exports.GameMemory = GameMemory;
|
|
25
|
+
//# sourceMappingURL=GameMemory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GameMemory.js","sourceRoot":"","sources":["../../../src/material/memory/GameMemory.ts"],"names":[],"mappings":";;;AAEA;IACE,oBAAoB,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;IAC9C,CAAC;IAED,6BAAQ,GAAR,UAAkB,GAAc,EAAE,KAAgC;QAChE,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAI,KAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;SAC9E;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;SAC9B;IACH,CAAC;IAED,2BAAM,GAAN,UAAgB,GAAc;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,2BAAM,GAAN,UAAO,GAAc;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IACH,iBAAC;AAAD,CAAC,AAnBD,IAmBC;AAnBY,gCAAU"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MaterialGame } from '../MaterialGame';
|
|
2
|
+
export declare class PlayerMemory<Player extends number = number> {
|
|
3
|
+
private game;
|
|
4
|
+
private player;
|
|
5
|
+
constructor(game: MaterialGame<Player>, player: Player);
|
|
6
|
+
memorize<T = any>(key: keyof any, value: T | ((lastValue: T) => T)): void;
|
|
7
|
+
remind<T = any>(key: keyof any): T;
|
|
8
|
+
forget(key: keyof any): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PlayerMemory = void 0;
|
|
4
|
+
var PlayerMemory = /** @class */ (function () {
|
|
5
|
+
function PlayerMemory(game, player) {
|
|
6
|
+
this.game = game;
|
|
7
|
+
this.player = player;
|
|
8
|
+
}
|
|
9
|
+
PlayerMemory.prototype.memorize = function (key, value) {
|
|
10
|
+
if (!this.game.memory[key])
|
|
11
|
+
this.game.memory[key] = {};
|
|
12
|
+
if (typeof value === 'function') {
|
|
13
|
+
this.game.memory[key][this.player] = value(this.game.memory[key][this.player]);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
this.game.memory[key][this.player] = value;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
PlayerMemory.prototype.remind = function (key) {
|
|
20
|
+
return this.game.memory[key][this.player];
|
|
21
|
+
};
|
|
22
|
+
PlayerMemory.prototype.forget = function (key) {
|
|
23
|
+
delete this.game.memory[key][this.player];
|
|
24
|
+
};
|
|
25
|
+
return PlayerMemory;
|
|
26
|
+
}());
|
|
27
|
+
exports.PlayerMemory = PlayerMemory;
|
|
28
|
+
//# sourceMappingURL=PlayerMemory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlayerMemory.js","sourceRoot":"","sources":["../../../src/material/memory/PlayerMemory.ts"],"names":[],"mappings":";;;AAEA;IACE,sBAAoB,IAA0B,EAAU,MAAc;QAAlD,SAAI,GAAJ,IAAI,CAAsB;QAAU,WAAM,GAAN,MAAM,CAAQ;IACtE,CAAC;IAED,+BAAQ,GAAR,UAAkB,GAAc,EAAE,KAAgC;QAChE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;QACtD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,KAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;SACxG;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;SAC3C;IACH,CAAC;IAED,6BAAM,GAAN,UAAgB,GAAc;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAED,6BAAM,GAAN,UAAO,GAAc;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IACH,mBAAC;AAAD,CAAC,AApBD,IAoBC;AApBY,oCAAY"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./GameMemory"), exports);
|
|
18
|
+
__exportStar(require("./PlayerMemory"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/memory/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,iDAA8B"}
|
|
@@ -5,4 +5,5 @@ export declare type CustomMove<Type extends number = number> = {
|
|
|
5
5
|
type: Type;
|
|
6
6
|
data?: any;
|
|
7
7
|
};
|
|
8
|
-
export declare
|
|
8
|
+
export declare const isCustomMove: <T extends number = number, P extends number = number, M extends number = number, L extends number = number>(move: MaterialMove<P, M, L>) => move is CustomMove<T>;
|
|
9
|
+
export declare function isCustomMoveType<T extends number = number, P extends number = number, M extends number = number, L extends number = number>(type: T): (move: MaterialMove<P, M, L>) => move is CustomMove<T>;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isCustomMove = void 0;
|
|
3
|
+
exports.isCustomMoveType = exports.isCustomMove = void 0;
|
|
4
4
|
var MoveKind_1 = require("./MoveKind");
|
|
5
|
-
function
|
|
6
|
-
return move.kind === MoveKind_1.MoveKind.CustomMove && (type === undefined || move.type === type);
|
|
7
|
-
}
|
|
5
|
+
var isCustomMove = function (move) { return move.kind === MoveKind_1.MoveKind.CustomMove; };
|
|
8
6
|
exports.isCustomMove = isCustomMove;
|
|
7
|
+
function isCustomMoveType(type) {
|
|
8
|
+
return function (move) { return (0, exports.isCustomMove)(move) && move.type === type; };
|
|
9
|
+
}
|
|
10
|
+
exports.isCustomMoveType = isCustomMoveType;
|
|
9
11
|
//# sourceMappingURL=CustomMove.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomMove.js","sourceRoot":"","sources":["../../../src/material/moves/CustomMove.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;
|
|
1
|
+
{"version":3,"file":"CustomMove.js","sourceRoot":"","sources":["../../../src/material/moves/CustomMove.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAS9B,IAAM,YAAY,GAAG,UAC1B,IAA2B,IACD,OAAA,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,UAAU,EAAjC,CAAiC,CAAA;AAFhD,QAAA,YAAY,gBAEoC;AAE7D,SAAgB,gBAAgB,CAC9B,IAAO;IAEP,OAAO,UAAC,IAA2B,IAA4B,OAAA,IAAA,oBAAY,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAxC,CAAwC,CAAA;AACzG,CAAC;AAJD,4CAIC"}
|
|
@@ -6,4 +6,5 @@ export declare type CreateItem<P extends number = number, M extends number = num
|
|
|
6
6
|
type: typeof ItemMoveType.Create;
|
|
7
7
|
item: MaterialItem<P, L>;
|
|
8
8
|
};
|
|
9
|
-
export declare function isCreateItem<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L
|
|
9
|
+
export declare function isCreateItem<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is CreateItem<P, M, L>;
|
|
10
|
+
export declare function isCreateItemType<P extends number, M extends number, L extends number>(type: M): (move: MaterialMove<P, M, L>) => move is CreateItem<P, M, L>;
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isCreateItem = void 0;
|
|
3
|
+
exports.isCreateItemType = exports.isCreateItem = void 0;
|
|
4
4
|
var ItemMoveType_1 = require("./ItemMoveType");
|
|
5
5
|
var MoveKind_1 = require("../MoveKind");
|
|
6
|
-
function isCreateItem(move
|
|
7
|
-
return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Create
|
|
6
|
+
function isCreateItem(move) {
|
|
7
|
+
return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Create;
|
|
8
8
|
}
|
|
9
9
|
exports.isCreateItem = isCreateItem;
|
|
10
|
+
function isCreateItemType(type) {
|
|
11
|
+
return function (move) {
|
|
12
|
+
return isCreateItem(move) && move.itemType === type;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
exports.isCreateItemType = isCreateItemType;
|
|
10
16
|
//# sourceMappingURL=CreateItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/CreateItem.ts"],"names":[],"mappings":";;;AACA,+CAA6C;AAG7C,wCAAsC;AAOtC,SAAgB,YAAY,
|
|
1
|
+
{"version":3,"file":"CreateItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/CreateItem.ts"],"names":[],"mappings":";;;AACA,+CAA6C;AAG7C,wCAAsC;AAOtC,SAAgB,YAAY,CAAuD,IAA2B;IAC5G,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,MAAM,CAAA;AAC7E,CAAC;AAFD,oCAEC;AAED,SAAgB,gBAAgB,CAC9B,IAAO;IAEP,OAAO,UAAC,IAA2B;QACjC,OAAA,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;IAA5C,CAA4C,CAAA;AAChD,CAAC;AALD,4CAKC"}
|
|
@@ -6,4 +6,5 @@ export declare type DeleteItem<MaterialType extends number = number> = MaterialM
|
|
|
6
6
|
itemIndex: number;
|
|
7
7
|
quantity?: number;
|
|
8
8
|
};
|
|
9
|
-
export declare function isDeleteItem<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L
|
|
9
|
+
export declare function isDeleteItem<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is DeleteItem<M>;
|
|
10
|
+
export declare function isDeleteItemType<P extends number, M extends number, L extends number>(type: M, index?: number): (move: MaterialMove<P, M, L>) => move is DeleteItem<M>;
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isDeleteItem = void 0;
|
|
3
|
+
exports.isDeleteItemType = exports.isDeleteItem = void 0;
|
|
4
4
|
var ItemMoveType_1 = require("./ItemMoveType");
|
|
5
5
|
var MoveKind_1 = require("../MoveKind");
|
|
6
|
-
function isDeleteItem(move
|
|
7
|
-
return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Delete
|
|
6
|
+
function isDeleteItem(move) {
|
|
7
|
+
return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Delete;
|
|
8
8
|
}
|
|
9
9
|
exports.isDeleteItem = isDeleteItem;
|
|
10
|
+
function isDeleteItemType(type, index) {
|
|
11
|
+
return function (move) {
|
|
12
|
+
return isDeleteItem(move) && move.itemType === type && (index === undefined || move.itemIndex === index);
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
exports.isDeleteItemType = isDeleteItemType;
|
|
10
16
|
//# sourceMappingURL=DeleteItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/DeleteItem.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAG7C,wCAAsC;AAQtC,SAAgB,YAAY,
|
|
1
|
+
{"version":3,"file":"DeleteItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/DeleteItem.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAG7C,wCAAsC;AAQtC,SAAgB,YAAY,CAAuD,IAA2B;IAC5G,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,MAAM,CAAA;AAC7E,CAAC;AAFD,oCAEC;AAED,SAAgB,gBAAgB,CAC9B,IAAO,EAAE,KAAc;IAEvB,OAAO,UAAC,IAA2B;QACjC,OAAA,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;IAAjG,CAAiG,CAAA;AACrG,CAAC;AALD,4CAKC"}
|
|
@@ -12,5 +12,7 @@ export declare type MoveItem<Player extends number = number, MaterialType extend
|
|
|
12
12
|
export declare type MoveItemLocation<P extends number, M extends number, L extends number> = MoveItem<P, M, L> & {
|
|
13
13
|
position: ItemPosition<P, L>;
|
|
14
14
|
};
|
|
15
|
-
export declare function isMoveItem<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L
|
|
16
|
-
export declare function
|
|
15
|
+
export declare function isMoveItem<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is MoveItem<P, M, L>;
|
|
16
|
+
export declare function isMoveItemType<P extends number, M extends number, L extends number>(type: M, index?: number): (move: MaterialMove<P, M, L>) => move is MoveItem<P, M, L>;
|
|
17
|
+
export declare function isMoveItemLocation<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is MoveItemLocation<P, M, L>;
|
|
18
|
+
export declare function isMoveItemTypeLocation<P extends number, M extends number, L extends number>(type: M, index?: number): (move: MaterialMove<P, M, L>) => move is MoveItemLocation<P, M, L>;
|