@gamepark/react-game 6.31.3 → 6.31.4
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.
|
@@ -29,7 +29,7 @@ var useFlatHistory = function () {
|
|
|
29
29
|
var setup = (_a = (0, react_redux_1.useSelector)(function (state) { return state.setup; })) !== null && _a !== void 0 ? _a : {};
|
|
30
30
|
var playedMoves = (0, react_redux_1.useSelector)(function (state) { return state.playedMoves; });
|
|
31
31
|
var gameOver = (0, react_redux_1.useSelector)(function (state) { return state.gameOver; });
|
|
32
|
-
var
|
|
32
|
+
var moves = (0, react_1.useRef)([]);
|
|
33
33
|
var rules = (0, react_1.useRef)();
|
|
34
34
|
(0, react_1.useEffect)(function () {
|
|
35
35
|
if (!rules.current && setup) {
|
|
@@ -51,9 +51,9 @@ var useFlatHistory = function () {
|
|
|
51
51
|
}, [playedMoves]);
|
|
52
52
|
(0, react_1.useEffect)(function () {
|
|
53
53
|
var _a;
|
|
54
|
-
var actualSize = movesCount.current;
|
|
55
54
|
if (!playedMoves)
|
|
56
55
|
return;
|
|
56
|
+
var actualSize = moves.current.length;
|
|
57
57
|
if (actualSize < playedMoves.length) {
|
|
58
58
|
var newMoves = playedMoves.slice(actualSize - playedMoves.length);
|
|
59
59
|
var entries_1 = [];
|
|
@@ -67,18 +67,21 @@ var useFlatHistory = function () {
|
|
|
67
67
|
setHistory(function (h) { return h.concat(entries_1); });
|
|
68
68
|
}
|
|
69
69
|
else if (actualSize > playedMoves.length) {
|
|
70
|
-
var
|
|
71
|
-
var
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
var
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return move.action.id === previousHistoryEntry_1.action.id && move.consequenceIndex === previousHistoryEntry_1.consequenceIndex;
|
|
70
|
+
var firstIndexChange = moves.current.findIndex(function (currentMove, index) { var _a; return currentMove.action.id !== ((_a = playedMoves[index]) === null || _a === void 0 ? void 0 : _a.action.id); });
|
|
71
|
+
var invalidatedMoves_1 = moves.current.slice(firstIndexChange);
|
|
72
|
+
var lastValidHistoryIndex_1 = (0, findLastIndex_1.default)(history, function (moveHistory) { return !invalidatedMoves_1.some(function (move) { return move.action.id === moveHistory.action.id; }); });
|
|
73
|
+
var lastValidHistory_1 = lastValidHistoryIndex_1 !== -1 ? history[lastValidHistoryIndex_1] : undefined;
|
|
74
|
+
var previousGameState = lastValidHistory_1 ? lastValidHistory_1.game : setup;
|
|
75
|
+
rules.current = new context.Rules(JSON.parse(JSON.stringify(previousGameState)));
|
|
76
|
+
var movesToReplay = lastValidHistory_1 ?
|
|
77
|
+
playedMoves.slice((0, findLastIndex_1.default)(playedMoves, function (move) {
|
|
78
|
+
return move.action.id === lastValidHistory_1.action.id && move.consequenceIndex === lastValidHistory_1.consequenceIndex;
|
|
80
79
|
}))
|
|
81
80
|
: playedMoves;
|
|
81
|
+
if (lastValidHistory_1) {
|
|
82
|
+
var move = movesToReplay.shift();
|
|
83
|
+
rules.current.play(move.move, { local: move.action.local });
|
|
84
|
+
}
|
|
82
85
|
var entries_2 = [];
|
|
83
86
|
for (var _b = 0, movesToReplay_1 = movesToReplay; _b < movesToReplay_1.length; _b++) {
|
|
84
87
|
var move = movesToReplay_1[_b];
|
|
@@ -87,9 +90,9 @@ var useFlatHistory = function () {
|
|
|
87
90
|
entries_2.push(entry);
|
|
88
91
|
rules.current.play(move.move, { local: move.action.local });
|
|
89
92
|
}
|
|
90
|
-
setHistory(function (h) { return h.slice(0,
|
|
93
|
+
setHistory(function (h) { return h.slice(0, lastValidHistoryIndex_1 + 1).concat(entries_2); });
|
|
91
94
|
}
|
|
92
|
-
|
|
95
|
+
moves.current = playedMoves;
|
|
93
96
|
}, [playedMoves]);
|
|
94
97
|
return {
|
|
95
98
|
history: history,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFlatHistory.js","sourceRoot":"","sources":["../../src/hooks/useFlatHistory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,uEAAgD;AAChD,+BAA+D;AAC/D,2CAAyC;AACzC,4CAAqE;AACrE,6CAA2C;AAUpC,IAAM,cAAc,GAAG;;IAC5B,IAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,wBAAW,CAAC,CAAA;IACvC,IAAM,MAAM,GAAG,IAAA,yBAAW,GAAE,CAAA;IACtB,IAAA,KAAwB,IAAA,gBAAQ,EAAgB,EAAE,CAAC,EAAlD,OAAO,QAAA,EAAE,UAAU,QAA+B,CAAA;IACnD,IAAA,KAAwB,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAtC,QAAQ,QAAA,EAAE,SAAS,QAAmB,CAAA;IAC7C,IAAM,KAAK,GAAG,MAAA,IAAA,yBAAW,EAAC,UAAC,KAAoB,IAAK,OAAA,KAAK,CAAC,KAAK,EAAX,CAAW,CAAC,mCAAI,EAAE,CAAA;IACtE,IAAM,WAAW,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,IAAK,OAAA,KAAK,CAAC,WAAW,EAAjB,CAAiB,CAAC,CAAA;IAC5E,IAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,IAAK,OAAA,KAAK,CAAC,QAAQ,EAAd,CAAc,CAAC,CAAA;IAEtE,IAAM,
|
|
1
|
+
{"version":3,"file":"useFlatHistory.js","sourceRoot":"","sources":["../../src/hooks/useFlatHistory.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/react-game",
|
|
3
|
-
"version": "6.31.
|
|
3
|
+
"version": "6.31.4",
|
|
4
4
|
"description": "React components & tools to create a Board Game user interface for Game Park",
|
|
5
5
|
"author": "Romain Fromi <romain@game-park.com> (https://game-park.com/)",
|
|
6
6
|
"license": "ISC",
|