@gamepark/react-client 5.7.2 → 5.8.2
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/Actions/MoveLegacyUndone.d.ts +7 -0
- package/dist/Actions/MoveLegacyUndone.js +10 -0
- package/dist/Actions/MoveLegacyUndone.js.map +1 -0
- package/dist/Actions/MoveUndone.d.ts +2 -2
- package/dist/Actions/MoveUndone.js +2 -2
- package/dist/Actions/MoveUndone.js.map +1 -1
- package/dist/EjectPlayer/EjectPlayer.d.ts +1 -1
- package/dist/Store/gameMiddleware.js +4 -0
- package/dist/Store/gameMiddleware.js.map +1 -1
- package/dist/Store/gameReducer.d.ts +2 -2
- package/dist/Store/gameReducer.js +39 -13
- package/dist/Store/gameReducer.js.map +1 -1
- package/dist/Types/GameData.d.ts +2 -2
- package/dist/Types/MovePlayedNotification.d.ts +3 -1
- package/dist/Types/MovePlayedNotification.js +3 -2
- package/dist/Types/MovePlayedNotification.js.map +1 -1
- package/dist/Types/MoveUndoneNotification.d.ts +3 -4
- package/dist/Types/MoveUndoneNotification.js +3 -2
- package/dist/Types/MoveUndoneNotification.js.map +1 -1
- package/dist/Undo/index.d.ts +1 -0
- package/dist/Undo/index.js +11 -0
- package/dist/Undo/index.js.map +1 -1
- package/dist/Undo/useUndo.d.ts +5 -4
- package/dist/Undo/useUndo.js +39 -46
- package/dist/Undo/useUndo.js.map +1 -1
- package/dist/api/Client/GameClientAPI.d.ts +4 -3
- package/dist/api/Client/GameClientAPI.js +59 -56
- package/dist/api/Client/GameClientAPI.js.map +1 -1
- package/dist/api/Client/GameNotificationsListener.d.ts +1 -1
- package/dist/api/Client/GameNotificationsListener.js +3 -3
- package/dist/api/Client/GameNotificationsListener.js.map +1 -1
- package/dist/api/Client/RemoteGameLoader.js +3 -2
- package/dist/api/Client/RemoteGameLoader.js.map +1 -1
- package/dist/api/Client/apollo-client.js +6 -1
- package/dist/api/Client/apollo-client.js.map +1 -1
- package/dist/api/GameAPI.d.ts +1 -0
- package/dist/api/Local/ConsoleTools.d.ts +1 -1
- package/dist/api/Local/ConsoleTools.js +3 -8
- package/dist/api/Local/ConsoleTools.js.map +1 -1
- package/dist/api/Local/GameLocalAPI.d.ts +2 -8
- package/dist/api/Local/GameLocalAPI.js +62 -51
- package/dist/api/Local/GameLocalAPI.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const MOVE_UNDONE_LEGACY = "MOVE_UNDONE_LEGACY";
|
|
2
|
+
export default interface MoveUndoneLegacy {
|
|
3
|
+
type: typeof MOVE_UNDONE_LEGACY;
|
|
4
|
+
playerActionIndex: number;
|
|
5
|
+
delayed: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function moveUndoneLegacy(playerActionIndex: number, delayed?: boolean): MoveUndoneLegacy;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.moveUndoneLegacy = exports.MOVE_UNDONE_LEGACY = void 0;
|
|
4
|
+
exports.MOVE_UNDONE_LEGACY = 'MOVE_UNDONE_LEGACY';
|
|
5
|
+
function moveUndoneLegacy(playerActionIndex, delayed) {
|
|
6
|
+
if (delayed === void 0) { delayed = false; }
|
|
7
|
+
return { type: exports.MOVE_UNDONE_LEGACY, playerActionIndex: playerActionIndex, delayed: delayed };
|
|
8
|
+
}
|
|
9
|
+
exports.moveUndoneLegacy = moveUndoneLegacy;
|
|
10
|
+
//# sourceMappingURL=MoveLegacyUndone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MoveLegacyUndone.js","sourceRoot":"","sources":["../../src/Actions/MoveLegacyUndone.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,oBAAoB,CAAA;AAQtD,SAAgB,gBAAgB,CAAC,iBAAyB,EAAE,OAAwB;IAAxB,wBAAA,EAAA,eAAwB;IAClF,OAAO,EAAC,IAAI,EAAE,0BAAkB,EAAE,iBAAiB,mBAAA,EAAE,OAAO,SAAA,EAAC,CAAA;AAC/D,CAAC;AAFD,4CAEC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const MOVE_UNDONE = "MOVE_UNDONE";
|
|
2
2
|
export default interface MoveUndone {
|
|
3
3
|
type: typeof MOVE_UNDONE;
|
|
4
|
-
|
|
4
|
+
actionId: string;
|
|
5
5
|
delayed: boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare function moveUndone(
|
|
7
|
+
export declare function moveUndone(actionId: string, delayed?: boolean): MoveUndone;
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.moveUndone = exports.MOVE_UNDONE = void 0;
|
|
4
4
|
exports.MOVE_UNDONE = 'MOVE_UNDONE';
|
|
5
|
-
function moveUndone(
|
|
5
|
+
function moveUndone(actionId, delayed) {
|
|
6
6
|
if (delayed === void 0) { delayed = false; }
|
|
7
|
-
return { type: exports.MOVE_UNDONE,
|
|
7
|
+
return { type: exports.MOVE_UNDONE, actionId: actionId, delayed: delayed };
|
|
8
8
|
}
|
|
9
9
|
exports.moveUndone = moveUndone;
|
|
10
10
|
//# sourceMappingURL=MoveUndone.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoveUndone.js","sourceRoot":"","sources":["../../src/Actions/MoveUndone.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,aAAa,CAAA;AAQxC,SAAgB,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"MoveUndone.js","sourceRoot":"","sources":["../../src/Actions/MoveUndone.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,aAAa,CAAA;AAQxC,SAAgB,UAAU,CAAC,QAAgB,EAAE,OAAwB;IAAxB,wBAAA,EAAA,eAAwB;IACnE,OAAO,EAAC,IAAI,EAAE,mBAAW,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAC,CAAA;AAC/C,CAAC;AAFD,gCAEC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var MoveLegacyUndone_1 = require("../Actions/MoveLegacyUndone");
|
|
3
4
|
var MovePlayed_1 = require("../Actions/MovePlayed");
|
|
4
5
|
var MoveUndone_1 = require("../Actions/MoveUndone");
|
|
5
6
|
var StartRematch_1 = require("../Actions/StartRematch");
|
|
@@ -15,6 +16,9 @@ function gameMiddleware(api) {
|
|
|
15
16
|
}
|
|
16
17
|
break;
|
|
17
18
|
case MoveUndone_1.MOVE_UNDONE:
|
|
19
|
+
api.undo(action.actionId);
|
|
20
|
+
break;
|
|
21
|
+
case MoveLegacyUndone_1.MOVE_UNDONE_LEGACY:
|
|
18
22
|
api.undo(action.playerActionIndex);
|
|
19
23
|
break;
|
|
20
24
|
case StartRematch_1.START_REMATCH:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gameMiddleware.js","sourceRoot":"","sources":["../../src/Store/gameMiddleware.ts"],"names":[],"mappings":";;AACA,oDAAiD;AACjD,oDAAiD;AACjD,wDAAmE;AAEnE,
|
|
1
|
+
{"version":3,"file":"gameMiddleware.js","sourceRoot":"","sources":["../../src/Store/gameMiddleware.ts"],"names":[],"mappings":";;AACA,gEAA8D;AAC9D,oDAAiD;AACjD,oDAAiD;AACjD,wDAAmE;AAEnE,8CAAwD;AACxD,oCAAiC;AACjC,mEAAoF;AAIpF,SAAwB,cAAc,CAAwB,GAA4B;IACxF,OAAO,UAAA,KAAK,IAAI,OAAA,UAAA,IAAI,IAAI,OAAA,UAAC,MAAqD;QAC5E,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,wBAAW;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oBACjB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;iBACtB;gBACD,MAAK;YACP,KAAK,wBAAW;gBACd,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACzB,MAAK;YACP,KAAK,qCAAkB;gBACrB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;gBAClC,MAAK;YACP,KAAK,4BAAa;gBAChB,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;oBAC/B,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,UAAA,YAAY,IAAI,OAAA,KAAK,CAAC,QAAQ,CAAC,IAAA,2BAAY,EAAC,YAAY,CAAC,CAAC,EAA1C,CAA0C,CAAC,CAAA;iBAC/E;gBACD,MAAK;YACP,KAAK,0BAAY;gBACf,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC1B,MAAK;YACP,KAAK,gBAAO;gBACV,GAAG,CAAC,MAAM,EAAE,CAAA;gBACZ,MAAK;YACP,KAAK,uCAAmB;gBACtB,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACtC,MAAK;SACR;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,CAAC,EA7BuB,CA6BvB,EA7Be,CA6Bf,CAAA;AACH,CAAC;AA/BD,iCA+BC"}
|
|
@@ -8,6 +8,7 @@ import GameNotificationsReceived from '../Actions/GameNotificationsReceived';
|
|
|
8
8
|
import GameOver from '../Actions/GameOver';
|
|
9
9
|
import GameStateLoaded from '../Actions/GameStateLoaded';
|
|
10
10
|
import IgnoreRematch from '../Actions/IgnoreRematch';
|
|
11
|
+
import MoveUndoneLegacy from '../Actions/MoveLegacyUndone';
|
|
11
12
|
import MovePlayed from '../Actions/MovePlayed';
|
|
12
13
|
import MoveUndone from '../Actions/MoveUndone';
|
|
13
14
|
import SetAnimationsSpeed from '../Actions/SetAnimationsSpeed';
|
|
@@ -16,6 +17,5 @@ import Animations from '../animations/Animations';
|
|
|
16
17
|
import GiveUp from '../GiveUp/GiveUp';
|
|
17
18
|
import { MuteSounds, UnmuteSounds } from '../Sound';
|
|
18
19
|
import GamePageState from './GamePageState';
|
|
19
|
-
declare type GameActions<G, M, P> = GameStateLoaded<G, P> | GameNotificationsReceived<P> | MovePlayed<M> | MoveUndone | AnimationComplete | AnimationBreakComplete | ActionFailed | ClearFailures | SetAnimationsSpeed | StartRematch<P> | IgnoreRematch | GiveUp | MuteSounds | UnmuteSounds | GameOver<P>;
|
|
20
|
+
export declare type GameActions<G = any, M = any, P = any> = GameStateLoaded<G, P> | GameNotificationsReceived<P> | MovePlayed<M> | MoveUndone | MoveUndoneLegacy | AnimationComplete | AnimationBreakComplete | ActionFailed | ClearFailures | SetAnimationsSpeed | StartRematch<P> | IgnoreRematch | GiveUp | MuteSounds | UnmuteSounds | GameOver<P>;
|
|
20
21
|
export default function gameReducer<State, Move, PlayerId>(gameName: string, GameCreator: GameCreator<State, Move>, animations?: Animations): Reducer<GamePageState<State, Move, PlayerId>, GameActions<State, Move, PlayerId>>;
|
|
21
|
-
export {};
|
|
@@ -26,6 +26,7 @@ var GameNotificationsReceived_1 = require("../Actions/GameNotificationsReceived"
|
|
|
26
26
|
var GameOver_1 = require("../Actions/GameOver");
|
|
27
27
|
var GameStateLoaded_1 = require("../Actions/GameStateLoaded");
|
|
28
28
|
var IgnoreRematch_1 = require("../Actions/IgnoreRematch");
|
|
29
|
+
var MoveLegacyUndone_1 = require("../Actions/MoveLegacyUndone");
|
|
29
30
|
var MovePlayed_1 = require("../Actions/MovePlayed");
|
|
30
31
|
var MoveUndone_1 = require("../Actions/MoveUndone");
|
|
31
32
|
var SetAnimationsSpeed_1 = require("../Actions/SetAnimationsSpeed");
|
|
@@ -109,6 +110,20 @@ function gameReducer(gameName, GameCreator, animations) {
|
|
|
109
110
|
animateAction(displayedAction, draft);
|
|
110
111
|
});
|
|
111
112
|
case MoveUndone_1.MOVE_UNDONE:
|
|
113
|
+
return (0, immer_1.default)(state, function (draft) {
|
|
114
|
+
if (!state.actions || !draft.actions || !state.setup)
|
|
115
|
+
return console.error('Cannot undo before actions history is loaded');
|
|
116
|
+
var action = draft.actions.find(function (action) { return action.id === event.actionId; });
|
|
117
|
+
if (!action)
|
|
118
|
+
return console.error("Could not find action to undo with this id: " + event.actionId);
|
|
119
|
+
action.cancelled = true;
|
|
120
|
+
action.cancelPending = true;
|
|
121
|
+
if (state.playerId !== undefined && !event.delayed && !action.animation && !action.delayed) {
|
|
122
|
+
// Assume that if it is our turn to play, the UNDO will not fail so it can be applied immediately
|
|
123
|
+
animateAction(action, draft);
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
case MoveLegacyUndone_1.MOVE_UNDONE_LEGACY:
|
|
112
127
|
return (0, immer_1.default)(state, function (draft) {
|
|
113
128
|
if (!state.actions || !draft.actions || !state.setup) {
|
|
114
129
|
return console.error('Cannot undo before actions history is loaded');
|
|
@@ -207,25 +222,31 @@ function gameReducer(gameName, GameCreator, animations) {
|
|
|
207
222
|
return state;
|
|
208
223
|
};
|
|
209
224
|
function setActionsFromPastNotifications(draft, notifications) {
|
|
225
|
+
var _a;
|
|
210
226
|
draft.actions = [];
|
|
211
|
-
|
|
227
|
+
var _loop_1 = function (i) {
|
|
212
228
|
var notification = notifications[i];
|
|
213
229
|
if ((0, MovePlayedNotification_1.isMovePlayedNotification)(notification)) {
|
|
214
230
|
draft.actions.push({
|
|
231
|
+
id: (_a = notification.actionId) !== null && _a !== void 0 ? _a : undefined,
|
|
215
232
|
playerId: notification.playerId, move: notification.moveView,
|
|
216
233
|
consequences: notification.consequences
|
|
217
234
|
});
|
|
218
235
|
}
|
|
219
236
|
else if ((0, MoveUndoneNotification_1.isMoveUndoneNotification)(notification)) {
|
|
220
|
-
draft.actions.
|
|
237
|
+
var index = notification.actionId ? (0, ArrayUtil_1.findLastIndex)(draft.actions, function (action) { return action.id === notification.actionId; }) : notification.moveUndone;
|
|
238
|
+
draft.actions.splice(index, 1);
|
|
221
239
|
}
|
|
240
|
+
};
|
|
241
|
+
for (var i = 0; i < draft.nextNotificationIndex; i++) {
|
|
242
|
+
_loop_1(i);
|
|
222
243
|
}
|
|
223
244
|
}
|
|
224
245
|
function getGameAfterAnimations(state) {
|
|
225
246
|
if (!state.actions || !state.setup) {
|
|
226
247
|
throw new Error('Cannot play move before game history is loaded');
|
|
227
248
|
}
|
|
228
|
-
if (state.actions.some(function (action) { return
|
|
249
|
+
if (state.actions.some(function (action) { return action.animation || action.cancelled; })) {
|
|
229
250
|
// We need to avoid side effects of other actions that we might currently be animating => let's get the game state as if every animation is over
|
|
230
251
|
var game = new GameCreator(JSON.parse(JSON.stringify(state.setup)));
|
|
231
252
|
(0, rules_api_1.replayActions)(game, state.actions.filter(function (action) { return !action.delayed && !action.cancelled; }));
|
|
@@ -265,13 +286,14 @@ function gameReducer(gameName, GameCreator, animations) {
|
|
|
265
286
|
}
|
|
266
287
|
}
|
|
267
288
|
function applyMovePlayedNotification(draft, notification) {
|
|
268
|
-
var _a;
|
|
289
|
+
var _a, _b, _c;
|
|
269
290
|
(0, assert_1.default)(draft.actions !== undefined, 'Cannot apply a notification before action history is loaded');
|
|
270
291
|
var action;
|
|
271
292
|
if (notification.playerId == draft.playerId) {
|
|
272
293
|
action = draft.actions.find(function (action) { return action.pending && action.playerId == notification.playerId; });
|
|
273
294
|
}
|
|
274
295
|
if (action) {
|
|
296
|
+
action.id = (_a = notification.actionId) !== null && _a !== void 0 ? _a : undefined;
|
|
275
297
|
action.pending = false;
|
|
276
298
|
if (action.delayed) {
|
|
277
299
|
action.move = notification.moveView;
|
|
@@ -297,7 +319,7 @@ function gameReducer(gameName, GameCreator, animations) {
|
|
|
297
319
|
else if (!(0, fast_deep_equal_1.default)(JSON.parse(JSON.stringify(action.consequences[i])), JSON.parse(JSON.stringify(notification.consequences[i])))) {
|
|
298
320
|
console.error('A consequence of an action was played and executed immediately:', JSON.parse(JSON.stringify(action.consequences[i])), ', but the notifications does not contain the same data:', JSON.parse(JSON.stringify(notification.consequences[i])), '(the problem is inside function "getAutomaticMoves": when it is executed on the client side, it must return null if the next consequence cannot be predicted by the client).');
|
|
299
321
|
}
|
|
300
|
-
if (((
|
|
322
|
+
if (((_b = action.animation) === null || _b === void 0 ? void 0 : _b.duration) === 0) {
|
|
301
323
|
animateAction(action, draft);
|
|
302
324
|
}
|
|
303
325
|
}
|
|
@@ -305,25 +327,29 @@ function gameReducer(gameName, GameCreator, animations) {
|
|
|
305
327
|
}
|
|
306
328
|
else {
|
|
307
329
|
draft.actions.splice((0, ArrayUtil_1.findLastIndex)(draft.actions, function (action) { return !action.pending; }) + 1, 0, {
|
|
330
|
+
id: (_c = notification.actionId) !== null && _c !== void 0 ? _c : undefined,
|
|
308
331
|
playerId: notification.playerId, move: notification.moveView,
|
|
309
332
|
consequences: notification.consequences,
|
|
310
333
|
delayed: true
|
|
311
334
|
});
|
|
312
335
|
}
|
|
313
336
|
}
|
|
314
|
-
function
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
for (var i = 0; i < notification.moveUndone; i++) {
|
|
319
|
-
if (draft.actions[i].cancelled && !draft.actions[i].cancelPending) {
|
|
337
|
+
function getLegacyMoveUndoIndex(actions, moveUndone) {
|
|
338
|
+
var actionIndex = moveUndone;
|
|
339
|
+
for (var i = 0; i < moveUndone; i++) {
|
|
340
|
+
if (actions[i].cancelled && !actions[i].cancelPending) {
|
|
320
341
|
actionIndex++; // Server sends the index considering that previously cancelled actions are no longer in the list. We may still be animating them on client side.
|
|
321
342
|
}
|
|
322
343
|
}
|
|
323
|
-
|
|
344
|
+
return actionIndex;
|
|
345
|
+
}
|
|
346
|
+
function applyMoveUndoneNotification(draft, notification) {
|
|
347
|
+
(0, assert_1.default)(draft.actions !== undefined, 'Cannot apply a notification before action history is loaded');
|
|
348
|
+
var index = notification.actionId ? (0, ArrayUtil_1.findLastIndex)(draft.actions, function (action) { return action.id === notification.actionId; }) : getLegacyMoveUndoIndex(draft.actions, notification.moveUndone);
|
|
349
|
+
var cancelledAction = draft.actions[index];
|
|
324
350
|
if (cancelledAction.delayed) {
|
|
325
351
|
// We can immediately remove it
|
|
326
|
-
draft.actions.splice(
|
|
352
|
+
draft.actions.splice(index, 1);
|
|
327
353
|
}
|
|
328
354
|
else {
|
|
329
355
|
cancelledAction.cancelled = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gameReducer.js","sourceRoot":"","sources":["../../src/Store/gameReducer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gameReducer.js","sourceRoot":"","sources":["../../src/Store/gameReducer.ts"],"names":[],"mappings":"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"}
|
package/dist/Types/GameData.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ declare type GameData<State = any, PlayerId = any> = {
|
|
|
8
8
|
mode: GameMode;
|
|
9
9
|
setup: State;
|
|
10
10
|
state: State;
|
|
11
|
-
notificationsChannel
|
|
11
|
+
notificationsChannel: string | null;
|
|
12
12
|
notificationsCount: number;
|
|
13
|
-
endDate
|
|
13
|
+
endDate: Date | null;
|
|
14
14
|
};
|
|
15
15
|
export default GameData;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { Action } from '@gamepark/rules-api';
|
|
1
2
|
import GameNotification from './GameNotification';
|
|
2
3
|
declare type MovePlayedNotification<Move, PlayerId> = GameNotification<PlayerId> & {
|
|
4
|
+
actionId: string | null;
|
|
3
5
|
moveView: Move;
|
|
4
6
|
consequences: Move[];
|
|
5
7
|
};
|
|
6
|
-
export declare function movePlayedNotification<Move, PlayerId>(
|
|
8
|
+
export declare function movePlayedNotification<Move, PlayerId>(action: Action): MovePlayedNotification<Move, PlayerId>;
|
|
7
9
|
export default MovePlayedNotification;
|
|
8
10
|
export declare function isMovePlayedNotification<Move, PlayerId>(notification: GameNotification<PlayerId>): notification is MovePlayedNotification<Move, PlayerId>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isMovePlayedNotification = exports.movePlayedNotification = void 0;
|
|
4
|
-
function movePlayedNotification(
|
|
5
|
-
|
|
4
|
+
function movePlayedNotification(action) {
|
|
5
|
+
var _a;
|
|
6
|
+
return { actionId: (_a = action.id) !== null && _a !== void 0 ? _a : null, playerId: action.playerId, moveView: action.move, consequences: action.consequences };
|
|
6
7
|
}
|
|
7
8
|
exports.movePlayedNotification = movePlayedNotification;
|
|
8
9
|
function isMovePlayedNotification(notification) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MovePlayedNotification.js","sourceRoot":"","sources":["../../src/Types/MovePlayedNotification.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"MovePlayedNotification.js","sourceRoot":"","sources":["../../src/Types/MovePlayedNotification.ts"],"names":[],"mappings":";;;AASA,SAAgB,sBAAsB,CAAiB,MAAc;;IACnE,OAAO,EAAC,QAAQ,EAAE,MAAA,MAAM,CAAC,EAAE,mCAAI,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAC,CAAA;AAC3H,CAAC;AAFD,wDAEC;AAID,SAAgB,wBAAwB,CAAiB,YAAwC;IAC/F,OAAQ,YAAuD,CAAC,QAAQ,IAAI,SAAS,CAAA;AACvF,CAAC;AAFD,4DAEC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
+
import { Action } from '@gamepark/rules-api';
|
|
1
2
|
import GameNotification from './GameNotification';
|
|
2
3
|
declare type MoveUndoneNotification<PlayerId> = GameNotification<PlayerId> & {
|
|
4
|
+
actionId: string | null;
|
|
3
5
|
moveUndone: number;
|
|
4
6
|
};
|
|
5
7
|
export default MoveUndoneNotification;
|
|
6
|
-
export declare function moveUndoneNotification<PlayerId>(
|
|
7
|
-
playerId: PlayerId;
|
|
8
|
-
moveUndone: number;
|
|
9
|
-
};
|
|
8
|
+
export declare function moveUndoneNotification<PlayerId>(action: Action<any, PlayerId>, moveUndone: number): MoveUndoneNotification<PlayerId>;
|
|
10
9
|
export declare function isMoveUndoneNotification<PlayerId>(notification: GameNotification<PlayerId>): notification is MoveUndoneNotification<PlayerId>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isMoveUndoneNotification = exports.moveUndoneNotification = void 0;
|
|
4
|
-
function moveUndoneNotification(
|
|
5
|
-
|
|
4
|
+
function moveUndoneNotification(action, moveUndone) {
|
|
5
|
+
var _a;
|
|
6
|
+
return { playerId: action.playerId, actionId: (_a = action.id) !== null && _a !== void 0 ? _a : null, moveUndone: moveUndone };
|
|
6
7
|
}
|
|
7
8
|
exports.moveUndoneNotification = moveUndoneNotification;
|
|
8
9
|
function isMoveUndoneNotification(notification) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoveUndoneNotification.js","sourceRoot":"","sources":["../../src/Types/MoveUndoneNotification.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"MoveUndoneNotification.js","sourceRoot":"","sources":["../../src/Types/MoveUndoneNotification.ts"],"names":[],"mappings":";;;AAUA,SAAgB,sBAAsB,CAAW,MAA6B,EAAE,UAAkB;;IAChG,OAAO,EAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAA,MAAM,CAAC,EAAE,mCAAI,IAAI,EAAE,UAAU,YAAA,EAAC,CAAA;AAC7E,CAAC;AAFD,wDAEC;AAED,SAAgB,wBAAwB,CAAW,YAAwC;IACzF,OAAQ,YAAiD,CAAC,UAAU,IAAI,SAAS,CAAA;AACnF,CAAC;AAFD,4DAEC"}
|
package/dist/Undo/index.d.ts
CHANGED
package/dist/Undo/index.js
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
2
12
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
13
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
14
|
};
|
|
@@ -10,4 +20,5 @@ var UndoPopButton_1 = require("./UndoPopButton");
|
|
|
10
20
|
Object.defineProperty(exports, "UndoPopButton", { enumerable: true, get: function () { return __importDefault(UndoPopButton_1).default; } });
|
|
11
21
|
var useUndo_1 = require("./useUndo");
|
|
12
22
|
Object.defineProperty(exports, "useUndo", { enumerable: true, get: function () { return __importDefault(useUndo_1).default; } });
|
|
23
|
+
__exportStar(require("./useUndo"), exports);
|
|
13
24
|
//# sourceMappingURL=index.js.map
|
package/dist/Undo/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Undo/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Undo/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAkD;AAA1C,yHAAA,OAAO,OAAc;AAC7B,iDAAwD;AAAhD,+HAAA,OAAO,OAAiB;AAChC,qCAA4C;AAApC,mHAAA,OAAO,OAAW;AAC1B,4CAAyB"}
|
package/dist/Undo/useUndo.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
declare type UndoOptions = {
|
|
1
|
+
export declare type UndoOptions = {
|
|
2
2
|
delayed?: boolean;
|
|
3
3
|
};
|
|
4
|
-
declare type
|
|
5
|
-
export
|
|
6
|
-
export
|
|
4
|
+
export declare type MovePredicate<Move> = (move: Move) => boolean;
|
|
5
|
+
export declare type CanUndo<Move> = (movePredicate?: MovePredicate<Move>) => boolean;
|
|
6
|
+
export declare type UndoFunction<Move> = ((arg?: string | MovePredicate<Move> | UndoOptions, options?: UndoOptions) => void);
|
|
7
|
+
export default function useUndo<Move = any, PlayerId = any, State = any>(): [UndoFunction<Move>, CanUndo<Move>];
|
package/dist/Undo/useUndo.js
CHANGED
|
@@ -1,63 +1,56 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
var rules_api_1 = require("@gamepark/rules-api");
|
|
7
|
-
var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
8
4
|
var react_1 = require("react");
|
|
9
5
|
var react_redux_1 = require("react-redux");
|
|
6
|
+
var MoveLegacyUndone_1 = require("../Actions/MoveLegacyUndone");
|
|
10
7
|
var MoveUndone_1 = require("../Actions/MoveUndone");
|
|
11
8
|
var GameContext_1 = require("../GameProvider/GameContext");
|
|
12
9
|
var ArrayUtil_1 = require("../util/ArrayUtil");
|
|
13
|
-
function isUndoOptions(arg) {
|
|
14
|
-
if (typeof arg !== 'object')
|
|
15
|
-
return false;
|
|
16
|
-
var ownPropertyNames = Object.getOwnPropertyNames(arg);
|
|
17
|
-
return ownPropertyNames.length === 1 && ownPropertyNames[0] === 'delayed';
|
|
18
|
-
}
|
|
19
10
|
function useUndo() {
|
|
20
11
|
var _a;
|
|
21
|
-
var
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
throw new Error('Cannot useUndo outside a GameProvider');
|
|
12
|
+
var actions = (0, react_redux_1.useSelector)(function (state) { return state.actions; });
|
|
13
|
+
var setup = (0, react_redux_1.useSelector)(function (state) { return state.setup; });
|
|
14
|
+
var playerId = (0, react_redux_1.useSelector)(function (state) { return state.playerId; });
|
|
25
15
|
var dispatch = (0, react_redux_1.useDispatch)();
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
16
|
+
var RulesView = (_a = (0, react_1.useContext)(GameContext_1.gameContext)) === null || _a === void 0 ? void 0 : _a.RulesView;
|
|
17
|
+
if (!RulesView)
|
|
18
|
+
throw new Error('Cannot useUndo outside a GameProvider');
|
|
19
|
+
var undo = (0, react_1.useCallback)(function (arg, options) {
|
|
20
|
+
if (typeof arg === 'string') {
|
|
21
|
+
dispatch((0, MoveUndone_1.moveUndone)(arg, options === null || options === void 0 ? void 0 : options.delayed));
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
if (!actions)
|
|
25
|
+
return console.error('Cannot undo before actions history is loaded');
|
|
26
|
+
var action = (0, ArrayUtil_1.findLastItem)(actions, function (action) { return action.playerId === playerId && !action.cancelled && (typeof arg !== 'function' || arg(action.move)); });
|
|
27
|
+
if (!action)
|
|
28
|
+
return console.error('This action does not exists, it cannot be undone');
|
|
29
|
+
var delayed = typeof arg !== 'function' ? arg === null || arg === void 0 ? void 0 : arg.delayed : options === null || options === void 0 ? void 0 : options.delayed;
|
|
30
|
+
if (action.id) {
|
|
31
|
+
dispatch((0, MoveUndone_1.moveUndone)(action.id, delayed));
|
|
29
32
|
}
|
|
30
33
|
else {
|
|
31
|
-
|
|
34
|
+
var playerActions = actions.filter(function (action) { return action.playerId === playerId && !action.cancelled; });
|
|
35
|
+
var index = playerActions.lastIndexOf(action);
|
|
36
|
+
dispatch((0, MoveLegacyUndone_1.moveUndoneLegacy)(index, delayed));
|
|
32
37
|
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return
|
|
38
|
-
}
|
|
38
|
+
}
|
|
39
|
+
}, [actions, playerId, dispatch]);
|
|
40
|
+
var canUndo = (0, react_1.useCallback)(function (movePredicate) {
|
|
41
|
+
if (!setup || !actions)
|
|
42
|
+
return false;
|
|
43
|
+
var index = (0, ArrayUtil_1.findLastIndex)(actions, function (action) { return action.playerId === playerId && !action.cancelled && (!movePredicate || movePredicate(action.move)); });
|
|
44
|
+
if (index === -1)
|
|
45
|
+
return false;
|
|
46
|
+
var consecutiveActions = actions.slice(index + 1).filter(function (action) { return !action.cancelled; });
|
|
47
|
+
var game = new RulesView(JSON.parse(JSON.stringify(setup)));
|
|
48
|
+
if (!(0, rules_api_1.hasUndo)(game))
|
|
49
|
+
return false;
|
|
50
|
+
(0, rules_api_1.replayActions)(game, actions.filter(function (action) { return !action.delayed && !action.cancelled; }));
|
|
51
|
+
return game.canUndo(actions[index], consecutiveActions);
|
|
52
|
+
}, [setup, actions, playerId, RulesView]);
|
|
53
|
+
return [undo, canUndo];
|
|
39
54
|
}
|
|
40
55
|
exports.default = useUndo;
|
|
41
|
-
function undo(state, move, delayed) {
|
|
42
|
-
if (!state.actions) {
|
|
43
|
-
return console.error('Cannot undo before actions history is loaded');
|
|
44
|
-
}
|
|
45
|
-
var playerActions = state.actions.filter(function (action) { return action.playerId === state.playerId && !action.cancelled; });
|
|
46
|
-
var actionIndex = move ? playerActions.findIndex(function (action) { return (0, fast_deep_equal_1.default)(action.move, move); }) : playerActions.length - 1;
|
|
47
|
-
if (actionIndex === -1) {
|
|
48
|
-
return move ? console.error('Cannot undo: player action history does not contain this move', move)
|
|
49
|
-
: console.error('Cannot undo: player did not play any move yet');
|
|
50
|
-
}
|
|
51
|
-
return (0, MoveUndone_1.moveUndone)(actionIndex, delayed);
|
|
52
|
-
}
|
|
53
|
-
function canUndo(Game, state, move) {
|
|
54
|
-
if (!state.setup || !state.actions) {
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
var i = (0, ArrayUtil_1.findLastIndex)(state.actions, function (action) { return action.playerId === state.playerId && !action.cancelled && (!move || (0, fast_deep_equal_1.default)(action.move, move)); });
|
|
58
|
-
var consecutiveActions = state.actions.slice(i + 1).filter(function (action) { return !action.cancelled; });
|
|
59
|
-
var game = new Game(JSON.parse(JSON.stringify(state.setup)));
|
|
60
|
-
(0, rules_api_1.replayActions)(game, state.actions.filter(function (action) { return !action.delayed && !action.cancelled; }));
|
|
61
|
-
return i !== -1 && (0, rules_api_1.hasUndo)(game) && game.canUndo(state.actions[i], consecutiveActions);
|
|
62
|
-
}
|
|
63
56
|
//# sourceMappingURL=useUndo.js.map
|
package/dist/Undo/useUndo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUndo.js","sourceRoot":"","sources":["../../src/Undo/useUndo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useUndo.js","sourceRoot":"","sources":["../../src/Undo/useUndo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ApolloError } from '@apollo/client';
|
|
1
2
|
import { Dispatch } from 'redux';
|
|
2
3
|
import RematchNotification from '../../Types/RematchNotification';
|
|
3
4
|
import GameAPI from '../GameAPI';
|
|
@@ -10,16 +11,16 @@ export default class GameClientAPI<Move = any, PlayerId = any> implements GameAP
|
|
|
10
11
|
private readonly gameId;
|
|
11
12
|
private ongoingAction?;
|
|
12
13
|
private pendingActions;
|
|
13
|
-
private readonly apolloClient;
|
|
14
14
|
constructor(gameId: string);
|
|
15
15
|
init(dispatch: Dispatch): Promise<void>;
|
|
16
16
|
play(move: Move): void;
|
|
17
|
-
undo(
|
|
17
|
+
undo(action: number | string): void;
|
|
18
|
+
legacyUndo(playerActionIndex: number): void;
|
|
18
19
|
private executePendingActions;
|
|
19
20
|
private handleGameMessageResult;
|
|
20
21
|
rematch(): Promise<RematchNotification<PlayerId>>;
|
|
21
22
|
eject(playerId: PlayerId): void;
|
|
22
23
|
giveUp(): void;
|
|
23
|
-
|
|
24
|
+
onError({ graphQLErrors, networkError }: ApolloError): void;
|
|
24
25
|
playTutorialMoves(): void;
|
|
25
26
|
}
|