@gamepark/react-game 6.25.0 → 6.26.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/material/Dices/CubicDiceDescription.d.ts +1 -1
- package/dist/components/material/Dices/CubicDiceDescription.js +1 -1
- package/dist/components/material/Dices/CubicDiceDescription.js.map +1 -1
- package/dist/components/material/DraggableMaterial.js +1 -1
- package/dist/components/material/DraggableMaterial.js.map +1 -1
- package/dist/components/material/FlatMaterial/FlatMaterial.d.ts +1 -1
- package/dist/components/material/FlatMaterial/FlatMaterial.js +7 -4
- package/dist/components/material/FlatMaterial/FlatMaterial.js.map +1 -1
- package/dist/components/material/FlatMaterial/PolyhexDescription.d.ts +9 -0
- package/dist/components/material/FlatMaterial/PolyhexDescription.js +35 -0
- package/dist/components/material/FlatMaterial/PolyhexDescription.js.map +1 -0
- package/dist/components/material/FlatMaterial/index.d.ts +1 -0
- package/dist/components/material/FlatMaterial/index.js +1 -0
- package/dist/components/material/FlatMaterial/index.js.map +1 -1
- package/dist/components/material/GameTable/DropPreview.d.ts +2 -0
- package/dist/components/material/GameTable/DropPreview.js +60 -0
- package/dist/components/material/GameTable/DropPreview.js.map +1 -0
- package/dist/components/material/GameTable/GameMaterialDisplay.js +2 -1
- package/dist/components/material/GameTable/GameMaterialDisplay.js.map +1 -1
- package/dist/components/material/GameTable/GameTable.js +7 -15
- package/dist/components/material/GameTable/GameTable.js.map +1 -1
- package/dist/components/material/GameTable/ItemDisplay.d.ts +1 -0
- package/dist/components/material/MaterialComponent.d.ts +2 -0
- package/dist/components/material/MaterialComponent.js +2 -2
- package/dist/components/material/MaterialComponent.js.map +1 -1
- package/dist/components/material/MaterialDescription.d.ts +9 -1
- package/dist/components/material/MaterialDescription.js +31 -3
- package/dist/components/material/MaterialDescription.js.map +1 -1
- package/dist/components/material/MobileMaterialDescription.d.ts +1 -1
- package/dist/components/material/MobileMaterialDescription.js +4 -5
- package/dist/components/material/MobileMaterialDescription.js.map +1 -1
- package/dist/components/material/animations/CreateItemAnimations.d.ts +1 -1
- package/dist/components/material/animations/CreateItemAnimations.js +6 -6
- package/dist/components/material/animations/CreateItemAnimations.js.map +1 -1
- package/dist/components/material/animations/DeleteItemAnimations.js +3 -3
- package/dist/components/material/animations/DeleteItemAnimations.js.map +1 -1
- package/dist/components/material/animations/MoveItemAnimations.js +3 -3
- package/dist/components/material/animations/MoveItemAnimations.js.map +1 -1
- package/dist/components/material/animations/getFirstStockItemTransforms.util.js +3 -3
- package/dist/components/material/animations/getFirstStockItemTransforms.util.js.map +1 -1
- package/dist/components/material/animations/transformItem.util.js +6 -5
- package/dist/components/material/animations/transformItem.util.js.map +1 -1
- package/dist/components/material/locations/DropAreaDescription.d.ts +2 -1
- package/dist/components/material/locations/DropAreaDescription.js +1 -1
- package/dist/components/material/locations/DropAreaDescription.js.map +1 -1
- package/dist/components/material/locations/HexGridDropArea.d.ts +11 -0
- package/dist/components/material/locations/HexGridDropArea.js +74 -0
- package/dist/components/material/locations/HexGridDropArea.js.map +1 -0
- package/dist/components/material/locations/HexGridDropAreaDescription.d.ts +10 -0
- package/dist/components/material/locations/HexGridDropAreaDescription.js +87 -0
- package/dist/components/material/locations/HexGridDropAreaDescription.js.map +1 -0
- package/dist/components/material/locations/LocationDescription.d.ts +1 -0
- package/dist/components/material/locations/LocationDescription.js +3 -2
- package/dist/components/material/locations/LocationDescription.js.map +1 -1
- package/dist/components/material/locations/index.d.ts +1 -0
- package/dist/components/material/locations/index.js +1 -0
- package/dist/components/material/locations/index.js.map +1 -1
- package/dist/components/material/utils/getBestDropMove.d.ts +4 -0
- package/dist/components/material/utils/getBestDropMove.js +34 -0
- package/dist/components/material/utils/getBestDropMove.js.map +1 -0
- package/dist/components/material/utils/isDroppedItem.js +2 -1
- package/dist/components/material/utils/isDroppedItem.js.map +1 -1
- package/dist/hooks/useItemLocations.js +5 -19
- package/dist/hooks/useItemLocations.js.map +1 -1
- package/dist/locators/HandLocator.js +1 -1
- package/dist/locators/HandLocator.js.map +1 -1
- package/dist/locators/HexagonalGridLocator.d.ts +81 -0
- package/dist/locators/HexagonalGridLocator.js +221 -0
- package/dist/locators/HexagonalGridLocator.js.map +1 -0
- package/dist/locators/ListLocator.js +1 -3
- package/dist/locators/ListLocator.js.map +1 -1
- package/dist/locators/Locator.d.ts +25 -0
- package/dist/locators/Locator.js +33 -1
- package/dist/locators/Locator.js.map +1 -1
- package/dist/locators/PileLocator.js +1 -1
- package/dist/locators/PileLocator.js.map +1 -1
- package/dist/locators/index.d.ts +1 -0
- package/dist/locators/index.js +1 -0
- package/dist/locators/index.js.map +1 -1
- package/dist/locators/utils/grid.hex.util.d.ts +43 -0
- package/dist/locators/utils/grid.hex.util.js +92 -0
- package/dist/locators/utils/grid.hex.util.js.map +1 -0
- package/package.json +3 -3
|
@@ -33,6 +33,7 @@ exports.MobileMaterialDescription = void 0;
|
|
|
33
33
|
/** @jsxImportSource @emotion/react */
|
|
34
34
|
var rules_api_1 = require("@gamepark/rules-api");
|
|
35
35
|
var isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
36
|
+
var locators_1 = require("../../locators");
|
|
36
37
|
var MaterialDescription_1 = require("./MaterialDescription");
|
|
37
38
|
var MobileMaterialDescription = /** @class */ (function (_super) {
|
|
38
39
|
__extends(MobileMaterialDescription, _super);
|
|
@@ -53,11 +54,9 @@ var MobileMaterialDescription = /** @class */ (function (_super) {
|
|
|
53
54
|
return false;
|
|
54
55
|
}
|
|
55
56
|
};
|
|
56
|
-
MobileMaterialDescription.prototype.canDragToMove = function (move,
|
|
57
|
-
var
|
|
58
|
-
var
|
|
59
|
-
var _c = (_b = rules.material(type).getItem(index)) === null || _b === void 0 ? void 0 : _b.location, rotation = _c.rotation, actualLocation = __rest(_c, ["rotation"]);
|
|
60
|
-
var _d = move.location, nextRotation = _d.rotation, nextLocation = __rest(_d, ["rotation"]);
|
|
57
|
+
MobileMaterialDescription.prototype.canDragToMove = function (move, context) {
|
|
58
|
+
var _a = (0, locators_1.getItemFromContext)(context).location, rotation = _a.rotation, actualLocation = __rest(_a, ["rotation"]);
|
|
59
|
+
var _b = move.location, nextRotation = _b.rotation, nextLocation = __rest(_b, ["rotation"]);
|
|
61
60
|
return !(0, isEqual_1.default)(actualLocation, nextLocation);
|
|
62
61
|
};
|
|
63
62
|
MobileMaterialDescription.prototype.canDragToDelete = function (_move, _context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileMaterialDescription.js","sourceRoot":"","sources":["../../../src/components/material/MobileMaterialDescription.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,iDAAkG;AAClG,2DAAoC;
|
|
1
|
+
{"version":3,"file":"MobileMaterialDescription.js","sourceRoot":"","sources":["../../../src/components/material/MobileMaterialDescription.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,iDAAkG;AAClG,2DAAoC;AACpC,2CAAgE;AAChE,6DAA2D;AAE3D;IACU,6CAAoC;IAD9C;QAAA,qEAuBC;QArBC,cAAQ,GAAG,IAAI,CAAA;;IAqBjB,CAAC;IAnBC,2CAAO,GAAP,UAAQ,IAA2B,EAAE,OAA6B;;QAChE,IAAI,IAAA,sBAAU,EAAC,IAAI,CAAC,EAAE;YACpB,OAAO,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SACpJ;aAAM,IAAI,IAAA,wBAAY,EAAC,IAAI,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SACjH;aAAM;YACL,OAAO,KAAK,CAAA;SACb;IACH,CAAC;IAES,iDAAa,GAAvB,UAAwB,IAAuB,EAAE,OAA6B;QAC5E,IAAM,KAAkC,IAAA,6BAAkB,EAAC,OAAO,CAAC,CAAC,QAAQ,EAApE,QAAQ,cAAA,EAAK,cAAc,cAA7B,YAA+B,CAAuC,CAAA;QAC5E,IAAM,KAA8C,IAAI,CAAC,QAAQ,EAA/C,YAAY,cAAA,EAAK,YAAY,cAAzC,YAA2C,CAAgB,CAAA;QACjE,OAAO,CAAC,IAAA,iBAAO,EAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;IAES,mDAAe,GAAzB,UAA0B,KAAoB,EAAE,QAA8B;QAC5E,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS,CAAA;IACzC,CAAC;IACH,gCAAC;AAAD,CAAC,AAvBD,CACU,yCAAmB,GAsB5B;AAvBqB,8DAAyB"}
|
|
@@ -10,6 +10,6 @@ export declare class CreateItemAnimations<P extends number = number, M extends n
|
|
|
10
10
|
getPreDuration(move: CreateItem<P, M, L>, context: MaterialGameAnimationContext<P, M, L>): number;
|
|
11
11
|
getPostDuration(move: CreateItem<P, M, L>, _context: MaterialGameAnimationContext<P, M, L>): number;
|
|
12
12
|
getItemAnimation(context: ItemContext<P, M, L>, animation: Animation<CreateItem<P, M, L>>): Interpolation<Theme>;
|
|
13
|
-
isItemToAnimate(
|
|
13
|
+
isItemToAnimate(context: ItemContext<P, M, L>, animation: Animation<CreateItem<P, M, L>>): boolean;
|
|
14
14
|
protected getKeyframesFromOrigin(origin: string, _animation: Animation<ItemMove<P, M, L>>, _context: ItemContext<P, M, L>): import("@emotion/serialize").Keyframes;
|
|
15
15
|
}
|
|
@@ -22,6 +22,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
22
22
|
exports.CreateItemAnimations = void 0;
|
|
23
23
|
var react_1 = require("@emotion/react");
|
|
24
24
|
var css_1 = require("../../../css");
|
|
25
|
+
var locators_1 = require("../../../locators");
|
|
25
26
|
var getFirstStockItemTransforms_util_1 = require("./getFirstStockItemTransforms.util");
|
|
26
27
|
var ItemAnimations_1 = require("./ItemAnimations");
|
|
27
28
|
var itemMovementCss_util_1 = require("./itemMovementCss.util");
|
|
@@ -61,14 +62,13 @@ var CreateItemAnimations = /** @class */ (function (_super) {
|
|
|
61
62
|
return (0, css_1.fadeIn)(animation.duration);
|
|
62
63
|
}
|
|
63
64
|
};
|
|
64
|
-
CreateItemAnimations.prototype.isItemToAnimate = function (
|
|
65
|
-
var
|
|
66
|
-
var
|
|
67
|
-
var item = rules.material(type).getItem(index);
|
|
65
|
+
CreateItemAnimations.prototype.isItemToAnimate = function (context, animation) {
|
|
66
|
+
var _a, _b;
|
|
67
|
+
var type = context.type, index = context.index, displayIndex = context.displayIndex;
|
|
68
68
|
if (animation.move.itemType !== type || lastCreatedItemsIndexes[JSON.stringify(animation.move)] !== index)
|
|
69
69
|
return false;
|
|
70
|
-
var quantity = (
|
|
71
|
-
var createdQuantity = (
|
|
70
|
+
var quantity = (_a = (0, locators_1.getItemFromContext)(context).quantity) !== null && _a !== void 0 ? _a : 1;
|
|
71
|
+
var createdQuantity = (_b = animation.move.item.quantity) !== null && _b !== void 0 ? _b : 1;
|
|
72
72
|
return displayIndex >= quantity - createdQuantity;
|
|
73
73
|
};
|
|
74
74
|
CreateItemAnimations.prototype.getKeyframesFromOrigin = function (origin, _animation, _context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateItemAnimations.js","sourceRoot":"","sources":["../../../../src/components/material/animations/CreateItemAnimations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAgE;AAGhE,oCAAqC;
|
|
1
|
+
{"version":3,"file":"CreateItemAnimations.js","sourceRoot":"","sources":["../../../../src/components/material/animations/CreateItemAnimations.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
|
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.DeleteItemAnimations = void 0;
|
|
23
23
|
var react_1 = require("@emotion/react");
|
|
24
|
+
var locators_1 = require("../../../locators");
|
|
24
25
|
var isDroppedItem_1 = require("../utils/isDroppedItem");
|
|
25
26
|
var getFirstStockItemTransforms_util_1 = require("./getFirstStockItemTransforms.util");
|
|
26
27
|
var ItemAnimations_1 = require("./ItemAnimations");
|
|
@@ -46,9 +47,8 @@ var DeleteItemAnimations = /** @class */ (function (_super) {
|
|
|
46
47
|
return this.duration;
|
|
47
48
|
};
|
|
48
49
|
DeleteItemAnimations.prototype.getItemAnimation = function (context, animation) {
|
|
49
|
-
var
|
|
50
|
-
var
|
|
51
|
-
var itemLocator = locators[item.location.type];
|
|
50
|
+
var item = (0, locators_1.getItemFromContext)(context);
|
|
51
|
+
var itemLocator = context.locators[item.location.type];
|
|
52
52
|
if (!(itemLocator === null || itemLocator === void 0 ? void 0 : itemLocator.isItemToAnimate(item, context, animation.move)))
|
|
53
53
|
return;
|
|
54
54
|
var stockTransforms = (0, getFirstStockItemTransforms_util_1.getFirstStockItemTransforms)(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteItemAnimations.js","sourceRoot":"","sources":["../../../../src/components/material/animations/DeleteItemAnimations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqE;
|
|
1
|
+
{"version":3,"file":"DeleteItemAnimations.js","sourceRoot":"","sources":["../../../../src/components/material/animations/DeleteItemAnimations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqE;AAGrE,8CAAmE;AACnE,wDAAsD;AACtD,uFAAgF;AAChF,mDAAiD;AACjD,+DAA6D;AAE7D,qDAAwE;AACxE,2DAAoD;AAEpD;IACU,wCAAuB;IAE/B,8BAAsB,QAAY,EAAY,mBAAyB;QAAjD,yBAAA,EAAA,YAAY;QAAY,oCAAA,EAAA,yBAAyB;QAAvE,YACE,iBAAO,SACR;QAFqB,cAAQ,GAAR,QAAQ,CAAI;QAAY,yBAAmB,GAAnB,mBAAmB,CAAM;;IAEvE,CAAC;IAEQ,6CAAc,GAAvB,UAAwB,IAAuB,EAAE,OAA8C;;QAC7F,IAAM,oBAAoB,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,MAAA,MAAA,OAAO,CAAC,IAAI,CAAC,WAAW,0CAAE,YAAY,mCAAI,CAAC,EAAE,CAAA;QACtI,IAAI,IAAA,6BAAa,EAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,EAAE;YACrE,OAAO,IAAI,CAAC,mBAAmB,CAAA;SAChC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,+CAAgB,GAAhB,UAAiB,OAA6B,EAAE,SAAmC;QACjF,IAAM,IAAI,GAAG,IAAA,6BAAkB,EAAC,OAAO,CAAC,CAAA;QACxC,IAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACxD,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;YAAE,OAAM;QACxE,IAAM,eAAe,GAAG,IAAA,8DAA2B,EAAC,OAAO,CAAC,CAAA;QAC5D,IAAI,eAAe,EAAE;YACnB,IAAM,gBAAgB,GAAG,IAAA,kCAAgB,EAAC,IAAA,kCAAa,EAAC,OAAO,CAAC,CAAC,CAAA;YACjE,IAAM,gBAAgB,GAAG,IAAA,kCAAgB,EAAC,eAAe,CAAC,CAAA;YAC1D,IAAA,oCAAkB,EAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAA;YACtD,IAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;YACjI,OAAO,IAAA,2CAAoB,EAAC,kBAAkB,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;SACpE;aAAM;YACL,IAAM,OAAO,OAAG,iBAAS,8HAAA,0DAIxB,IAAA,CAAA;YACD,WAAO,WAAG,gHAAA,aAAc,EAAO,GAAI,EAAkB,wBAAwB,KAArD,OAAO,EAAI,SAAS,CAAC,QAAQ,EAAwB;SAC9E;IACH,CAAC;IAES,wDAAyB,GAAnC,UAAoC,WAAmB,EAAE,UAAwC,EAAE,QAA8B;QAC/H,WAAO,iBAAS,2HAAA,mCAEC,EAAW,kBAE3B,KAFgB,WAAW,EAE3B;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,AA3CD,CACU,+BAAc,GA0CvB;AA3CY,oDAAoB"}
|
|
@@ -28,6 +28,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.MoveItemAnimations = void 0;
|
|
30
30
|
var lodash_1 = require("lodash");
|
|
31
|
+
var locators_1 = require("../../../locators");
|
|
31
32
|
var isDroppedItem_1 = require("../utils/isDroppedItem");
|
|
32
33
|
var isPlacedOnItem_1 = require("../utils/isPlacedOnItem");
|
|
33
34
|
var ItemAnimations_1 = require("./ItemAnimations");
|
|
@@ -56,9 +57,8 @@ var MoveItemAnimations = /** @class */ (function (_super) {
|
|
|
56
57
|
return this.duration;
|
|
57
58
|
};
|
|
58
59
|
MoveItemAnimations.prototype.getItemAnimation = function (context, animation) {
|
|
59
|
-
var
|
|
60
|
-
var
|
|
61
|
-
var itemLocator = locators[item.location.type];
|
|
60
|
+
var item = (0, locators_1.getItemFromContext)(context);
|
|
61
|
+
var itemLocator = context.locators[item.location.type];
|
|
62
62
|
if (itemLocator === null || itemLocator === void 0 ? void 0 : itemLocator.isItemToAnimate(item, context, animation.move)) {
|
|
63
63
|
return this.getMovedItemAnimation(context, animation);
|
|
64
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoveItemAnimations.js","sourceRoot":"","sources":["../../../../src/components/material/animations/MoveItemAnimations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,iCAAgC;
|
|
1
|
+
{"version":3,"file":"MoveItemAnimations.js","sourceRoot":"","sources":["../../../../src/components/material/animations/MoveItemAnimations.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,10 +16,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.getFirstStockItemTransforms = void 0;
|
|
18
18
|
var isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
19
|
+
var locators_1 = require("../../../locators");
|
|
19
20
|
var getFirstStockItemTransforms = function (context) {
|
|
20
|
-
var
|
|
21
|
-
var item =
|
|
22
|
-
var description = material[type];
|
|
21
|
+
var description = context.material[context.type];
|
|
22
|
+
var item = (0, locators_1.getItemFromContext)(context);
|
|
23
23
|
var stockLocation = description === null || description === void 0 ? void 0 : description.getStockLocation(item, context);
|
|
24
24
|
if (!description || !stockLocation)
|
|
25
25
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFirstStockItemTransforms.util.js","sourceRoot":"","sources":["../../../../src/components/material/animations/getFirstStockItemTransforms.util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2DAAoC;
|
|
1
|
+
{"version":3,"file":"getFirstStockItemTransforms.util.js","sourceRoot":"","sources":["../../../../src/components/material/animations/getFirstStockItemTransforms.util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2DAAoC;AACpC,8CAAmE;AAE5D,IAAM,2BAA2B,GAAG,UACzC,OAA6B;IAE7B,IAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,IAAM,IAAI,GAAG,IAAA,6BAAkB,EAAC,OAAO,CAAC,CAAA;IACxC,IAAM,aAAa,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClE,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,CAAA;IAC7C,IAAM,SAAS,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAA,iBAAO,EAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAArC,CAAqC,CAAC,CAAA;IAC1G,IAAM,YAAY,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACrE,OAAO,WAAW,CAAC,gBAAgB,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,wBAAO,OAAO,KAAE,KAAK,EAAE,CAAC,EAAE,YAAY,cAAA,IAAG,CAAA;AACvH,CAAC,CAAA;AAVY,QAAA,2BAA2B,+BAUvC"}
|
|
@@ -10,12 +10,13 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.transformItem = void 0;
|
|
13
|
+
var locators_1 = require("../../../locators");
|
|
13
14
|
function transformItem(context) {
|
|
14
|
-
var _a
|
|
15
|
-
var
|
|
16
|
-
var currentItem =
|
|
17
|
-
var locatorTransforms = (
|
|
18
|
-
return dragTransform ? __spreadArray([dragTransform], locatorTransforms, true) : locatorTransforms;
|
|
15
|
+
var _a;
|
|
16
|
+
var description = context.material[context.type];
|
|
17
|
+
var currentItem = (0, locators_1.getItemFromContext)(context);
|
|
18
|
+
var locatorTransforms = (_a = description === null || description === void 0 ? void 0 : description.getItemTransform(currentItem, context)) !== null && _a !== void 0 ? _a : [];
|
|
19
|
+
return context.dragTransform ? __spreadArray([context.dragTransform], locatorTransforms, true) : locatorTransforms;
|
|
19
20
|
}
|
|
20
21
|
exports.transformItem = transformItem;
|
|
21
22
|
//# sourceMappingURL=transformItem.util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformItem.util.js","sourceRoot":"","sources":["../../../../src/components/material/animations/transformItem.util.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"transformItem.util.js","sourceRoot":"","sources":["../../../../src/components/material/animations/transformItem.util.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAmE;AAEnE,SAAgB,aAAa,CAAkF,OAA6B;;IAC1I,IAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,IAAM,WAAW,GAAG,IAAA,6BAAkB,EAAC,OAAO,CAAC,CAAA;IAC/C,IAAM,iBAAiB,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,mCAAI,EAAE,CAAA;IACnF,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC,gBAAE,OAAO,CAAC,aAAa,GAAK,iBAAiB,QAAE,CAAC,CAAC,iBAAiB,CAAA;AAClG,CAAC;AALD,sCAKC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DragEndEvent, DragMoveEvent } from '@dnd-kit/core';
|
|
1
2
|
import { Location, MaterialMove } from '@gamepark/rules-api';
|
|
2
3
|
import { ElementType } from 'react';
|
|
3
4
|
import { ItemContext } from '../../../locators';
|
|
@@ -5,5 +6,5 @@ import { LocationDescription } from './LocationDescription';
|
|
|
5
6
|
export declare class DropAreaDescription<P extends number = number, M extends number = number, L extends number = number, Id = any> extends LocationDescription<P, M, L, Id> {
|
|
6
7
|
Component: ElementType;
|
|
7
8
|
canDrop(move: MaterialMove<P, M, L>, location: Location<P, L>, context: ItemContext<P, M, L>): boolean;
|
|
8
|
-
getBestDropMove(moves: MaterialMove<P, M, L>[], location: Location<P, L>, context: ItemContext<P, M, L
|
|
9
|
+
getBestDropMove(moves: MaterialMove<P, M, L>[], location: Location<P, L>, context: ItemContext<P, M, L>, _event: DragMoveEvent | DragEndEvent): MaterialMove<P, M, L>;
|
|
9
10
|
}
|
|
@@ -33,7 +33,7 @@ var DropAreaDescription = /** @class */ (function (_super) {
|
|
|
33
33
|
DropAreaDescription.prototype.canDrop = function (move, location, context) {
|
|
34
34
|
return this.isMoveToLocation(move, location, context);
|
|
35
35
|
};
|
|
36
|
-
DropAreaDescription.prototype.getBestDropMove = function (moves, location, context) {
|
|
36
|
+
DropAreaDescription.prototype.getBestDropMove = function (moves, location, context, _event) {
|
|
37
37
|
var exactMove = moves.find(function (move) { return (0, rules_api_1.isMoveItem)(move) && (0, isEqual_1.default)(location, move.location); });
|
|
38
38
|
if (exactMove)
|
|
39
39
|
return exactMove;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropAreaDescription.js","sourceRoot":"","sources":["../../../../src/components/material/locations/DropAreaDescription.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"DropAreaDescription.js","sourceRoot":"","sources":["../../../../src/components/material/locations/DropAreaDescription.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,iDAAwE;AACxE,2DAAoC;AAGpC,6DAA2D;AAC3D,mDAAiD;AAEjD;IACU,uCAAgC;IAD1C;QAAA,qEAkBC;QAfC,eAAS,GAAgB,+BAAc,CAAA;;IAezC,CAAC;IAbC,qCAAO,GAAP,UAAQ,IAA2B,EAAE,QAAwB,EAAE,OAA6B;QAC1F,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACvD,CAAC;IAED,6CAAe,GAAf,UAAgB,KAA8B,EAAE,QAAwB,EAAE,OAA6B,EAAE,MAAoC;QAC3I,IAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAA,sBAAU,EAAC,IAAI,CAAC,IAAI,IAAA,iBAAO,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAApD,CAAoD,CAAC,CAAA;QAC5F,IAAI,SAAS;YAAE,OAAO,SAAS,CAAA;QAE/B,IAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAA,IAAI,YAC1C,OAAA,IAAA,sBAAU,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,MAAK,MAAA,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,0CAAE,QAAQ,CAAC,QAAQ,CAAA,CAAA,EAAA,CAChI,CAAA;QACD,OAAO,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,KAAK,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC;IACH,0BAAC;AAAD,CAAC,AAlBD,CACU,yCAAmB,GAiB5B;AAlBY,kDAAmB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Location } from '@gamepark/rules-api';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
import { HexGridDropAreaDescription } from './HexGridDropAreaDescription';
|
|
4
|
+
export type HexGridDropAreaProps<P extends number = number, M extends number = number, L extends number = number> = {
|
|
5
|
+
location: Location<P, L>;
|
|
6
|
+
description: HexGridDropAreaDescription<P, M, L>;
|
|
7
|
+
} & HTMLAttributes<HTMLDivElement>;
|
|
8
|
+
export declare const HexGridDropArea: import("react").ForwardRefExoticComponent<{
|
|
9
|
+
location: Location<number, number, any, any>;
|
|
10
|
+
description: HexGridDropAreaDescription<number, number, number, any>;
|
|
11
|
+
} & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __assign = (this && this.__assign) || function () {
|
|
7
|
+
__assign = Object.assign || function(t) {
|
|
8
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
+
s = arguments[i];
|
|
10
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
11
|
+
t[p] = s[p];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
};
|
|
15
|
+
return __assign.apply(this, arguments);
|
|
16
|
+
};
|
|
17
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
18
|
+
var t = {};
|
|
19
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
20
|
+
t[p] = s[p];
|
|
21
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
22
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
23
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
24
|
+
t[p[i]] = s[p[i]];
|
|
25
|
+
}
|
|
26
|
+
return t;
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.HexGridDropArea = void 0;
|
|
30
|
+
var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
31
|
+
/** @jsxImportSource @emotion/react */
|
|
32
|
+
var core_1 = require("@dnd-kit/core");
|
|
33
|
+
var react_1 = require("@emotion/react");
|
|
34
|
+
var react_2 = require("react");
|
|
35
|
+
var react_merge_refs_1 = require("react-merge-refs");
|
|
36
|
+
var hooks_1 = require("../../../hooks");
|
|
37
|
+
var DraggableMaterial_1 = require("../DraggableMaterial");
|
|
38
|
+
var LocationComponent_1 = require("./LocationComponent");
|
|
39
|
+
exports.HexGridDropArea = (0, react_2.forwardRef)(function (_a, ref) {
|
|
40
|
+
var location = _a.location, description = _a.description, props = __rest(_a, ["location", "description"]);
|
|
41
|
+
var context = (0, hooks_1.useMaterialContext)();
|
|
42
|
+
var material = context.material;
|
|
43
|
+
var legalMoves = (0, hooks_1.useLegalMoves)();
|
|
44
|
+
var dropMoves = (0, react_2.useMemo)(function () { return legalMoves.filter(function (move) { return description === null || description === void 0 ? void 0 : description.isMoveToLocation(move, location, context); }); }, [legalMoves, context]);
|
|
45
|
+
var _b = (0, core_1.useDroppable)({
|
|
46
|
+
id: JSON.stringify(location),
|
|
47
|
+
disabled: !dropMoves.length,
|
|
48
|
+
data: location
|
|
49
|
+
}), isOver = _b.isOver, active = _b.active, setNodeRef = _b.setNodeRef;
|
|
50
|
+
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;
|
|
51
|
+
var draggedItemContext = (0, react_2.useMemo)(function () { return draggedItem ? __assign(__assign({}, context), draggedItem) : undefined; }, [draggedItem, context]);
|
|
52
|
+
var canDrop = (0, react_2.useMemo)(function () { return !!draggedItemContext && !!description && !!material && dropMoves.some(function (move) { var _a; return ((_a = material[draggedItemContext.type]) === null || _a === void 0 ? void 0 : _a.canDrag(move, draggedItemContext)) && description.canDrop(move, location, draggedItemContext); }); }, [draggedItemContext, dropMoves]);
|
|
53
|
+
//const [draggedItemTransform, setDraggedItemTransform] = useState<XYCoordinates>()
|
|
54
|
+
/*useDndMonitor({
|
|
55
|
+
onDragMove(event) {
|
|
56
|
+
const { over, active } = event
|
|
57
|
+
|
|
58
|
+
if (over && active.rect.current.translated) {
|
|
59
|
+
const x = active.rect.current.translated.left - over.rect.left
|
|
60
|
+
const y = active.rect.current.translated.top - over.rect.top
|
|
61
|
+
|
|
62
|
+
console.log(x, y)
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
})*/
|
|
66
|
+
return ((0, jsx_runtime_1.jsx)(LocationComponent_1.LocationComponent, __assign({ ref: (0, react_merge_refs_1.mergeRefs)([ref, setNodeRef]), location: location, description: description, canDrop: canDrop, highlight: canDrop && !isOver, css: canDrop && isOver && dropHighlight }, props)));
|
|
67
|
+
});
|
|
68
|
+
exports.HexGridDropArea.displayName = 'HexGridDropArea';
|
|
69
|
+
var dropHighlight = function (theme) {
|
|
70
|
+
var _a;
|
|
71
|
+
return (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: ", ";\n"], ["\n background-color: ", ";\n"])), (_a = theme.dropArea) === null || _a === void 0 ? void 0 : _a.backgroundColor);
|
|
72
|
+
};
|
|
73
|
+
var templateObject_1;
|
|
74
|
+
//# sourceMappingURL=HexGridDropArea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HexGridDropArea.js","sourceRoot":"","sources":["../../../../src/components/material/locations/HexGridDropArea.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,sCAA4C;AAC5C,wCAA2C;AAE3C,+BAA2D;AAC3D,qDAA4C;AAC5C,wCAAkE;AAClE,0DAA0D;AAE1D,yDAAuD;AAO1C,QAAA,eAAe,GAAG,IAAA,kBAAU,EAAuC,UAC9E,EAAmC,EAAE,GAAG;IAAtC,IAAA,QAAQ,cAAA,EAAE,WAAW,iBAAA,EAAK,KAAK,cAAjC,2BAAmC,CAAF;IAEjC,IAAM,OAAO,GAAG,IAAA,0BAAkB,GAAE,CAAA;IACpC,IAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IACjC,IAAM,UAAU,GAAG,IAAA,qBAAa,GAAE,CAAA;IAClC,IAAM,SAAS,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,UAAU,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAtD,CAAsD,CAAC,EAAjF,CAAiF,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;IAEnI,IAAA,KAAiC,IAAA,mBAAY,EAAC;QAClD,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC5B,QAAQ,EAAE,CAAC,SAAS,CAAC,MAAM;QAC3B,IAAI,EAAE,QAAQ;KACf,CAAC,EAJM,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,UAAU,gBAIhC,CAAA;IAEF,IAAM,WAAW,GAAG,IAAA,uCAAmB,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IAChG,IAAM,kBAAkB,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,WAAW,CAAC,CAAC,uBAAM,OAAO,GAAK,WAAW,EAAG,CAAC,CAAC,SAAS,EAAxD,CAAwD,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;IAC1H,IAAM,OAAO,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,UAAA,IAAI,YACpG,OAAA,CAAA,MAAA,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,0CAAE,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAI,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAA,EAAA,CAChI,EAF2B,CAE3B,EACC,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC,CAAA;IAEpC,mFAAmF;IAEnF;;;;;;;;;;;QAWI;IAEJ,OAAO,CACL,uBAAC,qCAAiB,aAAC,GAAG,EAAE,IAAA,4BAAS,EAAC,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EACjG,SAAS,EAAE,OAAO,IAAI,CAAC,MAAM,EAC7B,GAAG,EAAE,OAAO,IAAI,MAAM,IAAI,aAAa,IAAM,KAAK,EAAG,CACzE,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,uBAAe,CAAC,WAAW,GAAG,iBAAiB,CAAA;AAE/C,IAAM,aAAa,GAAG,UAAC,KAAY;;IAAK,WAAA,WAAG,mGAAA,wBACrB,EAA+B,KACpD,KADqB,MAAA,KAAK,CAAC,QAAQ,0CAAE,eAAe,EACpD;CAAA,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DragEndEvent, DragMoveEvent } from '@dnd-kit/core';
|
|
2
|
+
import { Location, MaterialMove } from '@gamepark/rules-api';
|
|
3
|
+
import { ElementType } from 'react';
|
|
4
|
+
import { ItemContext } from '../../../locators';
|
|
5
|
+
import { DropAreaDescription } from './DropAreaDescription';
|
|
6
|
+
export declare class HexGridDropAreaDescription<P extends number = number, M extends number = number, L extends number = number, Id = any> extends DropAreaDescription<P, M, L, Id> {
|
|
7
|
+
Component: ElementType;
|
|
8
|
+
canDrop(move: MaterialMove<P, M, L>, location: Location<P, L>, context: ItemContext<P, M, L>): boolean;
|
|
9
|
+
getBestDropMove(moves: MaterialMove<P, M, L>[], location: Location<P, L>, context: ItemContext<P, M, L>, event: DragMoveEvent | DragEndEvent): MaterialMove<P, M, L>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __assign = (this && this.__assign) || function () {
|
|
18
|
+
__assign = Object.assign || function(t) {
|
|
19
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
+
s = arguments[i];
|
|
21
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
+
t[p] = s[p];
|
|
23
|
+
}
|
|
24
|
+
return t;
|
|
25
|
+
};
|
|
26
|
+
return __assign.apply(this, arguments);
|
|
27
|
+
};
|
|
28
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
29
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
|
+
};
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
exports.HexGridDropAreaDescription = void 0;
|
|
33
|
+
var rules_api_1 = require("@gamepark/rules-api");
|
|
34
|
+
var minBy_1 = __importDefault(require("lodash/minBy"));
|
|
35
|
+
var locators_1 = require("../../../locators");
|
|
36
|
+
var DropAreaDescription_1 = require("./DropAreaDescription");
|
|
37
|
+
var SimpleDropArea_1 = require("./SimpleDropArea");
|
|
38
|
+
var HexGridDropAreaDescription = /** @class */ (function (_super) {
|
|
39
|
+
__extends(HexGridDropAreaDescription, _super);
|
|
40
|
+
function HexGridDropAreaDescription() {
|
|
41
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
42
|
+
_this.Component = SimpleDropArea_1.SimpleDropArea;
|
|
43
|
+
return _this;
|
|
44
|
+
}
|
|
45
|
+
HexGridDropAreaDescription.prototype.canDrop = function (move, location, context) {
|
|
46
|
+
return this.isMoveToLocation(move, location, context);
|
|
47
|
+
};
|
|
48
|
+
HexGridDropAreaDescription.prototype.getBestDropMove = function (moves, location, context, event) {
|
|
49
|
+
var _a;
|
|
50
|
+
var itemRect = event.active.rect.current.translated;
|
|
51
|
+
var dropAreaRect = (_a = event.over) === null || _a === void 0 ? void 0 : _a.rect;
|
|
52
|
+
if (itemRect && dropAreaRect) {
|
|
53
|
+
var description = context.material[context.type];
|
|
54
|
+
var item_1 = (0, locators_1.getItemFromContext)(context);
|
|
55
|
+
var _b = description.getSize(item_1.id), width = _b.width, height = _b.height;
|
|
56
|
+
var dropAreaCenter = { x: dropAreaRect.left + dropAreaRect.width / 2, y: dropAreaRect.top + dropAreaRect.height / 2 };
|
|
57
|
+
var itemCenter = { x: itemRect.left + itemRect.width / 2, y: itemRect.top + itemRect.height / 2 };
|
|
58
|
+
var itemDeltaCenter_1 = {
|
|
59
|
+
x: (itemCenter.x - dropAreaCenter.x) * width / itemRect.width,
|
|
60
|
+
y: (itemCenter.y - dropAreaCenter.y) * height / itemRect.height // Convert pixels to em
|
|
61
|
+
};
|
|
62
|
+
var locator_1 = context.locators[location.type];
|
|
63
|
+
var _c = locator_1.getLocationCoordinates(location, context), _d = _c.x, lx_1 = _d === void 0 ? 0 : _d, _e = _c.y, ly_1 = _e === void 0 ? 0 : _e;
|
|
64
|
+
if (isHexagonalGridLocator(locator_1)) {
|
|
65
|
+
var bestMove = (0, minBy_1.default)(moves, function (move) {
|
|
66
|
+
var _a, _b;
|
|
67
|
+
if ((0, rules_api_1.isMoveItem)(move) && move.location.type === location.type) {
|
|
68
|
+
var _c = locator_1.getItemCoordinates(__assign(__assign({}, item_1), { location: move.location }), context), _d = _c.x, x = _d === void 0 ? 0 : _d, _e = _c.y, y = _e === void 0 ? 0 : _e;
|
|
69
|
+
return Math.sqrt(Math.pow(x - lx_1 - itemDeltaCenter_1.x, 2) + Math.pow(y - ly_1 - itemDeltaCenter_1.y, 2))
|
|
70
|
+
+ Math.abs((Math.abs(((_a = move.location.rotation) !== null && _a !== void 0 ? _a : 0) - ((_b = item_1.location.rotation) !== null && _b !== void 0 ? _b : 0)) + 3) % 6 - 3) / 3;
|
|
71
|
+
}
|
|
72
|
+
return Infinity;
|
|
73
|
+
});
|
|
74
|
+
if (bestMove) {
|
|
75
|
+
return bestMove;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return _super.prototype.getBestDropMove.call(this, moves, location, context, event);
|
|
80
|
+
};
|
|
81
|
+
return HexGridDropAreaDescription;
|
|
82
|
+
}(DropAreaDescription_1.DropAreaDescription));
|
|
83
|
+
exports.HexGridDropAreaDescription = HexGridDropAreaDescription;
|
|
84
|
+
function isHexagonalGridLocator(locator) {
|
|
85
|
+
return typeof locator.coordinatesSystem === 'number';
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=HexGridDropAreaDescription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HexGridDropAreaDescription.js","sourceRoot":"","sources":["../../../../src/components/material/locations/HexGridDropAreaDescription.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { ComponentType, ElementType } from 'react';
|
|
|
4
4
|
import { LocationContext, MaterialContext } from '../../../locators';
|
|
5
5
|
import { ComponentDescription, ComponentSize } from '../ComponentDescription';
|
|
6
6
|
export declare class LocationDescription<P extends number = number, M extends number = number, L extends number = number, Id = any> extends ComponentDescription<Id> {
|
|
7
|
+
constructor(clone?: Partial<Pick<LocationDescription, 'height' | 'width' | 'ratio' | 'borderRadius' | 'extraCss'>>);
|
|
7
8
|
Component: ElementType;
|
|
8
9
|
help?: ComponentType<LocationHelpProps<P, L>>;
|
|
9
10
|
getLocationSize(location: Location<P, L>, _context: MaterialContext<P, M, L>): ComponentSize;
|
|
@@ -28,9 +28,10 @@ var LocationComponent_1 = require("./LocationComponent");
|
|
|
28
28
|
var displayLocationHelp = rules_api_1.MaterialMoveBuilder.displayLocationHelp;
|
|
29
29
|
var LocationDescription = /** @class */ (function (_super) {
|
|
30
30
|
__extends(LocationDescription, _super);
|
|
31
|
-
function LocationDescription() {
|
|
32
|
-
var _this = _super
|
|
31
|
+
function LocationDescription(clone) {
|
|
32
|
+
var _this = _super.call(this, clone) || this;
|
|
33
33
|
_this.Component = LocationComponent_1.LocationComponent;
|
|
34
|
+
_this.extraCss = clone === null || clone === void 0 ? void 0 : clone.extraCss;
|
|
34
35
|
return _this;
|
|
35
36
|
}
|
|
36
37
|
LocationDescription.prototype.getLocationSize = function (location, _context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationDescription.js","sourceRoot":"","sources":["../../../../src/components/material/locations/LocationDescription.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,iDAAyH;AACzH,2DAAoC;AAGpC,gEAA6E;AAC7E,kCAA2C;AAC3C,sCAAiD;AACjD,yDAAuD;AACvD,IAAO,mBAAmB,GAAG,+BAAmB,CAAC,mBAAmB,CAAA;AAEpE;IACU,uCAAwB;
|
|
1
|
+
{"version":3,"file":"LocationDescription.js","sourceRoot":"","sources":["../../../../src/components/material/locations/LocationDescription.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./DropAreaDescription"), exports);
|
|
18
|
+
__exportStar(require("./HexGridDropAreaDescription"), exports);
|
|
18
19
|
__exportStar(require("./LocationDescription"), exports);
|
|
19
20
|
__exportStar(require("./LocationsMask"), exports);
|
|
20
21
|
__exportStar(require("./SimpleDropArea"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/material/locations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,wDAAqC;AACrC,kDAA+B;AAC/B,mDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/material/locations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,+DAA4C;AAC5C,wDAAqC;AACrC,kDAA+B;AAC/B,mDAAgC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { DragEndEvent, DragMoveEvent } from '@dnd-kit/core';
|
|
2
|
+
import { MaterialMove } from '../../../../../rules-api';
|
|
3
|
+
import { MaterialContext } from '../../../locators';
|
|
4
|
+
export declare function getBestDropMove<P extends number = number, M extends number = number, L extends number = number>(event: DragMoveEvent | DragEndEvent, context: MaterialContext<P, M, L>, legalMoves: MaterialMove<P, M, L>[]): MaterialMove<P, M, L> | undefined;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.getBestDropMove = void 0;
|
|
15
|
+
var DraggableMaterial_1 = require("../DraggableMaterial");
|
|
16
|
+
function getBestDropMove(event, context, legalMoves) {
|
|
17
|
+
if (event.over && (0, DraggableMaterial_1.dataIsDisplayedItem)(event.active.data.current) && dataIsLocation(event.over.data.current)) {
|
|
18
|
+
var item = event.active.data.current;
|
|
19
|
+
var description_1 = context.material[item.type];
|
|
20
|
+
var location_1 = event.over.data.current;
|
|
21
|
+
var locator = context.locators[location_1.type];
|
|
22
|
+
var itemContext_1 = __assign(__assign({}, context), item);
|
|
23
|
+
var locationDescription_1 = locator === null || locator === void 0 ? void 0 : locator.getLocationDescription(location_1, itemContext_1);
|
|
24
|
+
var moves = legalMoves.filter(function (move) { var _a; return (description_1 === null || description_1 === void 0 ? void 0 : description_1.canDrag(move, itemContext_1)) && ((_a = locationDescription_1 === null || locationDescription_1 === void 0 ? void 0 : locationDescription_1.canDrop) === null || _a === void 0 ? void 0 : _a.call(locationDescription_1, move, location_1, itemContext_1)); });
|
|
25
|
+
if (moves.length > 0) {
|
|
26
|
+
return moves.length === 1 ? moves[0] : locationDescription_1.getBestDropMove(moves, location_1, itemContext_1, event);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.getBestDropMove = getBestDropMove;
|
|
31
|
+
function dataIsLocation(data) {
|
|
32
|
+
return typeof (data === null || data === void 0 ? void 0 : data.type) === 'number';
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=getBestDropMove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBestDropMove.js","sourceRoot":"","sources":["../../../../src/components/material/utils/getBestDropMove.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,0DAA0D;AAG1D,SAAgB,eAAe,CAC7B,KAAmC,EAAE,OAAiC,EAAE,UAAmC;IAE3G,IAAI,KAAK,CAAC,IAAI,IAAI,IAAA,uCAAmB,EAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,cAAc,CAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACpH,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAA;QACtC,IAAM,aAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAM,UAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;QACxC,IAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAQ,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAM,aAAW,yBAAQ,OAAO,GAAK,IAAI,CAAE,CAAA;QAC3C,IAAM,qBAAmB,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,CAAC,UAAQ,EAAE,aAAW,CAAiC,CAAA;QAClH,IAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,UAAA,IAAI,YAClC,OAAA,CAAA,aAAW,aAAX,aAAW,uBAAX,aAAW,CAAE,OAAO,CAAC,IAAI,EAAE,aAAW,CAAC,MAAI,MAAA,qBAAmB,aAAnB,qBAAmB,uBAAnB,qBAAmB,CAAE,OAAO,sEAAG,IAAI,EAAE,UAAQ,EAAE,aAAW,CAAC,CAAA,CAAA,EAAA,CACvG,CAAA;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAmB,CAAC,eAAe,CAAC,KAAK,EAAE,UAAQ,EAAE,aAAW,EAAE,KAAK,CAAC,CAAA;SAChH;KACF;AACH,CAAC;AAjBD,0CAiBC;AAED,SAAS,cAAc,CAAuD,IAA0B;IACtG,OAAO,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,KAAK,QAAQ,CAAA;AACvC,CAAC"}
|
|
@@ -12,6 +12,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.isDroppedItem = void 0;
|
|
15
|
+
var locators_1 = require("../../../locators");
|
|
15
16
|
var isPlacedOnItem_1 = require("./isPlacedOnItem");
|
|
16
17
|
var isDroppedItem = function (context) {
|
|
17
18
|
var type = context.type, index = context.index, displayIndex = context.displayIndex, rules = context.rules;
|
|
@@ -20,7 +21,7 @@ var isDroppedItem = function (context) {
|
|
|
20
21
|
return false;
|
|
21
22
|
if (droppedItem.type === type && droppedItem.index === index && droppedItem.displayIndex === displayIndex)
|
|
22
23
|
return true;
|
|
23
|
-
return (0, isPlacedOnItem_1.isPlacedOnItem)(
|
|
24
|
+
return (0, isPlacedOnItem_1.isPlacedOnItem)((0, locators_1.getItemFromContext)(context), __assign(__assign({}, context), droppedItem));
|
|
24
25
|
};
|
|
25
26
|
exports.isDroppedItem = isDroppedItem;
|
|
26
27
|
//# sourceMappingURL=isDroppedItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isDroppedItem.js","sourceRoot":"","sources":["../../../../src/components/material/utils/isDroppedItem.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"isDroppedItem.js","sourceRoot":"","sources":["../../../../src/components/material/utils/isDroppedItem.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,8CAAmE;AACnE,mDAAiD;AAE1C,IAAM,aAAa,GAAG,UAC3B,OAA6B;IAErB,IAAA,IAAI,GAAiC,OAAO,KAAxC,EAAE,KAAK,GAA0B,OAAO,MAAjC,EAAE,YAAY,GAAY,OAAO,aAAnB,EAAE,KAAK,GAAK,OAAO,MAAZ,CAAY;IACpD,IAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAA;IAC1C,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAA;IAC9B,IAAI,WAAW,CAAC,IAAI,KAAK,IAAI,IAAI,WAAW,CAAC,KAAK,KAAK,KAAK,IAAI,WAAW,CAAC,YAAY,KAAK,YAAY;QAAE,OAAO,IAAI,CAAA;IACtH,OAAO,IAAA,+BAAc,EAAC,IAAA,6BAAkB,EAAC,OAAO,CAAC,wBAAO,OAAO,GAAK,WAAW,EAAG,CAAA;AACpF,CAAC,CAAA;AARY,QAAA,aAAa,iBAQzB"}
|