@gamepark/react-game 6.5.0 → 6.7.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/components/Avatar/Avatar.js +1 -8
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/GameProvider/GameProvider.d.ts +6 -2
- package/dist/components/GameProvider/GameProvider.js +16 -4
- package/dist/components/GameProvider/GameProvider.js.map +1 -1
- package/dist/components/LoadingScreen/LoadingScreen.js +6 -2
- package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -1
- package/dist/components/PlayerPanel/PlayerPanel.js +9 -17
- package/dist/components/PlayerPanel/PlayerPanel.js.map +1 -1
- package/dist/components/PlayerTimer/PlayerTimer.d.ts +5 -1
- package/dist/components/PlayerTimer/PlayerTimer.js +10 -6
- package/dist/components/PlayerTimer/PlayerTimer.js.map +1 -1
- package/dist/components/buttons/PlayMoveButton/PlayMoveButton.d.ts +1 -0
- package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js +15 -3
- package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js.map +1 -1
- package/dist/components/buttons/UndoMovesButton/UndoMovesButton.d.ts +7 -0
- package/dist/components/buttons/UndoMovesButton/UndoMovesButton.js +58 -0
- package/dist/components/buttons/UndoMovesButton/UndoMovesButton.js.map +1 -0
- package/dist/components/buttons/UndoMovesButton/index.d.ts +1 -0
- package/dist/components/buttons/UndoMovesButton/index.js +18 -0
- package/dist/components/buttons/UndoMovesButton/index.js.map +1 -0
- package/dist/components/buttons/index.d.ts +1 -0
- package/dist/components/buttons/index.js +1 -0
- package/dist/components/buttons/index.js.map +1 -1
- package/dist/components/dialogs/Dialog.d.ts +0 -1
- package/dist/components/dialogs/Dialog.js +3 -3
- package/dist/components/dialogs/Dialog.js.map +1 -1
- package/dist/components/dialogs/ResultDialog/ResultDialog.js +13 -10
- package/dist/components/dialogs/ResultDialog/ResultDialog.js.map +1 -1
- package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js +2 -2
- package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js.map +1 -1
- package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js +1 -1
- package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js.map +1 -1
- package/dist/components/dialogs/RulesDialog/RulesDialog.d.ts +0 -1
- package/dist/components/dialogs/RulesDialog/RulesDialog.js +3 -4
- package/dist/components/dialogs/RulesDialog/RulesDialog.js.map +1 -1
- package/dist/components/material/DraggableMaterial.js +9 -7
- package/dist/components/material/DraggableMaterial.js.map +1 -1
- package/dist/components/material/GameTable/GameMaterialDisplay.js +29 -11
- package/dist/components/material/GameTable/GameMaterialDisplay.js.map +1 -1
- package/dist/components/material/GameTable/GameTable.d.ts +0 -2
- package/dist/components/material/GameTable/GameTable.js +20 -29
- package/dist/components/material/GameTable/GameTable.js.map +1 -1
- package/dist/components/material/locations/LocationDescription.d.ts +6 -4
- package/dist/components/material/locations/LocationDescription.js +13 -8
- package/dist/components/material/locations/LocationDescription.js.map +1 -1
- package/dist/components/material/locations/SimpleDropArea.d.ts +2 -0
- package/dist/components/material/locations/SimpleDropArea.js +17 -14
- package/dist/components/material/locations/SimpleDropArea.js.map +1 -1
- package/dist/components/menus/EjectPlayer/EjectPlayerDialog.js +1 -5
- package/dist/components/menus/EjectPlayer/EjectPlayerDialog.js.map +1 -1
- package/dist/components/menus/Menu/Menu.js +1 -5
- package/dist/components/menus/Menu/Menu.js.map +1 -1
- package/dist/components/menus/TimeStatsButton/TimeStatsButton.js +7 -5
- package/dist/components/menus/TimeStatsButton/TimeStatsButton.js.map +1 -1
- package/dist/components/menus/menuCss.js +3 -4
- package/dist/components/menus/menuCss.js.map +1 -1
- package/dist/components/tutorial/MaterialTutorial.d.ts +5 -6
- package/dist/components/tutorial/MaterialTutorial.js +10 -4
- package/dist/components/tutorial/MaterialTutorial.js.map +1 -1
- package/dist/components/tutorial/MaterialTutorialDisplay.js +0 -1
- package/dist/components/tutorial/MaterialTutorialDisplay.js.map +1 -1
- package/dist/components/tutorial/TutorialRulesWrapper.js +10 -0
- package/dist/components/tutorial/TutorialRulesWrapper.js.map +1 -1
- package/dist/css/GameTheme.d.ts +19 -0
- package/dist/css/GameTheme.js +19 -0
- package/dist/css/GameTheme.js.map +1 -0
- package/dist/css/index.d.ts +1 -0
- package/dist/css/index.js +1 -0
- package/dist/css/index.js.map +1 -1
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/index.js +0 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/usePlayerName.js +7 -0
- package/dist/hooks/usePlayerName.js.map +1 -1
- package/dist/hooks/useUndo.d.ts +1 -1
- package/dist/hooks/useUndo.js +23 -6
- package/dist/hooks/useUndo.js.map +1 -1
- package/dist/locators/PileLocator.d.ts +3 -2
- package/dist/locators/PileLocator.js +9 -5
- package/dist/locators/PileLocator.js.map +1 -1
- package/dist/utilities/DeepPartial.d.ts +3 -0
- package/dist/utilities/DeepPartial.js +3 -0
- package/dist/utilities/DeepPartial.js.map +1 -0
- package/dist/utilities/index.d.ts +1 -0
- package/dist/utilities/index.js +1 -0
- package/dist/utilities/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import { LocationRulesProps, MaterialContext } from '../../../locators';
|
|
2
|
+
import { ItemContext, LocationRulesProps, MaterialContext } from '../../../locators';
|
|
3
3
|
import { ComponentSize } from '../MaterialDescription';
|
|
4
4
|
import { Coordinates, Location, MaterialMove } from '@gamepark/rules-api';
|
|
5
5
|
import { Interpolation, Theme } from '@emotion/react';
|
|
@@ -16,6 +16,8 @@ export declare abstract class LocationDescription<P extends number = number, M e
|
|
|
16
16
|
image?: string;
|
|
17
17
|
images?: Record<Id extends keyof any ? Id : never, string>;
|
|
18
18
|
getImage(location: Location<P, L>, _context: MaterialContext<P, M, L>): string | undefined;
|
|
19
|
+
rulesImage?: string;
|
|
20
|
+
getRulesImage(location: Location<P, L>, context: MaterialContext<P, M, L>): string | undefined;
|
|
19
21
|
borderRadius?: number;
|
|
20
22
|
getBorderRadius(_location: Location<P, L>, _context: MaterialContext<P, M, L>): number | undefined;
|
|
21
23
|
extraCss?: Interpolation<Theme>;
|
|
@@ -25,8 +27,8 @@ export declare abstract class LocationDescription<P extends number = number, M e
|
|
|
25
27
|
getRotation?(location: Location<P, L>, context: MaterialContext<P, M, L>): number;
|
|
26
28
|
alwaysVisible?: boolean;
|
|
27
29
|
isAlwaysVisible(location: Location<P, L>, context: MaterialContext<P, M, L>): boolean;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
canDropToDelete(move: MaterialMove<P, M, L>, location: Location<P, L>, context: MaterialContext<P, M, L>): boolean;
|
|
30
|
+
couldDrop(move: MaterialMove<P, M, L>, location: Location<P, L>, context: MaterialContext<P, M, L>): boolean;
|
|
31
|
+
canDrop(move: MaterialMove<P, M, L>, location: Location<P, L>, context: ItemContext<P, M, L>): boolean;
|
|
31
32
|
canLongClick(move: MaterialMove<P, M, L>, location: Location<P, L>, context: MaterialContext<P, M, L>): boolean;
|
|
33
|
+
protected isMoveToLocation(move: MaterialMove<P, M, L>, location: Location<P, L>, context: MaterialContext<P, M, L>): boolean;
|
|
32
34
|
}
|
|
@@ -28,6 +28,10 @@ var LocationDescription = /** @class */ (function () {
|
|
|
28
28
|
var _a, _b;
|
|
29
29
|
return (_b = (_a = this.images) === null || _a === void 0 ? void 0 : _a[location.id]) !== null && _b !== void 0 ? _b : this.image;
|
|
30
30
|
};
|
|
31
|
+
LocationDescription.prototype.getRulesImage = function (location, context) {
|
|
32
|
+
var _a;
|
|
33
|
+
return (_a = this.rulesImage) !== null && _a !== void 0 ? _a : this.getImage(location, context);
|
|
34
|
+
};
|
|
31
35
|
LocationDescription.prototype.getBorderRadius = function (_location, _context) {
|
|
32
36
|
return this.borderRadius;
|
|
33
37
|
};
|
|
@@ -42,17 +46,18 @@ var LocationDescription = /** @class */ (function () {
|
|
|
42
46
|
return this.alwaysVisible;
|
|
43
47
|
return context.locators[location.type].parentItemType !== undefined;
|
|
44
48
|
};
|
|
45
|
-
LocationDescription.prototype.
|
|
46
|
-
return this.
|
|
47
|
-
};
|
|
48
|
-
LocationDescription.prototype.canDropToMove = function (move, location, _context) {
|
|
49
|
-
return (0, rules_api_1.isMoveItem)(move) && move.position.location !== undefined && (0, utils_1.isLocationSubset)(move.position.location, location);
|
|
49
|
+
LocationDescription.prototype.couldDrop = function (move, location, context) {
|
|
50
|
+
return this.isMoveToLocation(move, location, context);
|
|
50
51
|
};
|
|
51
|
-
LocationDescription.prototype.
|
|
52
|
-
return
|
|
52
|
+
LocationDescription.prototype.canDrop = function (move, location, context) {
|
|
53
|
+
return this.isMoveToLocation(move, location, context);
|
|
53
54
|
};
|
|
54
55
|
LocationDescription.prototype.canLongClick = function (move, location, context) {
|
|
55
|
-
return this.
|
|
56
|
+
return this.isMoveToLocation(move, location, context);
|
|
57
|
+
};
|
|
58
|
+
LocationDescription.prototype.isMoveToLocation = function (move, location, context) {
|
|
59
|
+
return ((0, rules_api_1.isMoveItem)(move) && move.position.location !== undefined && (0, utils_1.isLocationSubset)(move.position.location, location))
|
|
60
|
+
|| ((0, rules_api_1.isDeleteItem)(move) && (0, fast_deep_equal_1.default)(location, context.material[move.itemType].getStockLocation(context.rules.material(move.itemType).getItem(move.itemIndex), context)));
|
|
56
61
|
};
|
|
57
62
|
return LocationDescription;
|
|
58
63
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationDescription.js","sourceRoot":"","sources":["../../../../src/components/material/locations/LocationDescription.ts"],"names":[],"mappings":";;;;;;AAGA,iDAAmG;AAEnG,kCAA2C;AAC3C,oEAAmC;AAEnC;IAAA;QAKE,iBAAY,GAAG,KAAK,CAAA;QAGpB,cAAS,GAAqB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"LocationDescription.js","sourceRoot":"","sources":["../../../../src/components/material/locations/LocationDescription.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,11 @@ export type SimpleDropAreaProps<P extends number = number, L extends number = nu
|
|
|
5
5
|
location: Location<P, L>;
|
|
6
6
|
onShortClick?: () => void;
|
|
7
7
|
onLongClick?: () => void;
|
|
8
|
+
alwaysVisible?: boolean;
|
|
8
9
|
} & HTMLAttributes<HTMLDivElement>;
|
|
9
10
|
export declare const SimpleDropArea: import("react").ForwardRefExoticComponent<{
|
|
10
11
|
location: Location<number, number, any>;
|
|
11
12
|
onShortClick?: () => void;
|
|
12
13
|
onLongClick?: () => void;
|
|
14
|
+
alwaysVisible?: boolean;
|
|
13
15
|
} & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -41,7 +41,7 @@ var utilities_1 = require("../../../utilities");
|
|
|
41
41
|
var react_merge_refs_1 = require("react-merge-refs");
|
|
42
42
|
exports.SimpleDropArea = (0, react_1.forwardRef)(function (_a, ref) {
|
|
43
43
|
var _b;
|
|
44
|
-
var location = _a.location, onShortClick = _a.onShortClick, onLongClick = _a.onLongClick, props = __rest(_a, ["location", "onShortClick", "onLongClick"]);
|
|
44
|
+
var location = _a.location, onShortClick = _a.onShortClick, onLongClick = _a.onLongClick, alwaysVisible = _a.alwaysVisible, props = __rest(_a, ["location", "onShortClick", "onLongClick", "alwaysVisible"]);
|
|
45
45
|
var context = (0, hooks_1.useMaterialContext)();
|
|
46
46
|
var material = context.material;
|
|
47
47
|
var locator = context.locators[location.type];
|
|
@@ -50,35 +50,38 @@ exports.SimpleDropArea = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
50
50
|
var play = (0, hooks_1.usePlay)();
|
|
51
51
|
var player = (0, hooks_1.usePlayerId)();
|
|
52
52
|
var legalMoves = (0, hooks_1.useLegalMoves)();
|
|
53
|
-
var
|
|
53
|
+
var disabled = (0, react_1.useMemo)(function () { return !legalMoves.some(function (move) { return description === null || description === void 0 ? void 0 : description.couldDrop(move, location, context); }); }, [legalMoves, location, context]);
|
|
54
54
|
var longClickMoves = (0, react_1.useMemo)(function () { return legalMoves.filter(function (move) { return description === null || description === void 0 ? void 0 : description.canLongClick(move, location, context); }); }, [legalMoves, location, context]);
|
|
55
55
|
if (!onLongClick && longClickMoves.length === 1) {
|
|
56
56
|
onLongClick = function () { return play(longClickMoves[0], { delayed: rules === null || rules === void 0 ? void 0 : rules.isUnpredictableMove(longClickMoves[0], player) }); };
|
|
57
57
|
}
|
|
58
58
|
if (!onShortClick && ((_b = locator === null || locator === void 0 ? void 0 : locator.locationDescription) === null || _b === void 0 ? void 0 : _b.rules)) {
|
|
59
59
|
onShortClick = function () { return play((0, rules_api_1.displayLocationRules)(location), { local: true }); };
|
|
60
|
-
if (!onLongClick) {
|
|
61
|
-
onLongClick = function () { return play((0, rules_api_1.displayLocationRules)(location), { local: true }); };
|
|
62
|
-
}
|
|
63
60
|
}
|
|
64
61
|
var _c = (0, core_1.useDroppable)({
|
|
65
62
|
id: JSON.stringify(location),
|
|
66
|
-
disabled:
|
|
63
|
+
disabled: disabled,
|
|
67
64
|
data: location
|
|
68
65
|
}), isOver = _c.isOver, active = _c.active, setNodeRef = _c.setNodeRef;
|
|
69
66
|
var draggedItem = (0, DraggableMaterial_1.dataIsDisplayedItem)(active === null || active === void 0 ? void 0 : active.data.current) ? active === null || active === void 0 ? void 0 : active.data.current : undefined;
|
|
70
|
-
var
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
var draggedItemContext = (0, react_1.useMemo)(function () { return draggedItem ? __assign(__assign({}, context), draggedItem) : undefined; }, [draggedItem, context]);
|
|
68
|
+
var canDrop = (0, react_1.useMemo)(function () { return !!draggedItemContext && !!description && !!material && legalMoves.filter(function (move) {
|
|
69
|
+
return material[draggedItemContext.type].canDrag(move, draggedItemContext) && description.canDrop(move, location, draggedItemContext);
|
|
70
|
+
}).length === 1; }, [draggedItemContext, legalMoves, rules]);
|
|
73
71
|
var animations = (0, hooks_1.useAnimations)(function (animation) { return animation.action.playerId === player; });
|
|
74
72
|
var _d = (0, react_1.useState)(false), clicking = _d[0], setClicking = _d[1];
|
|
75
|
-
var listeners = (0, use_long_press_1.useLongPress)(function () {
|
|
73
|
+
var listeners = (0, use_long_press_1.useLongPress)(function () {
|
|
74
|
+
if (onLongClick)
|
|
75
|
+
onLongClick();
|
|
76
|
+
else if (onShortClick)
|
|
77
|
+
onShortClick();
|
|
78
|
+
}, {
|
|
76
79
|
detect: use_long_press_1.LongPressEventType.Pointer,
|
|
77
80
|
cancelOnMovement: 5,
|
|
78
81
|
threshold: 600,
|
|
79
82
|
onStart: function (event) {
|
|
80
|
-
setClicking(true);
|
|
81
83
|
if (onShortClick || onLongClick) {
|
|
84
|
+
setClicking(true);
|
|
82
85
|
event.stopPropagation();
|
|
83
86
|
}
|
|
84
87
|
},
|
|
@@ -96,20 +99,20 @@ exports.SimpleDropArea = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
96
99
|
console.warn('You must provide a LocationDescription to create drop locations with an ItemLocator');
|
|
97
100
|
return null;
|
|
98
101
|
}
|
|
99
|
-
if (!description.isAlwaysVisible(location, context) && !canDrop)
|
|
102
|
+
if (!alwaysVisible && !description.isAlwaysVisible(location, context) && !canDrop)
|
|
100
103
|
return null;
|
|
101
104
|
var _e = description.getSize(location, context), width = _e.width, height = _e.height;
|
|
102
105
|
var image = description.getImage(location, context);
|
|
103
106
|
var borderRadius = description.getBorderRadius(location, context);
|
|
104
107
|
var coordinates = description.getCoordinates(location, context);
|
|
105
108
|
return (0, jsx_runtime_1.jsx)("div", __assign({ ref: (0, react_merge_refs_1.mergeRefs)([ref, setNodeRef]), css: [
|
|
106
|
-
absolute,
|
|
109
|
+
absolute, (onShortClick || onLongClick) && css_1.pointerCursorCss,
|
|
107
110
|
locator.parentItemType !== undefined && positionOnParentCss(locator.getPositionOnParent(location, context)),
|
|
108
111
|
(0, css_1.transformCss)('translate(-50%, -50%)', coordinates && "translate3d(".concat(coordinates.x, "em, ").concat(coordinates.y, "em, ").concat(coordinates.z, "em)"), description.getRotation && "rotate(".concat(description.getRotation(location, context)).concat(description.rotationUnit, ")")),
|
|
109
112
|
(0, css_1.sizeCss)(width, height), image && (0, css_1.backgroundCss)(image), borderRadius && (0, css_1.borderRadiusCss)(borderRadius),
|
|
110
113
|
description.getExtraCss(location, context),
|
|
111
114
|
!draggedItem && (onShortClick || onLongClick) && hoverHighlight, clicking && clickingAnimation,
|
|
112
|
-
((canDrop && !isOver) || (!draggedItem &&
|
|
115
|
+
((canDrop && !isOver) || (!draggedItem && longClickMoves.length && !animations.length)) && css_1.shineEffect,
|
|
113
116
|
canDrop && isOver && dropHighlight
|
|
114
117
|
] }, props, (0, utilities_1.combineEventListeners)(listeners, props)));
|
|
115
118
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleDropArea.js","sourceRoot":"","sources":["../../../../src/components/material/locations/SimpleDropArea.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,+BAAiF;AACjF,iDAAgH;AAChH,wCAA+C;AAC/C,iDAA0F;AAC1F,wCAAiH;AACjH,
|
|
1
|
+
{"version":3,"file":"SimpleDropArea.js","sourceRoot":"","sources":["../../../../src/components/material/locations/SimpleDropArea.tsx"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,6 @@ var react_1 = require("@emotion/react");
|
|
|
36
36
|
var free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
|
|
37
37
|
var react_fontawesome_1 = require("@fortawesome/react-fontawesome");
|
|
38
38
|
var react_client_1 = require("@gamepark/react-client");
|
|
39
|
-
var rules_api_1 = require("@gamepark/rules-api");
|
|
40
39
|
var dayjs_1 = __importDefault(require("dayjs"));
|
|
41
40
|
var react_2 = require("react");
|
|
42
41
|
var react_i18next_1 = require("react-i18next");
|
|
@@ -46,18 +45,16 @@ var menuCss_1 = require("../menuCss");
|
|
|
46
45
|
var hooks_1 = require("../../../hooks");
|
|
47
46
|
var duration_1 = __importDefault(require("dayjs/plugin/duration"));
|
|
48
47
|
var relativeTime_1 = __importDefault(require("dayjs/plugin/relativeTime"));
|
|
49
|
-
var GameProvider_1 = require("../../GameProvider");
|
|
50
48
|
dayjs_1.default.extend(duration_1.default);
|
|
51
49
|
dayjs_1.default.extend(relativeTime_1.default);
|
|
52
50
|
var EjectPlayerDialog = function (_a) {
|
|
53
|
-
var _b;
|
|
54
51
|
var close = _a.close, props = __rest(_a, ["close"]);
|
|
55
52
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
56
53
|
var maxExceedTime = (0, react_redux_1.useSelector)(function (state) { var _a, _b; return (_b = (_a = state.options) === null || _a === void 0 ? void 0 : _a.maxExceedTime) !== null && _b !== void 0 ? _b : 60000; });
|
|
57
54
|
var opponentWithNegativeTime = (0, hooks_1.useOpponentWithMaxTime)(0);
|
|
58
55
|
var opponentThatCanBeEjected = (0, hooks_1.useOpponentWithMaxTime)();
|
|
59
56
|
var dispatch = (0, react_redux_1.useDispatch)();
|
|
60
|
-
var
|
|
57
|
+
var opponentName = (0, hooks_1.usePlayerName)(opponentWithNegativeTime);
|
|
61
58
|
(0, react_2.useEffect)(function () {
|
|
62
59
|
if (!opponentWithNegativeTime) {
|
|
63
60
|
close();
|
|
@@ -65,7 +62,6 @@ var EjectPlayerDialog = function (_a) {
|
|
|
65
62
|
}, [opponentWithNegativeTime]);
|
|
66
63
|
if (!opponentWithNegativeTime)
|
|
67
64
|
return null;
|
|
68
|
-
var opponentName = opponentWithNegativeTime.name || (0, rules_api_1.getFallbackPlayerName)(opponentWithNegativeTime.id, t, optionsSpec);
|
|
69
65
|
return ((0, jsx_runtime_1.jsxs)(dialogs_1.Dialog, __assign({ onBackdropClick: close, css: menuCss_1.menuDialogCss }, props, { children: [(0, jsx_runtime_1.jsx)("h2", { children: t('eject.dialog.p1', { player: opponentName }) }), !opponentThatCanBeEjected ?
|
|
70
66
|
(0, jsx_runtime_1.jsx)("p", { children: t('eject.dialog.p2', { duration: dayjs_1.default.duration(maxExceedTime).humanize() }) }) :
|
|
71
67
|
(0, jsx_runtime_1.jsx)("p", { children: t('eject.dialog.p3') }), (0, jsx_runtime_1.jsxs)("div", __assign({ css: buttonLineCss }, { children: [(0, jsx_runtime_1.jsx)("button", __assign({ css: [menuCss_1.menuButtonCss, inDialogButton], onClick: close }, { children: t('Close') })), opponentThatCanBeEjected &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EjectPlayerDialog.js","sourceRoot":"","sources":["../../../../src/components/menus/EjectPlayer/EjectPlayerDialog.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAAoC;AACpC,0EAA+D;AAC/D,oEAAgE;AAChE,uDAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"EjectPlayerDialog.js","sourceRoot":"","sources":["../../../../src/components/menus/EjectPlayer/EjectPlayerDialog.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAAoC;AACpC,0EAA+D;AAC/D,oEAAgE;AAChE,uDAAyE;AACzE,gDAAyB;AACzB,+BAAiC;AACjC,+CAA8C;AAC9C,2CAAsD;AACtD,yCAAmD;AACnD,sCAAyD;AACzD,wCAAsE;AACtE,mEAA4C;AAC5C,2EAAoD;AAEpD,eAAK,CAAC,MAAM,CAAC,kBAAQ,CAAC,CAAA;AACtB,eAAK,CAAC,MAAM,CAAC,sBAAY,CAAC,CAAA;AAEnB,IAAM,iBAAiB,GAAG,UAAC,EAAwD;IAAtD,IAAA,KAAK,WAAA,EAAK,KAAK,cAAjB,SAAmB,CAAF;IACzC,IAAA,CAAC,GAAK,IAAA,8BAAc,GAAE,EAArB,CAAqB;IAC9B,IAAM,aAAa,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,gBAAK,OAAA,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,aAAa,mCAAI,KAAK,CAAA,EAAA,CAAC,CAAA;IAClG,IAAM,wBAAwB,GAAG,IAAA,8BAAsB,EAAC,CAAC,CAAC,CAAA;IAC1D,IAAM,wBAAwB,GAAG,IAAA,8BAAsB,GAAE,CAAA;IACzD,IAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAA;IAC9B,IAAM,YAAY,GAAG,IAAA,qBAAa,EAAC,wBAAwB,CAAC,CAAA;IAC5D,IAAA,iBAAS,EAAC;QACR,IAAI,CAAC,wBAAwB,EAAE;YAC7B,KAAK,EAAE,CAAA;SACR;IACH,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAC9B,IAAI,CAAC,wBAAwB;QAAE,OAAO,IAAI,CAAA;IAC1C,OAAO,CACL,wBAAC,gBAAM,aAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,uBAAa,IAAM,KAAK,eAC3D,yCAAK,CAAC,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAM,EACxD,CAAC,wBAAwB,CAAC,CAAC;gBAC1B,wCAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,eAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAK,CAAC,CAAC;gBACvF,wCAAI,CAAC,CAAC,iBAAiB,CAAC,GAAK,EAE/B,0CAAK,GAAG,EAAE,aAAa,iBACrB,4CAAQ,GAAG,EAAE,CAAC,uBAAa,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,gBAAG,CAAC,CAAC,OAAO,CAAC,IAAU,EAClF,wBAAwB;wBACvB,6CAAQ,GAAG,EAAE,CAAC,uBAAa,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,cAAM,OAAA,QAAQ,CAAC,IAAA,gCAAiB,EAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,EAAxD,CAAwD,iBAC9H,uBAAC,mCAAe,IAAC,IAAI,EAAE,kCAAW,GAAG,EACpC,CAAC,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,KACvC,KAEP,KACC,CACV,CAAA;AACH,CAAC,CAAA;AA/BY,QAAA,iBAAiB,qBA+B7B;AAED,IAAM,SAAS,OAAG,WAAG,yNAAA,qJAWpB,IAAA,CAAA;AAED,IAAM,aAAa,OAAG,WAAG,iJAAA,6EAIxB,IAAA,CAAA;AAED,IAAM,cAAc,OAAG,WAAG,sFAAA,kBAEzB,IAAA,CAAA"}
|
|
@@ -40,8 +40,6 @@ var RestartTutorialButton_1 = require("../RestartTutorialButton");
|
|
|
40
40
|
var SoundButton_1 = require("../SoundButton");
|
|
41
41
|
var UndoButton_1 = require("../UndoButton");
|
|
42
42
|
var Chat_1 = require("../../Chat");
|
|
43
|
-
var hooks_1 = require("../../../hooks");
|
|
44
|
-
var ContrastThemeButton_1 = require("../ContrastThemeButton");
|
|
45
43
|
var menuCss_1 = require("../menuCss");
|
|
46
44
|
var NavButton_1 = require("./NavButton");
|
|
47
45
|
var LogoIcon_1 = require("./LogoIcon");
|
|
@@ -83,13 +81,11 @@ var Menu = function () {
|
|
|
83
81
|
if (resultDialogOpen)
|
|
84
82
|
setResultDialogAutoOpen(false);
|
|
85
83
|
}, [resultDialogOpen]);
|
|
86
|
-
|
|
87
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { css: [exports.backdrop, isOpen && exports.displayBackdrop], onClick: function () { return setOpen(false); } }), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerPopButton, { onClick: function () { return setEjectPlayerDialogOpen(true); } }), couldUndo && (0, jsx_runtime_1.jsx)(UndoButton_1.UndoPopButton, {}), gameOver && (0, jsx_runtime_1.jsx)(Result_1.ResultPopButton, { onClick: function () { return setResultDialogOpen(true); } }), fscreen_1.default.fullscreenEnabled && (0, jsx_runtime_1.jsx)(Fullscreen_1.FullscreenPopButton, {}), (0, jsx_runtime_1.jsxs)("div", __assign({ css: [menuCss_1.menuFontSize, menuCss_1.menuBaseCss, menuCss, !isOpen && hide] }, { children: [(0, jsx_runtime_1.jsx)("h2", __assign({ css: titleCss }, { children: t('Menu') })), fscreen_1.default.fullscreenEnabled && (0, jsx_runtime_1.jsx)(Fullscreen_1.FullscreenButton, {}), (0, jsx_runtime_1.jsx)(SoundButton_1.SoundButton, {}), (0, hooks_1.isContrastTheme)(theme) && (0, jsx_runtime_1.jsx)(ContrastThemeButton_1.ContrastThemeButton, { theme: theme }), couldUndo && (0, jsx_runtime_1.jsx)(UndoButton_1.UndoButton, {}), canGiveUp && (0, jsx_runtime_1.jsx)(GiveUpButton_1.GiveUpButton, {}), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerButton, { onClick: function () { return setEjectPlayerDialogOpen(true); } }), (options === null || options === void 0 ? void 0 : options.speed) === rules_api_1.GameSpeed.RealTime && (0, jsx_runtime_1.jsx)(TimeStatsButton_1.TimeStatsButton, {}), gameMode === react_client_1.GameMode.TUTORIAL && (0, jsx_runtime_1.jsx)(RestartTutorialButton_1.RestartTutorialButton, {}), (0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game) }, { children: [(0, jsx_runtime_1.jsx)(LogoIcon_1.LogoIcon, { css: buttonLogoIcon }), t('Back to Game Park')] })), gameOver && (0, jsx_runtime_1.jsx)(Result_1.ResultButton, { onClick: function () { return setResultDialogOpen(true); } }), canPlayAgain &&
|
|
84
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { css: [exports.backdrop, isOpen && exports.displayBackdrop], onClick: function () { return setOpen(false); } }), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerPopButton, { onClick: function () { return setEjectPlayerDialogOpen(true); } }), couldUndo && (0, jsx_runtime_1.jsx)(UndoButton_1.UndoPopButton, {}), gameOver && (0, jsx_runtime_1.jsx)(Result_1.ResultPopButton, { onClick: function () { return setResultDialogOpen(true); } }), fscreen_1.default.fullscreenEnabled && (0, jsx_runtime_1.jsx)(Fullscreen_1.FullscreenPopButton, {}), (0, jsx_runtime_1.jsxs)("div", __assign({ css: [menuCss_1.menuFontSize, menuCss_1.menuBaseCss, menuCss, !isOpen && hide] }, { children: [(0, jsx_runtime_1.jsx)("h2", __assign({ css: titleCss }, { children: t('Menu') })), fscreen_1.default.fullscreenEnabled && (0, jsx_runtime_1.jsx)(Fullscreen_1.FullscreenButton, {}), (0, jsx_runtime_1.jsx)(SoundButton_1.SoundButton, {}), couldUndo && (0, jsx_runtime_1.jsx)(UndoButton_1.UndoButton, {}), canGiveUp && (0, jsx_runtime_1.jsx)(GiveUpButton_1.GiveUpButton, {}), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerButton, { onClick: function () { return setEjectPlayerDialogOpen(true); } }), (options === null || options === void 0 ? void 0 : options.speed) === rules_api_1.GameSpeed.RealTime && (0, jsx_runtime_1.jsx)(TimeStatsButton_1.TimeStatsButton, {}), gameMode === react_client_1.GameMode.TUTORIAL && (0, jsx_runtime_1.jsx)(RestartTutorialButton_1.RestartTutorialButton, {}), (0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game) }, { children: [(0, jsx_runtime_1.jsx)(LogoIcon_1.LogoIcon, { css: buttonLogoIcon }), t('Back to Game Park')] })), gameOver && (0, jsx_runtime_1.jsx)(Result_1.ResultButton, { onClick: function () { return setResultDialogOpen(true); } }), canPlayAgain &&
|
|
88
85
|
(0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game, "/play") }, { children: [(0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faChessPawn }), t('Play again')] })), goToRanking &&
|
|
89
86
|
(0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game, "/ranking") }, { children: [(0, jsx_runtime_1.jsx)(GamePoints_1.GamePointIcon, { css: gamePointIconStyle }), t('See overall ranking')] }))] })), (0, jsx_runtime_1.jsx)("button", __assign({ "aria-label": t('Menu'), title: t('Menu'), css: mainButtonCss, onClick: function () { return setOpen(!isOpen); } }, { children: isOpen ? (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faTimes, css: iconStyle }) : (0, jsx_runtime_1.jsx)(LogoIcon_1.LogoIcon, { fill: "white" }) })), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerDialog, { open: ejectPlayerDialogOpen, close: function () { return setEjectPlayerDialogOpen(false); } }), gameOver && (0, jsx_runtime_1.jsx)(dialogs_1.ResultDialog, { open: resultDialogOpen, openDialog: function () { return setResultDialogOpen(true); }, close: function () { return setResultDialogOpen(false); } }), chatEnable && gameId && (0, jsx_runtime_1.jsx)(Chat_1.Chat, { gameId: gameId })] }));
|
|
90
87
|
};
|
|
91
88
|
exports.Menu = Menu;
|
|
92
|
-
(0, menuCss_1.addStylesheetUrl)('https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');
|
|
93
89
|
var mainButtonCss = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", ";\n z-index: 1000;\n background: #28B8CE;\n height: 2.5em;\n width: 2.5em;\n\n &:focus, &:hover {\n background: #24a5b9;\n }\n\n &:active {\n background: #2092a3;\n }\n\n svg {\n position: relative;\n width: 70%;\n height: 60%;\n }\n"], ["\n ", ";\n z-index: 1000;\n background: #28B8CE;\n height: 2.5em;\n width: 2.5em;\n\n &:focus, &:hover {\n background: #24a5b9;\n }\n\n &:active {\n background: #2092a3;\n }\n\n svg {\n position: relative;\n width: 70%;\n height: 60%;\n }\n"])), menuCss_1.menuFloatingButtonCss);
|
|
94
90
|
exports.backdrop = (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: fixed;\n width: 100vw;\n height: 100vw;\n background: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: opacity 0.5s;\n pointer-events: none;\n z-index: 950;\n"], ["\n position: fixed;\n width: 100vw;\n height: 100vw;\n background: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: opacity 0.5s;\n pointer-events: none;\n z-index: 950;\n"])));
|
|
95
91
|
exports.displayBackdrop = (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n opacity: 1;\n pointer-events: auto;\n"], ["\n opacity: 1;\n pointer-events: auto;\n"])));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/components/menus/Menu/Menu.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/components/menus/Menu/Menu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,8 +25,6 @@ var react_1 = require("@emotion/react");
|
|
|
25
25
|
var free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
|
|
26
26
|
var faXmark_1 = require("@fortawesome/free-solid-svg-icons/faXmark");
|
|
27
27
|
var react_fontawesome_1 = require("@fortawesome/react-fontawesome");
|
|
28
|
-
var GameProvider_1 = require("../../GameProvider");
|
|
29
|
-
var rules_api_1 = require("@gamepark/rules-api");
|
|
30
28
|
var react_2 = require("react");
|
|
31
29
|
var react_i18next_1 = require("react-i18next");
|
|
32
30
|
var dialogs_1 = require("../../dialogs");
|
|
@@ -41,14 +39,18 @@ dayjs_1.default.extend(utc_1.default);
|
|
|
41
39
|
var TimeStatsButton = function () {
|
|
42
40
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
43
41
|
var _a = (0, react_2.useState)(false), displayPopup = _a[0], setDisplayPopup = _a[1];
|
|
44
|
-
var context = (0, react_2.useContext)(GameProvider_1.gameContext);
|
|
45
42
|
var players = (0, hooks_1.usePlayers)();
|
|
46
43
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("button", __assign({ css: menuCss_1.menuButtonCss, onClick: function () { return setDisplayPopup(true); } }, { children: [(0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faClock }), t('time.button')] })), (0, jsx_runtime_1.jsxs)(dialogs_1.Dialog, __assign({ open: displayPopup, css: menuCss_1.menuDialogCss, onBackdropClick: function () { return setDisplayPopup(false); } }, { children: [(0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: faXmark_1.faXmark, css: closeIcon, onClick: function () { return setDisplayPopup(false); } }), (0, jsx_runtime_1.jsx)("h2", { children: t('time.title') }), (0, jsx_runtime_1.jsxs)("div", __assign({ css: gridCss(players.length) }, { children: [(0, jsx_runtime_1.jsx)("div", {}), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderTop, orangeBackground] }, { children: t('time.think.total') })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderTop, blueBackground] }, { children: t('time.wait.total') })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderTop, orangeBackground] }, { children: t('time.think.max') })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderTop, blueBackground] }, { children: t('time.wait.max') })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderTop, orangeBackground] }, { children: t('time.awaited') })), players.map(function (player, index) {
|
|
47
|
-
var _a, _b, _c, _d, _e
|
|
48
|
-
return (0, jsx_runtime_1.jsxs)(react_2.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ css: [relative, borderLeft] }, { children: [(0, jsx_runtime_1.jsx)(Avatar_1.Avatar, { playerId: player.id, css: avatarCss }), (0, jsx_runtime_1.jsx)("span", { children: (
|
|
44
|
+
var _a, _b, _c, _d, _e;
|
|
45
|
+
return (0, jsx_runtime_1.jsxs)(react_2.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ css: [relative, borderLeft] }, { children: [(0, jsx_runtime_1.jsx)(Avatar_1.Avatar, { playerId: player.id, css: avatarCss }), (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(PlayerName, { playerId: player.id }) })] }), index), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderLeft, borderTop, orangeBackground] }, { children: humanize((_a = player.time) === null || _a === void 0 ? void 0 : _a.cumulatedPlayTime) })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderLeft, borderTop, blueBackground] }, { children: humanize((_b = player.time) === null || _b === void 0 ? void 0 : _b.cumulatedDownTime) })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderLeft, borderTop, orangeBackground] }, { children: humanize((_c = player.time) === null || _c === void 0 ? void 0 : _c.highestPlayTime) })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderLeft, borderTop, blueBackground] }, { children: humanize((_d = player.time) === null || _d === void 0 ? void 0 : _d.highestDownTime) })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderLeft, borderTop, orangeBackground] }, { children: humanize((_e = player.time) === null || _e === void 0 ? void 0 : _e.weightedWaitForMeTime) }))] }, index);
|
|
49
46
|
})] }))] }))] }));
|
|
50
47
|
};
|
|
51
48
|
exports.TimeStatsButton = TimeStatsButton;
|
|
49
|
+
var PlayerName = function (_a) {
|
|
50
|
+
var playerId = _a.playerId;
|
|
51
|
+
var name = (0, hooks_1.usePlayerName)(playerId);
|
|
52
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: name });
|
|
53
|
+
};
|
|
52
54
|
var closeIcon = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: absolute;\n right: 0.8em;\n top: 0.6em;\n font-size: 1.3em;\n cursor: pointer;\n"], ["\n position: absolute;\n right: 0.8em;\n top: 0.6em;\n font-size: 1.3em;\n cursor: pointer;\n"])));
|
|
53
55
|
var gridCss = function (players) { return (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: grid;\n grid-auto-flow: column;\n grid-template-columns: auto repeat(", ", 1fr);\n grid-template-rows: repeat(6, auto);\n\n > div {\n padding: 1em;\n }\n"], ["\n display: grid;\n grid-auto-flow: column;\n grid-template-columns: auto repeat(", ", 1fr);\n grid-template-rows: repeat(6, auto);\n\n > div {\n padding: 1em;\n }\n"])), players); };
|
|
54
56
|
var avatarCss = (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: relative;\n width: 3em;\n height: 3em;\n margin-bottom: 0.5em;\n"], ["\n position: relative;\n width: 3em;\n height: 3em;\n margin-bottom: 0.5em;\n"])));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeStatsButton.js","sourceRoot":"","sources":["../../../../src/components/menus/TimeStatsButton/TimeStatsButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAAoC;AACpC,0EAA2D;AAC3D,qEAAmE;AACnE,oEAAgE;AAChE
|
|
1
|
+
{"version":3,"file":"TimeStatsButton.js","sourceRoot":"","sources":["../../../../src/components/menus/TimeStatsButton/TimeStatsButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAAoC;AACpC,0EAA2D;AAC3D,qEAAmE;AACnE,oEAAgE;AAChE,+BAA0C;AAC1C,+CAA8C;AAC9C,yCAAsC;AACtC,uCAAqC;AACrC,wCAA0D;AAC1D,sCAAyD;AACzD,gDAAyB;AACzB,mEAA4C;AAC5C,yDAAkC;AAElC,eAAK,CAAC,MAAM,CAAC,kBAAQ,CAAC,CAAA;AACtB,eAAK,CAAC,MAAM,CAAC,aAAG,CAAC,CAAA;AAEV,IAAM,eAAe,GAAG;IACrB,IAAA,CAAC,GAAK,IAAA,8BAAc,GAAE,EAArB,CAAqB;IACxB,IAAA,KAAkC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAhD,YAAY,QAAA,EAAE,eAAe,QAAmB,CAAA;IACvD,IAAM,OAAO,GAAG,IAAA,kBAAU,GAAE,CAAA;IAE5B,OAAO,CACL,6DACE,6CAAQ,GAAG,EAAE,uBAAa,EAAE,OAAO,EAAE,cAAM,OAAA,eAAe,CAAC,IAAI,CAAC,EAArB,CAAqB,iBAC9D,uBAAC,mCAAe,IAAC,IAAI,EAAE,8BAAO,GAAG,EAChC,CAAC,CAAC,aAAa,CAAC,KACV,EACT,wBAAC,gBAAM,aAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,uBAAa,EAAE,eAAe,EAAE,cAAM,OAAA,eAAe,CAAC,KAAK,CAAC,EAAtB,CAAsB,iBAC3F,uBAAC,mCAAe,IAAC,IAAI,EAAE,iBAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,cAAM,OAAA,eAAe,CAAC,KAAK,CAAC,EAAtB,CAAsB,GAAG,EACxF,yCAAK,CAAC,CAAC,YAAY,CAAC,GAAM,EAC1B,0CAAK,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,iBAC/B,iCAAM,EACN,yCAAK,GAAG,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,gBAAG,CAAC,CAAC,kBAAkB,CAAC,IAAO,EACtE,yCAAK,GAAG,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,gBAAG,CAAC,CAAC,iBAAiB,CAAC,IAAO,EACnE,yCAAK,GAAG,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,gBAAG,CAAC,CAAC,gBAAgB,CAAC,IAAO,EACpE,yCAAK,GAAG,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,gBAAG,CAAC,CAAC,eAAe,CAAC,IAAO,EACjE,yCAAK,GAAG,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,gBAAG,CAAC,CAAC,cAAc,CAAC,IAAO,EACjE,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK;;gCACzB,OAAA,wBAAC,gBAAQ,eACP,0CAAiB,GAAG,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,iBAC1C,uBAAC,eAAM,IAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,GAAG,EAC9C,2CAAM,uBAAC,UAAU,IAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,GAAG,GAAO,MAFvC,KAAK,CAGT,EACN,yCAAK,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,gBAChD,QAAQ,CAAC,MAAA,MAAM,CAAC,IAAI,0CAAE,iBAAiB,CAAC,IACrC,EACN,yCAAK,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,gBAC9C,QAAQ,CAAC,MAAA,MAAM,CAAC,IAAI,0CAAE,iBAAiB,CAAC,IACrC,EACN,yCAAK,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,gBAChD,QAAQ,CAAC,MAAA,MAAM,CAAC,IAAI,0CAAE,eAAe,CAAC,IACnC,EACN,yCAAK,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,gBAC9C,QAAQ,CAAC,MAAA,MAAM,CAAC,IAAI,0CAAE,eAAe,CAAC,IACnC,EACN,yCAAK,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,gBAChD,QAAQ,CAAC,MAAA,MAAM,CAAC,IAAI,0CAAE,qBAAqB,CAAC,IACzC,KAnBO,KAAK,CAoBT,CAAA;6BAAA,CACZ,KACG,KACC,IACR,CACJ,CAAA;AACH,CAAC,CAAA;AAhDY,QAAA,eAAe,mBAgD3B;AAED,IAAM,UAAU,GAAG,UAAC,EAA+B;QAA7B,QAAQ,cAAA;IAC5B,IAAM,IAAI,GAAG,IAAA,qBAAa,EAAC,QAAQ,CAAC,CAAA;IACpC,OAAO,2DAAG,IAAI,GAAI,CAAA;AACpB,CAAC,CAAA;AAED,IAAM,SAAS,OAAG,WAAG,wKAAA,oGAMpB,IAAA,CAAA;AAED,IAAM,OAAO,GAAG,UAAC,OAAe,IAAK,WAAA,WAAG,oPAAA,sFAGD,EAAO,wFAM7C,KANsC,OAAO,GAHT,CASpC,CAAA;AAED,IAAM,SAAS,OAAG,WAAG,uJAAA,mFAKpB,IAAA,CAAA;AAED,IAAM,QAAQ,OAAG,WAAG,+FAAA,2BAEnB,IAAA,CAAA;AAED,IAAM,UAAU,OAAG,WAAG,6GAAA,yCAErB,IAAA,CAAA;AAED,IAAM,SAAS,OAAG,WAAG,4GAAA,wCAEpB,IAAA,CAAA;AAED,IAAM,gBAAgB,OAAG,WAAG,sGAAA,kCAE3B,IAAA,CAAA;AAED,IAAM,cAAc,OAAG,WAAG,sGAAA,kCAEzB,IAAA,CAAA;AAED,IAAM,MAAM,GAAG,eAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AACvC,IAAM,OAAO,GAAG,eAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAEzC,IAAM,QAAQ,GAAG,UAAC,QAAiB;IACjC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,GAAG,CAAA;IACtC,IAAI,QAAQ,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE;QACvC,OAAO,eAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAA;KAC3C;SAAM,IAAI,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE;QAC/C,OAAO,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;KAC9C;SAAM;QACL,OAAO,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KAC3C;AACH,CAAC,CAAA"}
|
|
@@ -6,14 +6,13 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.displayBackdrop = exports.backdrop = exports.addStylesheetUrl = exports.hide = exports.menuBaseCss = exports.menuButtonCss = exports.menuFloatingButtonCss = exports.floatingButtonCss = exports.menuFontSize = exports.menuDialogCss = void 0;
|
|
8
8
|
var react_1 = require("@emotion/react");
|
|
9
|
-
var dialogs_1 = require("../dialogs");
|
|
10
9
|
var css_1 = require("../../css");
|
|
11
|
-
exports.menuDialogCss = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n
|
|
10
|
+
exports.menuDialogCss = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n font-size: 3.2em;\n\n h2 {\n margin: 0 0 0.5em;\n }\n\n p {\n margin: 0.5em 0;\n }\n"], ["\n font-size: 3.2em;\n\n h2 {\n margin: 0 0 0.5em;\n }\n\n p {\n margin: 0.5em 0;\n }\n"])));
|
|
12
11
|
exports.menuFontSize = (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n font-size: 4em;\n @media only screen and (min-width: 960px) {\n font-size: 3.2em;\n }\n"], ["\n font-size: 4em;\n @media only screen and (min-width: 960px) {\n font-size: 3.2em;\n }\n"])));
|
|
13
12
|
exports.floatingButtonCss = (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", ";\n ", ";\n position: fixed;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 0 0.2em black;\n z-index: 990;\n"], ["\n ", ";\n ", ";\n position: fixed;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 0 0.2em black;\n z-index: 990;\n"])), exports.menuFontSize, css_1.buttonResetCss);
|
|
14
13
|
exports.menuFloatingButtonCss = (0, react_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", ";\n top: 0;\n right: 0;\n border-bottom-left-radius: 25%;\n"], ["\n ", ";\n top: 0;\n right: 0;\n border-bottom-left-radius: 25%;\n"])), exports.floatingButtonCss);
|
|
15
14
|
exports.menuButtonCss = (0, react_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", ";\n display: block;\n font-size: 1.125em;\n padding: 0.2em 0.5em;\n border-radius: 2em;\n border: 0.05em solid #002448;\n margin-bottom: 0.5em;\n color: #002448;\n background: transparent;\n\n &:focus, &:hover {\n background: #c2ebf1;\n }\n\n &:active {\n background: #ade4ec;\n }\n\n &:disabled {\n color: #555555;\n border-color: #555555;\n background: transparent;\n cursor: auto;\n }\n\n > svg {\n margin-right: 0.5em;\n }\n"], ["\n ", ";\n display: block;\n font-size: 1.125em;\n padding: 0.2em 0.5em;\n border-radius: 2em;\n border: 0.05em solid #002448;\n margin-bottom: 0.5em;\n color: #002448;\n background: transparent;\n\n &:focus, &:hover {\n background: #c2ebf1;\n }\n\n &:active {\n background: #ade4ec;\n }\n\n &:disabled {\n color: #555555;\n border-color: #555555;\n background: transparent;\n cursor: auto;\n }\n\n > svg {\n margin-right: 0.5em;\n }\n"])), css_1.buttonResetCss);
|
|
16
|
-
exports.menuBaseCss = (0, react_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n max-height:
|
|
15
|
+
exports.menuBaseCss = (0, react_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n max-height: 100dvh;\n background: #F0FBFC;\n overflow: hidden;\n color: #002448;\n font-family: \"Mulish\", sans-serif;\n box-shadow: 0 0 1em black;\n transition: transform 0.5s;\n will-change: transform;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n z-index: 995;\n"], ["\n position: absolute;\n top: 0;\n max-height: 100dvh;\n background: #F0FBFC;\n overflow: hidden;\n color: #002448;\n font-family: \"Mulish\", sans-serif;\n box-shadow: 0 0 1em black;\n transition: transform 0.5s;\n will-change: transform;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n z-index: 995;\n"])));
|
|
17
16
|
exports.hide = (0, react_1.css)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n transform: scale(0);\n"], ["\n transform: scale(0);\n"])));
|
|
18
17
|
var addStylesheetUrl = function (url) {
|
|
19
18
|
var link = document.createElement('link');
|
|
@@ -22,7 +21,7 @@ var addStylesheetUrl = function (url) {
|
|
|
22
21
|
document.getElementsByTagName('head')[0].appendChild(link);
|
|
23
22
|
};
|
|
24
23
|
exports.addStylesheetUrl = addStylesheetUrl;
|
|
25
|
-
exports.backdrop = (0, react_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n position: fixed;\n width:
|
|
24
|
+
exports.backdrop = (0, react_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n position: fixed;\n width: 100dvw;\n height: 100dvw;\n background: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: opacity 0.5s;\n pointer-events: none;\n z-index: 950;\n"], ["\n position: fixed;\n width: 100dvw;\n height: 100dvw;\n background: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: opacity 0.5s;\n pointer-events: none;\n z-index: 950;\n"])));
|
|
26
25
|
exports.displayBackdrop = (0, react_1.css)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n opacity: 1;\n pointer-events: auto;\n"], ["\n opacity: 1;\n pointer-events: auto;\n"])));
|
|
27
26
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9;
|
|
28
27
|
//# sourceMappingURL=menuCss.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuCss.js","sourceRoot":"","sources":["../../../src/components/menus/menuCss.ts"],"names":[],"mappings":";;;;;;;AAAA,wCAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"menuCss.js","sourceRoot":"","sources":["../../../src/components/menus/menuCss.ts"],"names":[],"mappings":";;;;;;;AAAA,wCAAoC;AACpC,iCAA0C;AAE7B,QAAA,aAAa,OAAG,WAAG,wKAAA,oGAU/B,KAAA;AAEY,QAAA,YAAY,OAAG,WAAG,sKAAA,kGAK9B,KAAA;AAEY,QAAA,iBAAiB,OAAG,WAAG,oPAAA,MAChC,EAAY,OACZ,EAAc,+JAQjB,KATG,oBAAY,EACZ,oBAAc,EAQjB;AAEY,QAAA,qBAAqB,OAAG,WAAG,4IAAA,MACpC,EAAiB,gEAIpB,KAJG,yBAAiB,EAIpB;AAEY,QAAA,aAAa,OAAG,WAAG,+hBAAA,MAC5B,EAAc,mdA4BjB,KA5BG,oBAAc,EA4BjB;AAEY,QAAA,WAAW,OAAG,WAAG,yZAAA,qVAe7B,KAAA;AAEY,QAAA,IAAI,OAAG,WAAG,gGAAA,4BAEtB,KAAA;AAEM,IAAM,gBAAgB,GAAG,UAAC,GAAW;IAC1C,IAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,CAAC,GAAG,GAAG,YAAY,CAAA;IACvB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;IACf,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AAC5D,CAAC,CAAA;AALY,QAAA,gBAAgB,oBAK5B;AAEY,QAAA,QAAQ,OAAG,WAAG,0PAAA,sLAS1B,KAAA;AAEY,QAAA,eAAe,OAAG,WAAG,gHAAA,4CAGjC,KAAA"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import { TutorialDescription } from '@gamepark/react-client';
|
|
2
|
-
import { Location, LocationBuilder, Material, MaterialGame, MaterialGameSetup, MaterialItem, MaterialMove, XYCoordinates } from '@gamepark/rules-api';
|
|
1
|
+
import { Player, TutorialDescription } from '@gamepark/react-client';
|
|
2
|
+
import { Location, LocationBuilder, Material, MaterialGame, MaterialGameSetup, MaterialItem, MaterialMove, MaterialRules, XYCoordinates } from '@gamepark/rules-api';
|
|
3
3
|
import { TFunction } from 'i18next';
|
|
4
4
|
import { ReactNode } from 'react';
|
|
5
|
-
import { AvatarProps } from '@gamepark/avataaars';
|
|
6
5
|
export declare abstract class MaterialTutorial<P extends number = number, M extends number = number, L extends number = number> implements TutorialDescription<MaterialGame<P, M, L>, MaterialMove<P, M, L>> {
|
|
7
6
|
abstract options: any;
|
|
8
7
|
abstract setup: MaterialGameSetup<P, M, L>;
|
|
9
8
|
abstract steps: TutorialStep<P, M, L>[];
|
|
10
|
-
|
|
9
|
+
abstract players: Player<P>[];
|
|
11
10
|
material(game: MaterialGame<P, M, L>, type: M): Material<P, M, L>;
|
|
12
11
|
location(type: L): LocationBuilder<P, L>;
|
|
13
|
-
setupTutorial(): [MaterialGame<P, M, L>, P[]];
|
|
14
|
-
|
|
12
|
+
setupTutorial(): [MaterialGame<P, M, L>, Player<P>[]];
|
|
13
|
+
getNextMove(rules: MaterialRules<P, M, L>): MaterialMove<P, M, L>;
|
|
15
14
|
}
|
|
16
15
|
export declare enum TutorialStepType {
|
|
17
16
|
Popup = 1,
|
|
@@ -9,7 +9,6 @@ var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
|
9
9
|
var sumBy_1 = __importDefault(require("lodash/sumBy"));
|
|
10
10
|
var MaterialTutorial = /** @class */ (function () {
|
|
11
11
|
function MaterialTutorial() {
|
|
12
|
-
this.avatars = {};
|
|
13
12
|
}
|
|
14
13
|
MaterialTutorial.prototype.material = function (game, type) {
|
|
15
14
|
var _a;
|
|
@@ -21,10 +20,17 @@ var MaterialTutorial = /** @class */ (function () {
|
|
|
21
20
|
MaterialTutorial.prototype.setupTutorial = function () {
|
|
22
21
|
var game = this.setup.setup(this.options);
|
|
23
22
|
game.tutorialStep = 0;
|
|
24
|
-
return [game,
|
|
23
|
+
return [game, this.players];
|
|
25
24
|
};
|
|
26
|
-
MaterialTutorial.prototype.
|
|
27
|
-
|
|
25
|
+
MaterialTutorial.prototype.getNextMove = function (rules) {
|
|
26
|
+
if (rules.game.tutorialStep !== undefined && rules.game.tutorialStep < this.steps.length) {
|
|
27
|
+
var step = this.steps[rules.game.tutorialStep];
|
|
28
|
+
if (!step.move || step.move.player === undefined || step.move.player === rules.game.players[0])
|
|
29
|
+
return;
|
|
30
|
+
var moves = rules.getLegalMoves(step.move.player);
|
|
31
|
+
return moves[Math.floor(Math.random() * moves.length)];
|
|
32
|
+
}
|
|
33
|
+
return undefined;
|
|
28
34
|
};
|
|
29
35
|
return MaterialTutorial;
|
|
30
36
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialTutorial.js","sourceRoot":"","sources":["../../../src/components/tutorial/MaterialTutorial.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"MaterialTutorial.js","sourceRoot":"","sources":["../../../src/components/tutorial/MaterialTutorial.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,6 @@ var MaterialTutorialDisplay = function () {
|
|
|
54
54
|
var _a = (0, hooks_1.useUndo)(), undo = _a[0], canUndo = _a[1];
|
|
55
55
|
var canUndoLastMove = canUndo();
|
|
56
56
|
return ((0, jsx_runtime_1.jsx)(dialogs_1.Dialog, __assign({ open: popup !== undefined && !(game === null || game === void 0 ? void 0 : game.tutorialPopupClosed), css: [
|
|
57
|
-
dialogs_1.rulesDialogCss,
|
|
58
57
|
tutorialDialogCss,
|
|
59
58
|
(popup === null || popup === void 0 ? void 0 : popup.position) && (0, css_1.transformCss)("translate(".concat(popup.position.x, "em, ").concat(popup.position.y, "em)"))
|
|
60
59
|
], backdropCss: backdropCss }, { children: popup &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialTutorialDisplay.js","sourceRoot":"","sources":["../../../src/components/tutorial/MaterialTutorialDisplay.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"MaterialTutorialDisplay.js","sourceRoot":"","sources":["../../../src/components/tutorial/MaterialTutorialDisplay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,19 @@ exports.wrapRulesWithTutorial = void 0;
|
|
|
4
4
|
var rules_api_1 = require("@gamepark/rules-api");
|
|
5
5
|
function wrapRulesWithTutorial(tutorial, Rules) {
|
|
6
6
|
var getLegalMoves = Rules.prototype.getLegalMoves;
|
|
7
|
+
var isTurnToPlay = Rules.prototype.isTurnToPlay;
|
|
7
8
|
Rules.prototype.getTutorialStep = function () {
|
|
8
9
|
return this.game.tutorialStep !== undefined ? tutorial.steps[this.game.tutorialStep] : undefined;
|
|
9
10
|
};
|
|
11
|
+
Rules.prototype.isTurnToPlay = function (playerId) {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
var game = this.game;
|
|
14
|
+
if (game.tutorialStep === undefined || game.tutorialStep >= tutorial.steps.length) {
|
|
15
|
+
return isTurnToPlay.bind(this)(playerId);
|
|
16
|
+
}
|
|
17
|
+
var tutorialStep = tutorial.steps[game.tutorialStep];
|
|
18
|
+
return playerId === ((_b = (_a = tutorialStep.move) === null || _a === void 0 ? void 0 : _a.player) !== null && _b !== void 0 ? _b : this.game.players[0]);
|
|
19
|
+
};
|
|
10
20
|
Rules.prototype.getLegalMoves = function (playerId) {
|
|
11
21
|
var _a;
|
|
12
22
|
var game = this.game;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TutorialRulesWrapper.js","sourceRoot":"","sources":["../../../src/components/tutorial/TutorialRulesWrapper.ts"],"names":[],"mappings":";;;AAAA,iDAAwH;AAGxH,SAAgB,qBAAqB,CAAC,QAA0B,EAAE,KAAkC;IAElG,IAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"TutorialRulesWrapper.js","sourceRoot":"","sources":["../../../src/components/tutorial/TutorialRulesWrapper.ts"],"names":[],"mappings":"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"}
|