@gamepark/rules-api 6.10.0 → 6.11.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/Action.d.ts +4 -4
- package/dist/Action.js +3 -0
- package/dist/Action.js.map +1 -1
- package/dist/Competitive.d.ts +1 -1
- package/dist/Robot.d.ts +1 -1
- package/dist/UnpredictableMove.d.ts +1 -1
- package/dist/material/HiddenMaterialRules.d.ts +3 -2
- package/dist/material/HiddenMaterialRules.js +3 -1
- package/dist/material/HiddenMaterialRules.js.map +1 -1
- package/dist/material/MaterialGame.d.ts +1 -1
- package/dist/material/MaterialGameSetup.js +2 -2
- package/dist/material/MaterialGameSetup.js.map +1 -1
- package/dist/material/MaterialRules.d.ts +3 -2
- package/dist/material/MaterialRules.js +27 -5
- package/dist/material/MaterialRules.js.map +1 -1
- package/dist/material/SecretMaterialRules.d.ts +4 -3
- package/dist/material/SecretMaterialRules.js +3 -1
- package/dist/material/SecretMaterialRules.js.map +1 -1
- package/dist/material/items/Material.d.ts +14 -10
- package/dist/material/items/Material.js +71 -11
- package/dist/material/items/Material.js.map +1 -1
- package/dist/material/items/MaterialItem.d.ts +2 -5
- package/dist/material/items/MaterialMutator.d.ts +2 -3
- package/dist/material/items/MaterialMutator.js +14 -17
- package/dist/material/items/MaterialMutator.js.map +1 -1
- package/dist/material/location/Location.d.ts +3 -2
- package/dist/material/location/strategy/LocationStrategy.d.ts +1 -1
- package/dist/material/moves/CustomMove.d.ts +1 -1
- package/dist/material/moves/MaterialMove.d.ts +3 -3
- package/dist/material/moves/items/CreateItem.d.ts +1 -1
- package/dist/material/moves/items/DeleteItem.d.ts +1 -1
- package/dist/material/moves/items/ItemMove.d.ts +7 -6
- package/dist/material/moves/items/ItemMoveType.d.ts +2 -1
- package/dist/material/moves/items/ItemMoveType.js +1 -0
- package/dist/material/moves/items/ItemMoveType.js.map +1 -1
- package/dist/material/moves/items/MoveItem.d.ts +5 -9
- package/dist/material/moves/items/MoveItem.js +2 -12
- package/dist/material/moves/items/MoveItem.js.map +1 -1
- package/dist/material/moves/items/Roll.d.ts +11 -0
- package/dist/material/moves/items/Roll.js +16 -0
- package/dist/material/moves/items/Roll.js.map +1 -0
- package/dist/material/moves/items/RollItem.d.ts +11 -0
- package/dist/material/moves/items/RollItem.js +16 -0
- package/dist/material/moves/items/RollItem.js.map +1 -0
- package/dist/material/moves/items/Shuffle.d.ts +2 -2
- package/dist/material/moves/items/index.d.ts +1 -0
- package/dist/material/moves/items/index.js +1 -0
- package/dist/material/moves/items/index.js.map +1 -1
- package/dist/material/moves/local/CloseTutorialPopup.d.ts +1 -1
- package/dist/material/moves/local/DisplayRules.d.ts +7 -7
- package/dist/material/moves/local/DropItem.d.ts +2 -2
- package/dist/material/moves/local/LocalMove.d.ts +1 -1
- package/dist/material/moves/local/SetTutorialStep.d.ts +1 -1
- package/dist/material/moves/rules/EndGame.d.ts +1 -1
- package/dist/material/moves/rules/EndPlayerTurn.d.ts +1 -1
- package/dist/material/moves/rules/RuleMove.d.ts +2 -2
- package/dist/material/moves/rules/StartPlayerTurn.d.ts +1 -1
- package/dist/material/moves/rules/StartRule.d.ts +1 -1
- package/dist/material/moves/rules/StartSimultaneousRule.d.ts +1 -1
- package/dist/material/rules/MaterialRulesMovesBuilder.js +1 -1
- package/dist/material/rules/MaterialRulesMovesBuilder.js.map +1 -1
- package/dist/material/rules/RuleStep.d.ts +1 -1
- package/dist/options/EnumOption.d.ts +1 -1
- package/dist/options/Option.d.ts +1 -1
- package/dist/options/OptionSpecOf.d.ts +2 -2
- package/dist/options/OptionsSpec.d.ts +1 -1
- package/dist/options/PlayerEnumOption.d.ts +2 -2
- package/dist/options/PlayersOptionsSpec.d.ts +1 -1
- package/dist/options/WithIdOption.d.ts +1 -1
- package/dist/options/WithPlayerOptionsSpec.d.ts +1 -1
- package/dist/options/WithPlayersOptions.d.ts +1 -1
- package/dist/utils/grid.util.d.ts +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/listing.util.d.ts +1 -0
- package/dist/utils/listing.util.js +15 -0
- package/dist/utils/listing.util.js.map +1 -0
- package/package.json +2 -2
|
@@ -26,11 +26,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
};
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
28
|
exports.itemsCanMerge = exports.MaterialMutator = void 0;
|
|
29
|
-
var index_1 = require("./index");
|
|
30
29
|
var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
31
|
-
var moves_1 = require("../moves");
|
|
32
30
|
var merge_1 = __importDefault(require("lodash/merge"));
|
|
33
|
-
var
|
|
31
|
+
var moves_1 = require("../moves");
|
|
32
|
+
var index_1 = require("./index");
|
|
34
33
|
var MaterialMutator = (function () {
|
|
35
34
|
function MaterialMutator(type, items, locationsStrategies, canMerge) {
|
|
36
35
|
if (locationsStrategies === void 0) { locationsStrategies = {}; }
|
|
@@ -40,14 +39,6 @@ var MaterialMutator = (function () {
|
|
|
40
39
|
this.locationsStrategies = locationsStrategies;
|
|
41
40
|
this.canMerge = canMerge;
|
|
42
41
|
}
|
|
43
|
-
MaterialMutator.prototype.randomize = function (move) {
|
|
44
|
-
switch (move.type) {
|
|
45
|
-
case moves_1.ItemMoveType.Shuffle:
|
|
46
|
-
return __assign(__assign({}, move), { newIndexes: (0, shuffle_1.default)(move.indexes) });
|
|
47
|
-
default:
|
|
48
|
-
return move;
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
42
|
MaterialMutator.prototype.applyMove = function (move) {
|
|
52
43
|
switch (move.type) {
|
|
53
44
|
case moves_1.ItemMoveType.Create:
|
|
@@ -56,6 +47,9 @@ var MaterialMutator = (function () {
|
|
|
56
47
|
case moves_1.ItemMoveType.Move:
|
|
57
48
|
this.move(move);
|
|
58
49
|
break;
|
|
50
|
+
case moves_1.ItemMoveType.Roll:
|
|
51
|
+
this.move(__assign(__assign({}, move), { type: moves_1.ItemMoveType.Move }));
|
|
52
|
+
break;
|
|
59
53
|
case moves_1.ItemMoveType.Delete:
|
|
60
54
|
this.delete(move);
|
|
61
55
|
break;
|
|
@@ -138,24 +132,27 @@ var MaterialMutator = (function () {
|
|
|
138
132
|
return this.addItem(itemAfterMove);
|
|
139
133
|
}
|
|
140
134
|
else {
|
|
141
|
-
if (move.
|
|
135
|
+
if (move.location.type !== sourceItem.location.type) {
|
|
142
136
|
this.applyAddItemStrategy(itemAfterMove);
|
|
143
137
|
}
|
|
144
138
|
this.items[move.itemIndex] = itemAfterMove;
|
|
145
|
-
if (move.
|
|
139
|
+
if (move.location.type !== sourceItem.location.type) {
|
|
146
140
|
this.applyRemoveItemStrategy(sourceItem);
|
|
147
141
|
}
|
|
148
142
|
return move.itemIndex;
|
|
149
143
|
}
|
|
150
144
|
};
|
|
151
145
|
MaterialMutator.prototype.getItemAfterMove = function (move) {
|
|
152
|
-
var
|
|
153
|
-
|
|
154
|
-
if (typeof move.reveal === 'object') {
|
|
146
|
+
var item = __assign(__assign({}, this.items[move.itemIndex]), { location: JSON.parse(JSON.stringify(move.location)) });
|
|
147
|
+
if (move.reveal) {
|
|
155
148
|
(0, merge_1.default)(item, move.reveal);
|
|
156
149
|
}
|
|
157
|
-
if (move.quantity)
|
|
150
|
+
if (move.quantity) {
|
|
158
151
|
item.quantity = move.quantity;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
delete item.quantity;
|
|
155
|
+
}
|
|
159
156
|
return item;
|
|
160
157
|
};
|
|
161
158
|
MaterialMutator.prototype.delete = function (move) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { XYCoordinates } from '../../utils';
|
|
2
|
-
export
|
|
2
|
+
export type Location<Player = number, LocationType = number, Id = any, Rotation = any> = {
|
|
3
3
|
type: LocationType;
|
|
4
4
|
id?: Id;
|
|
5
5
|
player?: Player;
|
|
6
6
|
parent?: number;
|
|
7
|
+
rotation?: Rotation;
|
|
7
8
|
} & Partial<Coordinates>;
|
|
8
|
-
export
|
|
9
|
+
export type Coordinates = XYCoordinates & {
|
|
9
10
|
z: number;
|
|
10
11
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Material, MaterialItem } from '../../items';
|
|
2
|
-
export
|
|
2
|
+
export type LocationStrategy<P extends number = number, M extends number = number, L extends number = number> = {
|
|
3
3
|
addItem?(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
|
|
4
4
|
removeItem?(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
|
|
5
5
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MoveKind } from './MoveKind';
|
|
2
2
|
import { MaterialMove } from './MaterialMove';
|
|
3
|
-
export
|
|
3
|
+
export type CustomMove<Type extends number = number> = {
|
|
4
4
|
kind: typeof MoveKind.CustomMove;
|
|
5
5
|
type: Type;
|
|
6
6
|
data?: any;
|
|
@@ -2,6 +2,6 @@ import { RuleMove } from './rules';
|
|
|
2
2
|
import { CustomMove } from './CustomMove';
|
|
3
3
|
import { ItemMove, ItemMoveRandomized, ItemMoveView } from './items';
|
|
4
4
|
import { LocalMove } from './local';
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
5
|
+
export type MaterialMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = ItemMove<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
|
|
6
|
+
export type MaterialMoveRandomized<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = ItemMoveRandomized<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
|
|
7
|
+
export type MaterialMoveView<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = ItemMoveView<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
|
|
@@ -2,7 +2,7 @@ import { MaterialItem } from '../../items';
|
|
|
2
2
|
import { ItemMoveType } from './ItemMoveType';
|
|
3
3
|
import { MaterialMoveCommon } from './ItemMove';
|
|
4
4
|
import { MaterialMove } from '../MaterialMove';
|
|
5
|
-
export
|
|
5
|
+
export type CreateItem<P extends number = number, M extends number = number, L extends number = number> = MaterialMoveCommon<M> & {
|
|
6
6
|
type: typeof ItemMoveType.Create;
|
|
7
7
|
item: MaterialItem<P, L>;
|
|
8
8
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ItemMoveType } from './ItemMoveType';
|
|
2
2
|
import { MaterialMoveCommon } from './ItemMove';
|
|
3
3
|
import { MaterialMove } from '../MaterialMove';
|
|
4
|
-
export
|
|
4
|
+
export type DeleteItem<MaterialType extends number = number> = MaterialMoveCommon<MaterialType> & {
|
|
5
5
|
type: typeof ItemMoveType.Delete;
|
|
6
6
|
itemIndex: number;
|
|
7
7
|
quantity?: number;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { MoveKind } from '../MoveKind';
|
|
2
|
-
import { MoveItem } from './MoveItem';
|
|
3
|
-
import { Shuffle, ShuffleRandomized } from './Shuffle';
|
|
4
2
|
import { CreateItem } from './CreateItem';
|
|
5
3
|
import { DeleteItem } from './DeleteItem';
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
import { MoveItem } from './MoveItem';
|
|
5
|
+
import { RollItem } from './RollItem';
|
|
6
|
+
import { Shuffle, ShuffleRandomized } from './Shuffle';
|
|
7
|
+
export type ItemMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = CreateItem<Player, MaterialType, LocationType> | DeleteItem<MaterialType> | MoveItem<Player, MaterialType, LocationType> | Shuffle<MaterialType> | RollItem<Player, MaterialType, LocationType>;
|
|
8
|
+
export type MaterialMoveCommon<MaterialType extends number = number> = {
|
|
8
9
|
kind: typeof MoveKind.ItemMove;
|
|
9
10
|
itemType: MaterialType;
|
|
10
11
|
};
|
|
11
|
-
export
|
|
12
|
-
export
|
|
12
|
+
export type ItemMoveRandomized<P extends number = number, M extends number = number, L extends number = number> = Exclude<ItemMove<P, M, L>, Shuffle<M>> | ShuffleRandomized<M>;
|
|
13
|
+
export type ItemMoveView<P extends number = number, M extends number = number, L extends number = number> = Exclude<ItemMoveRandomized<P, M, L>, ShuffleRandomized<M>> | Shuffle<M>;
|
|
@@ -7,5 +7,6 @@ var ItemMoveType;
|
|
|
7
7
|
ItemMoveType[ItemMoveType["Move"] = 1] = "Move";
|
|
8
8
|
ItemMoveType[ItemMoveType["Shuffle"] = 2] = "Shuffle";
|
|
9
9
|
ItemMoveType[ItemMoveType["Delete"] = 3] = "Delete";
|
|
10
|
+
ItemMoveType[ItemMoveType["Roll"] = 4] = "Roll";
|
|
10
11
|
})(ItemMoveType = exports.ItemMoveType || (exports.ItemMoveType = {}));
|
|
11
12
|
//# sourceMappingURL=ItemMoveType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemMoveType.js","sourceRoot":"","sources":["../../../../src/material/moves/items/ItemMoveType.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,mDAAM,CAAA;IAAE,+CAAI,CAAA;IAAE,qDAAO,CAAA;IAAE,mDAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"ItemMoveType.js","sourceRoot":"","sources":["../../../../src/material/moves/items/ItemMoveType.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,mDAAM,CAAA;IAAE,+CAAI,CAAA;IAAE,qDAAO,CAAA;IAAE,mDAAM,CAAA;IAAE,+CAAI,CAAA;AACrC,CAAC,EAFW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAEvB"}
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MaterialItem } from '../../items';
|
|
2
|
+
import { Location } from '../../location';
|
|
2
3
|
import { MaterialMove } from '../MaterialMove';
|
|
3
4
|
import { MaterialMoveCommon } from './ItemMove';
|
|
4
|
-
import {
|
|
5
|
-
export
|
|
5
|
+
import { ItemMoveType } from './ItemMoveType';
|
|
6
|
+
export type MoveItem<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = MaterialMoveCommon<MaterialType> & {
|
|
6
7
|
type: typeof ItemMoveType.Move;
|
|
7
8
|
itemIndex: number;
|
|
8
|
-
|
|
9
|
+
location: Location<Player, LocationType>;
|
|
9
10
|
quantity?: number;
|
|
10
11
|
reveal?: Omit<MaterialItem<Player, LocationType>, 'location'>;
|
|
11
12
|
};
|
|
12
|
-
export declare type MoveItemLocation<P extends number, M extends number, L extends number> = MoveItem<P, M, L> & {
|
|
13
|
-
position: ItemPosition<P, L>;
|
|
14
|
-
};
|
|
15
13
|
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
14
|
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>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
var ItemMoveType_1 = require("./ItemMoveType");
|
|
3
|
+
exports.isMoveItemType = exports.isMoveItem = void 0;
|
|
5
4
|
var MoveKind_1 = require("../MoveKind");
|
|
5
|
+
var ItemMoveType_1 = require("./ItemMoveType");
|
|
6
6
|
function isMoveItem(move) {
|
|
7
7
|
return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Move;
|
|
8
8
|
}
|
|
@@ -13,14 +13,4 @@ function isMoveItemType(type, index) {
|
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
15
|
exports.isMoveItemType = isMoveItemType;
|
|
16
|
-
function isMoveItemLocation(move) {
|
|
17
|
-
return isMoveItem(move) && move.position.location !== undefined;
|
|
18
|
-
}
|
|
19
|
-
exports.isMoveItemLocation = isMoveItemLocation;
|
|
20
|
-
function isMoveItemTypeLocation(type, index) {
|
|
21
|
-
return function (move) {
|
|
22
|
-
return isMoveItemLocation(move) && move.itemType === type && (index === undefined || move.itemIndex === index);
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
exports.isMoveItemTypeLocation = isMoveItemTypeLocation;
|
|
26
16
|
//# sourceMappingURL=MoveItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoveItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/MoveItem.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"MoveItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/MoveItem.ts"],"names":[],"mappings":";;;AAGA,wCAAsC;AAEtC,+CAA6C;AAW7C,SAAgB,UAAU,CAAuD,IAA2B;IAC1G,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,IAAI,CAAA;AAC3E,CAAC;AAFD,gCAEC;AAED,SAAgB,cAAc,CAC5B,IAAO,EAAE,KAAc;IAEvB,OAAO,UAAC,IAA2B;QACjC,OAAA,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;IAA/F,CAA+F,CAAA;AACnG,CAAC;AALD,wCAKC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Location } from '../../location';
|
|
2
|
+
import { MaterialMove } from '../MaterialMove';
|
|
3
|
+
import { MaterialMoveCommon } from './ItemMove';
|
|
4
|
+
import { ItemMoveType } from './ItemMoveType';
|
|
5
|
+
export type Roll<P extends number = number, M extends number = number, L extends number = number> = MaterialMoveCommon<M> & {
|
|
6
|
+
type: typeof ItemMoveType.Roll;
|
|
7
|
+
itemIndex: number;
|
|
8
|
+
location: Location<P, L>;
|
|
9
|
+
};
|
|
10
|
+
export declare function isRoll<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is Roll<P, M, L>;
|
|
11
|
+
export declare function isRollItemType<P extends number, M extends number, L extends number>(type: M): (move: MaterialMove<P, M, L>) => move is Roll<P, M, L>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRollItemType = exports.isRoll = void 0;
|
|
4
|
+
var MoveKind_1 = require("../MoveKind");
|
|
5
|
+
var ItemMoveType_1 = require("./ItemMoveType");
|
|
6
|
+
function isRoll(move) {
|
|
7
|
+
return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Roll;
|
|
8
|
+
}
|
|
9
|
+
exports.isRoll = isRoll;
|
|
10
|
+
function isRollItemType(type) {
|
|
11
|
+
return function (move) {
|
|
12
|
+
return isRoll(move) && move.itemType === type;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
exports.isRollItemType = isRollItemType;
|
|
16
|
+
//# sourceMappingURL=Roll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Roll.js","sourceRoot":"","sources":["../../../../src/material/moves/items/Roll.ts"],"names":[],"mappings":";;;AAEA,wCAAsC;AAEtC,+CAA6C;AAQ7C,SAAgB,MAAM,CAAuD,IAA2B;IACtG,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,IAAI,CAAA;AAC3E,CAAC;AAFD,wBAEC;AAED,SAAgB,cAAc,CAC5B,IAAO;IAEP,OAAO,UAAC,IAA2B;QACjC,OAAA,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;IAAtC,CAAsC,CAAA;AAC1C,CAAC;AALD,wCAKC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Location } from '../../location';
|
|
2
|
+
import { MaterialMove } from '../MaterialMove';
|
|
3
|
+
import { MaterialMoveCommon } from './ItemMove';
|
|
4
|
+
import { ItemMoveType } from './ItemMoveType';
|
|
5
|
+
export type RollItem<P extends number = number, M extends number = number, L extends number = number> = MaterialMoveCommon<M> & {
|
|
6
|
+
type: typeof ItemMoveType.Roll;
|
|
7
|
+
itemIndex: number;
|
|
8
|
+
location: Location<P, L>;
|
|
9
|
+
};
|
|
10
|
+
export declare function isRoll<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is RollItem<P, M, L>;
|
|
11
|
+
export declare function isRollItemType<P extends number, M extends number, L extends number>(type: M): (move: MaterialMove<P, M, L>) => move is RollItem<P, M, L>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRollItemType = exports.isRoll = void 0;
|
|
4
|
+
var MoveKind_1 = require("../MoveKind");
|
|
5
|
+
var ItemMoveType_1 = require("./ItemMoveType");
|
|
6
|
+
function isRoll(move) {
|
|
7
|
+
return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Roll;
|
|
8
|
+
}
|
|
9
|
+
exports.isRoll = isRoll;
|
|
10
|
+
function isRollItemType(type) {
|
|
11
|
+
return function (move) {
|
|
12
|
+
return isRoll(move) && move.itemType === type;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
exports.isRollItemType = isRollItemType;
|
|
16
|
+
//# sourceMappingURL=RollItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RollItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/RollItem.ts"],"names":[],"mappings":";;;AAEA,wCAAsC;AAEtC,+CAA6C;AAQ7C,SAAgB,MAAM,CAAuD,IAA2B;IACtG,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,IAAI,CAAA;AAC3E,CAAC;AAFD,wBAEC;AAED,SAAgB,cAAc,CAC5B,IAAO;IAEP,OAAO,UAAC,IAA2B;QACjC,OAAA,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;IAAtC,CAAsC,CAAA;AAC1C,CAAC;AALD,wCAKC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ItemMoveType } from './ItemMoveType';
|
|
2
2
|
import { MaterialMoveCommon } from './ItemMove';
|
|
3
3
|
import { MaterialMove } from '../MaterialMove';
|
|
4
|
-
export
|
|
4
|
+
export type Shuffle<MaterialType extends number = number> = MaterialMoveCommon<MaterialType> & {
|
|
5
5
|
type: typeof ItemMoveType.Shuffle;
|
|
6
6
|
indexes: number[];
|
|
7
7
|
};
|
|
8
|
-
export
|
|
8
|
+
export type ShuffleRandomized<MaterialType extends number = number> = Shuffle<MaterialType> & {
|
|
9
9
|
newIndexes: number[];
|
|
10
10
|
};
|
|
11
11
|
export declare function isShuffle<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is Shuffle<M>;
|
|
@@ -20,5 +20,6 @@ __exportStar(require("./ItemMove"), exports);
|
|
|
20
20
|
__exportStar(require("./ItemMovesBuilder"), exports);
|
|
21
21
|
__exportStar(require("./ItemMoveType"), exports);
|
|
22
22
|
__exportStar(require("./MoveItem"), exports);
|
|
23
|
+
__exportStar(require("./RollItem"), exports);
|
|
23
24
|
__exportStar(require("./Shuffle"), exports);
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/moves/items/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,+CAA4B;AAC5B,6CAA0B;AAC1B,qDAAkC;AAClC,iDAA8B;AAC9B,6CAA0B;AAC1B,4CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/moves/items/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,+CAA4B;AAC5B,6CAA0B;AAC1B,qDAAkC;AAClC,iDAA8B;AAC9B,6CAA0B;AAC1B,6CAA0B;AAC1B,4CAAyB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MoveKind } from '../MoveKind';
|
|
2
2
|
import { LocalMoveType } from './LocalMove';
|
|
3
3
|
import { MaterialMove } from '../MaterialMove';
|
|
4
|
-
export
|
|
4
|
+
export type CloseTutorialPopup = {
|
|
5
5
|
kind: MoveKind.LocalMove;
|
|
6
6
|
type: LocalMoveType.CloseTutorialPopup;
|
|
7
7
|
};
|
|
@@ -2,30 +2,30 @@ import { LocalMoveType } from './LocalMove';
|
|
|
2
2
|
import { MoveKind } from '../MoveKind';
|
|
3
3
|
import { MaterialItem } from '../../items';
|
|
4
4
|
import { Location } from '../../location';
|
|
5
|
-
export
|
|
5
|
+
export type RulesDisplay<P extends number = number, M extends number = number, L extends number = number> = MaterialRulesDisplay<P, M, L> | LocationRulesDisplay<P, L>;
|
|
6
6
|
export declare enum RulesDisplayType {
|
|
7
7
|
Material = 1,
|
|
8
8
|
Location = 2
|
|
9
9
|
}
|
|
10
|
-
export
|
|
10
|
+
export type MaterialRulesDisplay<P extends number = number, M extends number = number, L extends number = number> = {
|
|
11
11
|
type: typeof RulesDisplayType.Material;
|
|
12
12
|
itemType: M;
|
|
13
13
|
itemIndex?: number;
|
|
14
14
|
item: Partial<MaterialItem<P, L>>;
|
|
15
15
|
};
|
|
16
|
-
export
|
|
16
|
+
export type LocationRulesDisplay<P extends number = number, L extends number = number> = {
|
|
17
17
|
type: typeof RulesDisplayType.Location;
|
|
18
18
|
location: Location<P, L>;
|
|
19
19
|
};
|
|
20
|
-
export
|
|
20
|
+
export type DisplayRules<P extends number = number, M extends number = number, L extends number = number> = {
|
|
21
21
|
kind: MoveKind.LocalMove;
|
|
22
22
|
type: typeof LocalMoveType.DisplayRules;
|
|
23
23
|
rulesDisplay: RulesDisplay<P, M, L>;
|
|
24
24
|
};
|
|
25
25
|
export declare const displayRules: <P extends number = number, M extends number = number, L extends number = number>(rulesDisplay: RulesDisplay<P, M, L>) => DisplayRules<P, M, L>;
|
|
26
|
-
export declare const displayMaterialRules: <P extends number = number, M extends number = number, L extends number = number>(itemType: M, item?: Partial<MaterialItem<P, L, any>>, itemIndex?: number
|
|
27
|
-
export declare const displayLocationRules: <P extends number = number, M extends number = number, L extends number = number>(location: Location<P, L, any>) => DisplayRules<P, M, L>;
|
|
28
|
-
export
|
|
26
|
+
export declare const displayMaterialRules: <P extends number = number, M extends number = number, L extends number = number>(itemType: M, item?: Partial<MaterialItem<P, L, any>>, itemIndex?: number) => DisplayRules<P, M, L>;
|
|
27
|
+
export declare const displayLocationRules: <P extends number = number, M extends number = number, L extends number = number>(location: Location<P, L, any, any>) => DisplayRules<P, M, L>;
|
|
28
|
+
export type CloseRulesDisplay = {
|
|
29
29
|
kind: MoveKind.LocalMove;
|
|
30
30
|
type: typeof LocalMoveType.CloseRulesDisplay;
|
|
31
31
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { MoveKind } from '../MoveKind';
|
|
2
2
|
import { LocalMoveType } from './LocalMove';
|
|
3
|
-
export
|
|
3
|
+
export type DropItem<M extends number = number> = {
|
|
4
4
|
kind: MoveKind.LocalMove;
|
|
5
5
|
type: typeof LocalMoveType.DropItem;
|
|
6
6
|
item: DisplayedItem<M>;
|
|
7
7
|
};
|
|
8
|
-
export
|
|
8
|
+
export type DisplayedItem<M extends number = number> = {
|
|
9
9
|
type: M;
|
|
10
10
|
index: number;
|
|
11
11
|
displayIndex: number;
|
|
@@ -2,7 +2,7 @@ import { CloseRulesDisplay, DisplayRules } from './DisplayRules';
|
|
|
2
2
|
import { DropItem } from './DropItem';
|
|
3
3
|
import { SetTutorialStep } from './SetTutorialStep';
|
|
4
4
|
import { CloseTutorialPopup } from './CloseTutorialPopup';
|
|
5
|
-
export
|
|
5
|
+
export type LocalMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = DisplayRules<Player, MaterialType, LocationType> | CloseRulesDisplay | DropItem<MaterialType> | SetTutorialStep | CloseTutorialPopup;
|
|
6
6
|
export declare enum LocalMoveType {
|
|
7
7
|
DisplayRules = 0,
|
|
8
8
|
CloseRulesDisplay = 1,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MoveKind } from '../MoveKind';
|
|
2
2
|
import { LocalMoveType } from './LocalMove';
|
|
3
3
|
import { MaterialMove } from '../MaterialMove';
|
|
4
|
-
export
|
|
4
|
+
export type SetTutorialStep = {
|
|
5
5
|
kind: MoveKind.LocalMove;
|
|
6
6
|
type: LocalMoveType.SetTutorialStep;
|
|
7
7
|
step: number;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RuleMoveCommon, RuleMoveType } from './RuleMove';
|
|
2
2
|
import { MaterialMove } from '../MaterialMove';
|
|
3
|
-
export
|
|
3
|
+
export type EndGame = RuleMoveCommon & {
|
|
4
4
|
type: typeof RuleMoveType.EndGame;
|
|
5
5
|
};
|
|
6
6
|
export declare function isEndGame<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is EndGame;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RuleMoveCommon, RuleMoveType } from './RuleMove';
|
|
2
2
|
import { MaterialMove } from '../MaterialMove';
|
|
3
|
-
export
|
|
3
|
+
export type EndPlayerTurn<Player extends number = number> = RuleMoveCommon & {
|
|
4
4
|
type: typeof RuleMoveType.EndPlayerTurn;
|
|
5
5
|
player: Player;
|
|
6
6
|
};
|
|
@@ -4,7 +4,7 @@ import { StartPlayerTurn } from './StartPlayerTurn';
|
|
|
4
4
|
import { EndGame } from './EndGame';
|
|
5
5
|
import { StartSimultaneousRule } from './StartSimultaneousRule';
|
|
6
6
|
import { EndPlayerTurn } from './EndPlayerTurn';
|
|
7
|
-
export
|
|
7
|
+
export type RuleMove<Player extends number = number, RuleId extends number = number> = StartPlayerTurn<Player, RuleId> | StartSimultaneousRule<Player, RuleId> | StartRule<RuleId> | EndGame | EndPlayerTurn<Player>;
|
|
8
8
|
export declare enum RuleMoveType {
|
|
9
9
|
StartPlayerTurn = 0,
|
|
10
10
|
StartSimultaneousRule = 1,
|
|
@@ -12,7 +12,7 @@ export declare enum RuleMoveType {
|
|
|
12
12
|
StartRule = 3,
|
|
13
13
|
EndGame = 4
|
|
14
14
|
}
|
|
15
|
-
export
|
|
15
|
+
export type RuleMoveCommon = {
|
|
16
16
|
kind: typeof MoveKind.RulesMove;
|
|
17
17
|
};
|
|
18
18
|
export declare const isRuleChange: <P extends number = number, R extends number = number>(move: RuleMove<P, R>) => boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RuleMoveCommon, RuleMoveType } from './RuleMove';
|
|
2
2
|
import { MaterialMove } from '../MaterialMove';
|
|
3
|
-
export
|
|
3
|
+
export type StartPlayerTurn<Player extends number = number, RuleId extends number = number> = RuleMoveCommon & {
|
|
4
4
|
type: typeof RuleMoveType.StartPlayerTurn;
|
|
5
5
|
id: RuleId;
|
|
6
6
|
player?: Player;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RuleMoveCommon, RuleMoveType } from './RuleMove';
|
|
2
2
|
import { MaterialMove } from '../MaterialMove';
|
|
3
|
-
export
|
|
3
|
+
export type StartRule<RuleId extends number = number> = RuleMoveCommon & {
|
|
4
4
|
type: typeof RuleMoveType.StartRule;
|
|
5
5
|
id: RuleId;
|
|
6
6
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RuleMoveCommon, RuleMoveType } from './RuleMove';
|
|
2
2
|
import { MaterialMove } from '../MaterialMove';
|
|
3
|
-
export
|
|
3
|
+
export type StartSimultaneousRule<Player extends number = number, RuleId extends number = number> = RuleMoveCommon & {
|
|
4
4
|
type: typeof RuleMoveType.StartSimultaneousRule;
|
|
5
5
|
id: RuleId;
|
|
6
6
|
players?: Player[];
|
|
@@ -23,7 +23,7 @@ var MaterialRulesMovesBuilder = (function () {
|
|
|
23
23
|
};
|
|
24
24
|
MaterialRulesMovesBuilder.prototype.customMove = function (type, data) {
|
|
25
25
|
var move = { kind: moves_1.MoveKind.CustomMove, type: type };
|
|
26
|
-
if (data)
|
|
26
|
+
if (data !== undefined)
|
|
27
27
|
move.data = data;
|
|
28
28
|
return move;
|
|
29
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialRulesMovesBuilder.js","sourceRoot":"","sources":["../../../src/material/rules/MaterialRulesMovesBuilder.ts"],"names":[],"mappings":";;;AACA,kCAAwI;AAExI;IAKE,mCAAY,IAAsD;QAChE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,mDAAe,GAAf,UAAgD,EAAU,EAAE,MAAc;QACxE,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,eAAe,EAAE,EAAE,IAAA,EAAE,MAAM,QAAA,EAAE,CAAA;IACrF,CAAC;IAED,yDAAqB,GAArB,UAAsD,EAAU,EAAE,OAAkB;QAClF,IAAM,IAAI,GAA0C,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,qBAAqB,EAAE,EAAE,IAAA,EAAE,CAAA;QAC9H,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,iDAAa,GAAb,UAAc,MAAc;QAC1B,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,aAAa,EAAE,MAAM,QAAA,EAAE,CAAA;IAC/E,CAAC;IAED,6CAAS,GAAT,UAA0C,EAAU;QAClD,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,SAAS,EAAE,EAAE,IAAA,EAAE,CAAA;IACvE,CAAC;IAED,8CAAU,GAAV,UAAyC,IAAU,EAAE,IAAU;QAC7D,IAAM,IAAI,GAAe,EAAE,IAAI,EAAE,gBAAQ,CAAC,UAAU,EAAE,IAAI,MAAA,EAAE,CAAA;QAC5D,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"MaterialRulesMovesBuilder.js","sourceRoot":"","sources":["../../../src/material/rules/MaterialRulesMovesBuilder.ts"],"names":[],"mappings":";;;AACA,kCAAwI;AAExI;IAKE,mCAAY,IAAsD;QAChE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,mDAAe,GAAf,UAAgD,EAAU,EAAE,MAAc;QACxE,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,eAAe,EAAE,EAAE,IAAA,EAAE,MAAM,QAAA,EAAE,CAAA;IACrF,CAAC;IAED,yDAAqB,GAArB,UAAsD,EAAU,EAAE,OAAkB;QAClF,IAAM,IAAI,GAA0C,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,qBAAqB,EAAE,EAAE,IAAA,EAAE,CAAA;QAC9H,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,iDAAa,GAAb,UAAc,MAAc;QAC1B,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,aAAa,EAAE,MAAM,QAAA,EAAE,CAAA;IAC/E,CAAC;IAED,6CAAS,GAAT,UAA0C,EAAU;QAClD,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,SAAS,EAAE,EAAE,IAAA,EAAE,CAAA;IACvE,CAAC;IAED,8CAAU,GAAV,UAAyC,IAAU,EAAE,IAAU;QAC7D,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;IAED,2CAAO,GAAP;QACE,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,OAAO,EAAE,CAAA;IACjE,CAAC;IACH,gCAAC;AAAD,CAAC,AApCD,IAoCC;AApCY,8DAAyB"}
|
package/dist/options/Option.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EnumOption } from './EnumOption';
|
|
2
2
|
import { Option } from './Option';
|
|
3
3
|
import { PlayerEnumOption } from './PlayerEnumOption';
|
|
4
|
-
export
|
|
5
|
-
export
|
|
4
|
+
export type OptionSpecOf<T> = [T] extends [boolean] ? Option : EnumOption<T>;
|
|
5
|
+
export type PlayerOptionSpecOf<T> = [T] extends [boolean] ? Option : PlayerEnumOption<T>;
|
|
@@ -2,7 +2,7 @@ import { TFunction } from 'i18next';
|
|
|
2
2
|
import { OptionSpecOf } from './OptionSpecOf';
|
|
3
3
|
import { WithPlayerOptionsSpec } from './WithPlayerOptionsSpec';
|
|
4
4
|
import { WithPlayersOptions } from './WithPlayersOptions';
|
|
5
|
-
export
|
|
5
|
+
export type OptionsSpec<Options> = (Options extends WithPlayersOptions<infer P> ? WithPlayerOptionsSpec<P> : {}) & {
|
|
6
6
|
[key in keyof Omit<Options, 'players'>]: OptionSpecOf<Options[key]>;
|
|
7
7
|
} & {
|
|
8
8
|
validate?: (options: Partial<Options>, t: TFunction) => void;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { EnumOption } from './EnumOption';
|
|
2
|
-
export
|
|
2
|
+
export type PlayerEnumOption<T = any> = EnumOption<T> & {
|
|
3
3
|
mandatory?: (players: number) => T[];
|
|
4
4
|
unavailable?: (players: number) => T[];
|
|
5
5
|
share?: boolean;
|
|
6
6
|
optional?: boolean;
|
|
7
7
|
};
|
|
8
|
-
export
|
|
8
|
+
export type PlayerIdOption<T = any> = PlayerEnumOption<T> & {
|
|
9
9
|
share?: false;
|
|
10
10
|
optional?: false;
|
|
11
11
|
};
|