ttpg-darrell 1.0.78 → 1.0.80
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/build/cjs/lib/layout-objects/layout-border.d.ts +5 -2
- package/build/cjs/lib/layout-objects/layout-border.js +15 -9
- package/build/cjs/lib/layout-objects/layout-border.js.map +1 -1
- package/build/cjs/lib/layout-objects/layout-border.testp.js +2 -2
- package/build/cjs/lib/layout-objects/layout-border.testp.js.map +1 -1
- package/build/cjs/lib/turn-order/turn-order.d.ts +3 -0
- package/build/cjs/lib/turn-order/turn-order.js +21 -0
- package/build/cjs/lib/turn-order/turn-order.js.map +1 -1
- package/build/esm/lib/layout-objects/layout-border.d.ts +5 -2
- package/build/esm/lib/layout-objects/layout-border.js +16 -10
- package/build/esm/lib/layout-objects/layout-border.js.map +1 -1
- package/build/esm/lib/layout-objects/layout-border.testp.js +2 -2
- package/build/esm/lib/layout-objects/layout-border.testp.js.map +1 -1
- package/build/esm/lib/turn-order/turn-order.d.ts +3 -0
- package/build/esm/lib/turn-order/turn-order.js +21 -0
- package/build/esm/lib/turn-order/turn-order.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { Color } from "@tabletop-playground/api";
|
|
1
2
|
import { LayoutObjects } from "./layout-objects";
|
|
2
3
|
export declare class LayoutBorder extends LayoutObjects {
|
|
3
|
-
private
|
|
4
|
+
private _color;
|
|
4
5
|
private _outlineWidth;
|
|
6
|
+
private _tag;
|
|
5
7
|
constructor(layoutObjects: LayoutObjects, padding: number);
|
|
6
|
-
|
|
8
|
+
setColor(color: Color): LayoutBorder;
|
|
7
9
|
setOutlineWidth(width: number): LayoutBorder;
|
|
10
|
+
setTag(tag: string): LayoutBorder;
|
|
8
11
|
_addBorder(): void;
|
|
9
12
|
}
|
|
@@ -6,8 +6,9 @@ const layout_objects_1 = require("./layout-objects");
|
|
|
6
6
|
class LayoutBorder extends layout_objects_1.LayoutObjects {
|
|
7
7
|
constructor(layoutObjects, padding) {
|
|
8
8
|
super();
|
|
9
|
-
this.
|
|
9
|
+
this._color = new api_1.Color(1, 1, 1, 1);
|
|
10
10
|
this._outlineWidth = 1;
|
|
11
|
+
this._tag = "";
|
|
11
12
|
const size = layoutObjects.calculateSize();
|
|
12
13
|
this.add(layoutObjects)
|
|
13
14
|
.setOverrideWidth(size.w + padding * 2)
|
|
@@ -16,19 +17,24 @@ class LayoutBorder extends layout_objects_1.LayoutObjects {
|
|
|
16
17
|
this._addBorder();
|
|
17
18
|
});
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
-
this.
|
|
20
|
+
setColor(color) {
|
|
21
|
+
this._color = color.clone();
|
|
21
22
|
return this;
|
|
22
23
|
}
|
|
23
24
|
setOutlineWidth(width) {
|
|
24
25
|
this._outlineWidth = width;
|
|
25
26
|
return this;
|
|
26
27
|
}
|
|
28
|
+
setTag(tag) {
|
|
29
|
+
this._tag = tag;
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
27
32
|
_addBorder() {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
if (this._tag.length > 0) {
|
|
34
|
+
for (const line of api_1.world.getDrawingLines()) {
|
|
35
|
+
if (line.tag === this._tag) {
|
|
36
|
+
api_1.world.removeDrawingLineObject(line);
|
|
37
|
+
}
|
|
32
38
|
}
|
|
33
39
|
}
|
|
34
40
|
const center = this.getCenter();
|
|
@@ -42,8 +48,8 @@ class LayoutBorder extends layout_objects_1.LayoutObjects {
|
|
|
42
48
|
const line = new api_1.DrawingLine();
|
|
43
49
|
line.points = [topLeft, topRight, botRight, botLeft, topLeft];
|
|
44
50
|
line.thickness = this._outlineWidth;
|
|
45
|
-
line.color =
|
|
46
|
-
line.tag =
|
|
51
|
+
line.color = this._color;
|
|
52
|
+
line.tag = this._tag;
|
|
47
53
|
api_1.world.addDrawingLine(line);
|
|
48
54
|
}
|
|
49
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-border.js","sourceRoot":"","sources":["../../../../src/lib/layout-objects/layout-border.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"layout-border.js","sourceRoot":"","sources":["../../../../src/lib/layout-objects/layout-border.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,10 @@ const layout_objects_1 = require("./layout-objects");
|
|
|
6
6
|
console.log("layout-border.testp.ts");
|
|
7
7
|
const layout = new layout_objects_1.LayoutObjects().setChildDistance(1);
|
|
8
8
|
const a = new layout_objects_1.LayoutObjects().setOverrideWidth(1).setOverrideHeight(2);
|
|
9
|
-
const ab = new layout_border_1.LayoutBorder(a, 1).
|
|
9
|
+
const ab = new layout_border_1.LayoutBorder(a, 1).setOutlineWidth(1);
|
|
10
10
|
layout.add(ab);
|
|
11
11
|
const b = new layout_objects_1.LayoutObjects().setOverrideWidth(1).setOverrideHeight(2);
|
|
12
|
-
const bb = new layout_border_1.LayoutBorder(b, 1).
|
|
12
|
+
const bb = new layout_border_1.LayoutBorder(b, 1).setOutlineWidth(1);
|
|
13
13
|
layout.add(bb);
|
|
14
14
|
layout.doLayoutAtPoint(new api_1.Vector(0, 0, 0), 0);
|
|
15
15
|
console.log(JSON.stringify(a.calculateSize()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-border.testp.js","sourceRoot":"","sources":["../../../../src/lib/layout-objects/layout-border.testp.ts"],"names":[],"mappings":";;AAAA,kDAAkD;AAClD,mDAA+C;AAC/C,qDAAiD;AAEjD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAEtC,MAAM,MAAM,GAAG,IAAI,8BAAa,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEvD,MAAM,CAAC,GAAG,IAAI,8BAAa,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACvE,MAAM,EAAE,GAAG,IAAI,4BAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"layout-border.testp.js","sourceRoot":"","sources":["../../../../src/lib/layout-objects/layout-border.testp.ts"],"names":[],"mappings":";;AAAA,kDAAkD;AAClD,mDAA+C;AAC/C,qDAAiD;AAEjD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAEtC,MAAM,MAAM,GAAG,IAAI,8BAAa,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEvD,MAAM,CAAC,GAAG,IAAI,8BAAa,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACvE,MAAM,EAAE,GAAG,IAAI,4BAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACrD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEf,MAAM,CAAC,GAAG,IAAI,8BAAa,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACvE,MAAM,EAAE,GAAG,IAAI,4BAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACrD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEf,MAAM,CAAC,eAAe,CAAC,IAAI,YAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAEhD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -10,6 +10,7 @@ export declare class TurnOrder {
|
|
|
10
10
|
static readonly onTurnStateChanged: TriggerableMulticastDelegate<(turnOrder: TurnOrder) => void>;
|
|
11
11
|
private static readonly _idToTurnOrder;
|
|
12
12
|
private readonly _savedDataKey;
|
|
13
|
+
private readonly _away;
|
|
13
14
|
private readonly _passed;
|
|
14
15
|
private readonly _eliminated;
|
|
15
16
|
private _order;
|
|
@@ -44,6 +45,8 @@ export declare class TurnOrder {
|
|
|
44
45
|
setTurnOrder(order: Array<PlayerSlot>, direction: Direction, currentTurn: PlayerSlot): this;
|
|
45
46
|
getDirection(): Direction;
|
|
46
47
|
setDirection(direction: Direction): this;
|
|
48
|
+
getAway(playerSlot: PlayerSlot): boolean;
|
|
49
|
+
setAway(playerSlot: PlayerSlot, value: boolean): this;
|
|
47
50
|
getEliminated(playerSlot: PlayerSlot): boolean;
|
|
48
51
|
setEliminated(playerSlot: PlayerSlot, value: boolean): this;
|
|
49
52
|
getPassed(playerSlot: PlayerSlot): boolean;
|
|
@@ -9,6 +9,7 @@ const zod_1 = require("zod");
|
|
|
9
9
|
// that space so the state size is mostly stable.
|
|
10
10
|
const TURN_ORDER_STATE_SCHEMA = zod_1.z
|
|
11
11
|
.object({
|
|
12
|
+
a: zod_1.z.number().array(), // away
|
|
12
13
|
p: zod_1.z.number().array(), // passed
|
|
13
14
|
e: zod_1.z.number().array(), // eliminated
|
|
14
15
|
o: zod_1.z.number().array(), // order
|
|
@@ -38,6 +39,7 @@ class TurnOrder {
|
|
|
38
39
|
* @param savedDataKey
|
|
39
40
|
*/
|
|
40
41
|
constructor(savedDataKey) {
|
|
42
|
+
this._away = new Set();
|
|
41
43
|
this._passed = new Set();
|
|
42
44
|
this._eliminated = new Set();
|
|
43
45
|
this._order = [];
|
|
@@ -53,6 +55,7 @@ class TurnOrder {
|
|
|
53
55
|
}
|
|
54
56
|
_saveState() {
|
|
55
57
|
const state = {
|
|
58
|
+
a: Array.from(this._away),
|
|
56
59
|
p: Array.from(this._passed),
|
|
57
60
|
e: Array.from(this._eliminated),
|
|
58
61
|
o: this._order,
|
|
@@ -72,6 +75,10 @@ class TurnOrder {
|
|
|
72
75
|
}
|
|
73
76
|
const jsonObj = JSON.parse(jsonStr);
|
|
74
77
|
const state = TURN_ORDER_STATE_SCHEMA.parse(jsonObj);
|
|
78
|
+
this._away.clear();
|
|
79
|
+
for (const playerSlot of state.a) {
|
|
80
|
+
this._away.add(playerSlot);
|
|
81
|
+
}
|
|
75
82
|
this._passed.clear();
|
|
76
83
|
for (const playerSlot of state.p) {
|
|
77
84
|
this._passed.add(playerSlot);
|
|
@@ -170,6 +177,20 @@ class TurnOrder {
|
|
|
170
177
|
TurnOrder.onTurnStateChanged.trigger(this);
|
|
171
178
|
return this;
|
|
172
179
|
}
|
|
180
|
+
getAway(playerSlot) {
|
|
181
|
+
return this._away.has(playerSlot);
|
|
182
|
+
}
|
|
183
|
+
setAway(playerSlot, value) {
|
|
184
|
+
if (value) {
|
|
185
|
+
this._away.add(playerSlot);
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
this._away.delete(playerSlot);
|
|
189
|
+
}
|
|
190
|
+
this._saveState();
|
|
191
|
+
TurnOrder.onTurnStateChanged.trigger(this);
|
|
192
|
+
return this;
|
|
193
|
+
}
|
|
173
194
|
getEliminated(playerSlot) {
|
|
174
195
|
return this._eliminated.has(playerSlot);
|
|
175
196
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-order.js","sourceRoot":"","sources":["../../../../src/lib/turn-order/turn-order.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AAEjD,2HAAsH;AACtH,6BAAwB;AAKxB,mEAAmE;AACnE,2EAA2E;AAC3E,iDAAiD;AACjD,MAAM,uBAAuB,GAAG,OAAC;KAC5B,MAAM,CAAC;IACJ,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,SAAS;IAChC,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,aAAa;IACpC,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ;IAC/B,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,YAAY;IAC3B,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,eAAe;IAC9B,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,QAAQ;IACvB,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,2BAA2B;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC;AAGd;;;GAGG;AACH,MAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"turn-order.js","sourceRoot":"","sources":["../../../../src/lib/turn-order/turn-order.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { Color } from "@tabletop-playground/api";
|
|
1
2
|
import { LayoutObjects } from "./layout-objects";
|
|
2
3
|
export declare class LayoutBorder extends LayoutObjects {
|
|
3
|
-
private
|
|
4
|
+
private _color;
|
|
4
5
|
private _outlineWidth;
|
|
6
|
+
private _tag;
|
|
5
7
|
constructor(layoutObjects: LayoutObjects, padding: number);
|
|
6
|
-
|
|
8
|
+
setColor(color: Color): LayoutBorder;
|
|
7
9
|
setOutlineWidth(width: number): LayoutBorder;
|
|
10
|
+
setTag(tag: string): LayoutBorder;
|
|
8
11
|
_addBorder(): void;
|
|
9
12
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { DrawingLine, Vector, world } from "@tabletop-playground/api";
|
|
1
|
+
import { Color, DrawingLine, Vector, world } from "@tabletop-playground/api";
|
|
2
2
|
import { LayoutObjects } from "./layout-objects";
|
|
3
3
|
export class LayoutBorder extends LayoutObjects {
|
|
4
4
|
constructor(layoutObjects, padding) {
|
|
5
5
|
super();
|
|
6
|
-
this.
|
|
6
|
+
this._color = new Color(1, 1, 1, 1);
|
|
7
7
|
this._outlineWidth = 1;
|
|
8
|
+
this._tag = "";
|
|
8
9
|
const size = layoutObjects.calculateSize();
|
|
9
10
|
this.add(layoutObjects)
|
|
10
11
|
.setOverrideWidth(size.w + padding * 2)
|
|
@@ -13,19 +14,24 @@ export class LayoutBorder extends LayoutObjects {
|
|
|
13
14
|
this._addBorder();
|
|
14
15
|
});
|
|
15
16
|
}
|
|
16
|
-
|
|
17
|
-
this.
|
|
17
|
+
setColor(color) {
|
|
18
|
+
this._color = color.clone();
|
|
18
19
|
return this;
|
|
19
20
|
}
|
|
20
21
|
setOutlineWidth(width) {
|
|
21
22
|
this._outlineWidth = width;
|
|
22
23
|
return this;
|
|
23
24
|
}
|
|
25
|
+
setTag(tag) {
|
|
26
|
+
this._tag = tag;
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
24
29
|
_addBorder() {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
if (this._tag.length > 0) {
|
|
31
|
+
for (const line of world.getDrawingLines()) {
|
|
32
|
+
if (line.tag === this._tag) {
|
|
33
|
+
world.removeDrawingLineObject(line);
|
|
34
|
+
}
|
|
29
35
|
}
|
|
30
36
|
}
|
|
31
37
|
const center = this.getCenter();
|
|
@@ -39,8 +45,8 @@ export class LayoutBorder extends LayoutObjects {
|
|
|
39
45
|
const line = new DrawingLine();
|
|
40
46
|
line.points = [topLeft, topRight, botRight, botLeft, topLeft];
|
|
41
47
|
line.thickness = this._outlineWidth;
|
|
42
|
-
line.color =
|
|
43
|
-
line.tag =
|
|
48
|
+
line.color = this._color;
|
|
49
|
+
line.tag = this._tag;
|
|
44
50
|
world.addDrawingLine(line);
|
|
45
51
|
}
|
|
46
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-border.js","sourceRoot":"","sources":["../../../../src/lib/layout-objects/layout-border.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"layout-border.js","sourceRoot":"","sources":["../../../../src/lib/layout-objects/layout-border.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@ import { LayoutObjects } from "./layout-objects";
|
|
|
4
4
|
console.log("layout-border.testp.ts");
|
|
5
5
|
const layout = new LayoutObjects().setChildDistance(1);
|
|
6
6
|
const a = new LayoutObjects().setOverrideWidth(1).setOverrideHeight(2);
|
|
7
|
-
const ab = new LayoutBorder(a, 1).
|
|
7
|
+
const ab = new LayoutBorder(a, 1).setOutlineWidth(1);
|
|
8
8
|
layout.add(ab);
|
|
9
9
|
const b = new LayoutObjects().setOverrideWidth(1).setOverrideHeight(2);
|
|
10
|
-
const bb = new LayoutBorder(b, 1).
|
|
10
|
+
const bb = new LayoutBorder(b, 1).setOutlineWidth(1);
|
|
11
11
|
layout.add(bb);
|
|
12
12
|
layout.doLayoutAtPoint(new Vector(0, 0, 0), 0);
|
|
13
13
|
console.log(JSON.stringify(a.calculateSize()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-border.testp.js","sourceRoot":"","sources":["../../../../src/lib/layout-objects/layout-border.testp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAEtC,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEvD,MAAM,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACvE,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"layout-border.testp.js","sourceRoot":"","sources":["../../../../src/lib/layout-objects/layout-border.testp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAEtC,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEvD,MAAM,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACvE,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACrD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEf,MAAM,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACvE,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACrD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEf,MAAM,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAEhD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -10,6 +10,7 @@ export declare class TurnOrder {
|
|
|
10
10
|
static readonly onTurnStateChanged: TriggerableMulticastDelegate<(turnOrder: TurnOrder) => void>;
|
|
11
11
|
private static readonly _idToTurnOrder;
|
|
12
12
|
private readonly _savedDataKey;
|
|
13
|
+
private readonly _away;
|
|
13
14
|
private readonly _passed;
|
|
14
15
|
private readonly _eliminated;
|
|
15
16
|
private _order;
|
|
@@ -44,6 +45,8 @@ export declare class TurnOrder {
|
|
|
44
45
|
setTurnOrder(order: Array<PlayerSlot>, direction: Direction, currentTurn: PlayerSlot): this;
|
|
45
46
|
getDirection(): Direction;
|
|
46
47
|
setDirection(direction: Direction): this;
|
|
48
|
+
getAway(playerSlot: PlayerSlot): boolean;
|
|
49
|
+
setAway(playerSlot: PlayerSlot, value: boolean): this;
|
|
47
50
|
getEliminated(playerSlot: PlayerSlot): boolean;
|
|
48
51
|
setEliminated(playerSlot: PlayerSlot, value: boolean): this;
|
|
49
52
|
getPassed(playerSlot: PlayerSlot): boolean;
|
|
@@ -6,6 +6,7 @@ import { z } from "zod";
|
|
|
6
6
|
// that space so the state size is mostly stable.
|
|
7
7
|
const TURN_ORDER_STATE_SCHEMA = z
|
|
8
8
|
.object({
|
|
9
|
+
a: z.number().array(), // away
|
|
9
10
|
p: z.number().array(), // passed
|
|
10
11
|
e: z.number().array(), // eliminated
|
|
11
12
|
o: z.number().array(), // order
|
|
@@ -35,6 +36,7 @@ export class TurnOrder {
|
|
|
35
36
|
* @param savedDataKey
|
|
36
37
|
*/
|
|
37
38
|
constructor(savedDataKey) {
|
|
39
|
+
this._away = new Set();
|
|
38
40
|
this._passed = new Set();
|
|
39
41
|
this._eliminated = new Set();
|
|
40
42
|
this._order = [];
|
|
@@ -50,6 +52,7 @@ export class TurnOrder {
|
|
|
50
52
|
}
|
|
51
53
|
_saveState() {
|
|
52
54
|
const state = {
|
|
55
|
+
a: Array.from(this._away),
|
|
53
56
|
p: Array.from(this._passed),
|
|
54
57
|
e: Array.from(this._eliminated),
|
|
55
58
|
o: this._order,
|
|
@@ -69,6 +72,10 @@ export class TurnOrder {
|
|
|
69
72
|
}
|
|
70
73
|
const jsonObj = JSON.parse(jsonStr);
|
|
71
74
|
const state = TURN_ORDER_STATE_SCHEMA.parse(jsonObj);
|
|
75
|
+
this._away.clear();
|
|
76
|
+
for (const playerSlot of state.a) {
|
|
77
|
+
this._away.add(playerSlot);
|
|
78
|
+
}
|
|
72
79
|
this._passed.clear();
|
|
73
80
|
for (const playerSlot of state.p) {
|
|
74
81
|
this._passed.add(playerSlot);
|
|
@@ -167,6 +174,20 @@ export class TurnOrder {
|
|
|
167
174
|
TurnOrder.onTurnStateChanged.trigger(this);
|
|
168
175
|
return this;
|
|
169
176
|
}
|
|
177
|
+
getAway(playerSlot) {
|
|
178
|
+
return this._away.has(playerSlot);
|
|
179
|
+
}
|
|
180
|
+
setAway(playerSlot, value) {
|
|
181
|
+
if (value) {
|
|
182
|
+
this._away.add(playerSlot);
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
this._away.delete(playerSlot);
|
|
186
|
+
}
|
|
187
|
+
this._saveState();
|
|
188
|
+
TurnOrder.onTurnStateChanged.trigger(this);
|
|
189
|
+
return this;
|
|
190
|
+
}
|
|
170
191
|
getEliminated(playerSlot) {
|
|
171
192
|
return this._eliminated.has(playerSlot);
|
|
172
193
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-order.js","sourceRoot":"","sources":["../../../../src/lib/turn-order/turn-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAE,4BAA4B,EAAE,MAAM,wEAAwE,CAAC;AACtH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,mEAAmE;AACnE,2EAA2E;AAC3E,iDAAiD;AACjD,MAAM,uBAAuB,GAAG,CAAC;KAC5B,MAAM,CAAC;IACJ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,SAAS;IAChC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,aAAa;IACpC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ;IAC/B,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY;IAC3B,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,eAAe;IAC9B,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ;IACvB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,2BAA2B;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC;AAGd;;;GAGG;AACH,MAAM,OAAO,SAAS;
|
|
1
|
+
{"version":3,"file":"turn-order.js","sourceRoot":"","sources":["../../../../src/lib/turn-order/turn-order.ts"],"names":[],"mappings":"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"}
|