@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
|
@@ -15,6 +15,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.useExpectedDropLocations = exports.useItemLocations = void 0;
|
|
18
|
+
var lodash_1 = require("lodash");
|
|
18
19
|
var isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
19
20
|
var react_1 = require("react");
|
|
20
21
|
var components_1 = require("../components");
|
|
@@ -56,25 +57,10 @@ var useExpectedDropLocations = function () {
|
|
|
56
57
|
delete context.expectedDropLocations;
|
|
57
58
|
}
|
|
58
59
|
else if (!context.expectedDropLocations) {
|
|
59
|
-
var
|
|
60
|
-
var
|
|
61
|
-
var
|
|
62
|
-
|
|
63
|
-
for (var _i = 0, legalMoves_1 = legalMoves; _i < legalMoves_1.length; _i++) {
|
|
64
|
-
var move = legalMoves_1[_i];
|
|
65
|
-
if (description === null || description === void 0 ? void 0 : description.canDrag(move, itemContext)) {
|
|
66
|
-
var _loop_2 = function (dropLocation) {
|
|
67
|
-
if (!locations.some(function (location) { return (0, isEqual_1.default)(location, dropLocation); })) {
|
|
68
|
-
locations.push(dropLocation);
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
for (var _b = 0, _c = description.getDropLocations(item, move, itemContext); _b < _c.length; _b++) {
|
|
72
|
-
var dropLocation = _c[_b];
|
|
73
|
-
_loop_2(dropLocation);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
context.expectedDropLocations = locations;
|
|
60
|
+
var description_1 = context.material[draggedItem.type];
|
|
61
|
+
var itemContext_1 = __assign(__assign({}, context), draggedItem);
|
|
62
|
+
var dragMoves = legalMoves.filter(function (move) { return description_1.canDrag(move, itemContext_1); });
|
|
63
|
+
context.expectedDropLocations = (0, lodash_1.uniqWith)(description_1.getDropLocations(itemContext_1, dragMoves), isEqual_1.default);
|
|
78
64
|
}
|
|
79
65
|
return (_a = context.expectedDropLocations) !== null && _a !== void 0 ? _a : [];
|
|
80
66
|
}, [draggedItem]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useItemLocations.js","sourceRoot":"","sources":["../../src/hooks/useItemLocations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,2DAAoC;AACpC,+BAA+B;AAC/B,4CAA+C;AAE/C,mDAAiD;AACjD,iDAA+C;AAC/C,2DAAyD;AAOzD,SAAgB,gBAAgB,CAC9B,IAAwB,EAAE,OAA6B;;IAE/C,IAAA,KAAK,GAA+B,OAAO,MAAtC,EAAE,IAAI,GAAyB,OAAO,KAAhC,EAAE,QAAQ,GAAe,OAAO,SAAtB,EAAE,QAAQ,GAAK,OAAO,SAAZ,CAAY;IAC7C,IAAA,KAAsB,IAAA,4BAAe,GAAW,EAA9C,KAAK,WAAA,EAAE,QAAQ,cAA+B,CAAA;IACtD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IAEpB,IAAM,SAAS,GAAG,MAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,0CAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,mCAAI,EAAE,CAAA;IACnE,IAAM,MAAM,GAA6B,SAAS,CAAC,GAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,EAAd,CAAc,CAAC,CAAA;IAElF,IAAM,cAAc,GAAG,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,0CAAE,MAAM,CAAC,UAAA,QAAQ,gBACtD,OAAA,CAAA,MAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,0CAAE,cAAc,MAAK,IAAI,IAAI,CAAC,MAAA,QAAQ,CAAC,MAAM,mCAAI,CAAC,CAAC,KAAK,KAAK,CAAA,EAAA,CACrF,mCAAI,EAAE,CAAA;4BACI,UAAQ;QACjB,IAAM,OAAK,GAAG,MAAM,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,IAAA,iBAAO,EAAC,CAAC,CAAC,QAAQ,EAAE,UAAQ,CAAC,EAA7B,CAA6B,CAAC,CAAA;QAClE,IAAI,OAAK,KAAK,CAAC,CAAC,EAAE;YAChB,MAAM,CAAC,OAAK,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAA;SAClC;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,YAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAA;SACpC;;IANH,KAAuB,UAAc,EAAd,iCAAc,EAAd,4BAAc,EAAd,IAAc;QAAhC,IAAM,UAAQ,uBAAA;gBAAR,UAAQ;KAOlB;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAvBD,4CAuBC;AAEM,IAAM,wBAAwB,GAAG;IACtC,IAAM,OAAO,GAA4E,IAAA,uCAAkB,GAAW,CAAA;IACtH,IAAM,WAAW,GAAG,IAAA,+BAAc,GAAK,CAAA;IACvC,IAAM,UAAU,GAAG,IAAA,6BAAa,GAAyB,CAAA;IACzD,OAAO,IAAA,eAAO,EAAC;;QACb,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,OAAO,CAAC,qBAAqB,CAAA;SACrC;aAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;YACzC,IAAM,
|
|
1
|
+
{"version":3,"file":"useItemLocations.js","sourceRoot":"","sources":["../../src/hooks/useItemLocations.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,7 +155,7 @@ var HandLocator = /** @class */ (function (_super) {
|
|
|
155
155
|
HandLocator.prototype.generateLocationDescriptionFromDraggedItem = function (_location, context) {
|
|
156
156
|
var _a;
|
|
157
157
|
var itemDescription = (_a = context.material[context.type]) !== null && _a !== void 0 ? _a : new components_1.CardDescription();
|
|
158
|
-
var item =
|
|
158
|
+
var item = (0, Locator_1.getItemFromContext)(context);
|
|
159
159
|
var _b = itemDescription.getSize(item.id), width = _b.width, height = _b.height;
|
|
160
160
|
var borderRadius = itemDescription.getBorderRadius(item.id);
|
|
161
161
|
var max = Math.max(width, height);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandLocator.js","sourceRoot":"","sources":["../../src/locators/HandLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,4CAAyF;AACzF,
|
|
1
|
+
{"version":3,"file":"HandLocator.js","sourceRoot":"","sources":["../../src/locators/HandLocator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Coordinates, GridBoundaries, HexGridSystem, Location, MaterialItem, MoveItem, XYCoordinates } from '@gamepark/rules-api';
|
|
2
|
+
import { LocationDescription } from '../components';
|
|
3
|
+
import { ItemContext, Locator, MaterialContext } from './Locator';
|
|
4
|
+
/**
|
|
5
|
+
* This locator is responsible for placing locations and items on a hexagonal grid.
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class HexagonalGridLocator<P extends number = number, M extends number = number, L extends number = number> extends Locator<P, M, L> {
|
|
8
|
+
/**
|
|
9
|
+
* The coordinates system used by the location and items to place
|
|
10
|
+
*/
|
|
11
|
+
abstract coordinatesSystem: HexGridSystem;
|
|
12
|
+
/**
|
|
13
|
+
* The size of one hexagon, i.e. the distance between the center of the hexagon and its vertices.
|
|
14
|
+
* For irregular hexagons, the distance can use XY values.
|
|
15
|
+
*/
|
|
16
|
+
abstract size: number | XYCoordinates;
|
|
17
|
+
/**
|
|
18
|
+
* Horizontal size of a hexagon
|
|
19
|
+
*/
|
|
20
|
+
protected get sizeX(): number;
|
|
21
|
+
/**
|
|
22
|
+
* Vertical size of a hexagon
|
|
23
|
+
*/
|
|
24
|
+
protected get sizeY(): number;
|
|
25
|
+
/**
|
|
26
|
+
* The min and max X and Y coordinates of the grid, if any.
|
|
27
|
+
* Define the boundaries to get the drop area automatically sized and centered.
|
|
28
|
+
*/
|
|
29
|
+
boundaries: Partial<GridBoundaries>;
|
|
30
|
+
/**
|
|
31
|
+
* Override if you need dynamic {@link boundaries}.
|
|
32
|
+
* @param _location The location to consider
|
|
33
|
+
* @param _context Context of the game
|
|
34
|
+
* @return current grid boundaries
|
|
35
|
+
*/
|
|
36
|
+
getBoundaries(_location: Location<P, L>, _context: MaterialContext<P, M, L>): Partial<GridBoundaries>;
|
|
37
|
+
/**
|
|
38
|
+
* Get the delta X and Y coordinates to apply to place some area given its boundaries.
|
|
39
|
+
* @param boundaries Boundaries of the location to place
|
|
40
|
+
* @return X and Y delta to apply
|
|
41
|
+
*/
|
|
42
|
+
private getAreaDelta;
|
|
43
|
+
/**
|
|
44
|
+
* Get the coordinates for the full grid area
|
|
45
|
+
* @param location Location to place
|
|
46
|
+
* @param context Context of the game
|
|
47
|
+
* @returns The coordinates of the area
|
|
48
|
+
*/
|
|
49
|
+
getAreaCoordinates(location: Location<P, L>, context: MaterialContext<P, M, L>): Partial<Coordinates>;
|
|
50
|
+
/**
|
|
51
|
+
* Get the coordinates of a location on the grid
|
|
52
|
+
* @param location Location to place
|
|
53
|
+
* @param context Context of the game
|
|
54
|
+
* @return the coordinates
|
|
55
|
+
*/
|
|
56
|
+
getLocationCoordinates(location: Location<P, L>, context: MaterialContext<P, M, L>): Partial<Coordinates>;
|
|
57
|
+
/**
|
|
58
|
+
* Get the coordinates of an item on the grid. If the item is a Polyhex, the shape will be use to center the origin coordinates of the item on the
|
|
59
|
+
* correct grid location.
|
|
60
|
+
* @param item Item to place
|
|
61
|
+
* @param context Context of the game
|
|
62
|
+
* @return the coordinates of the item
|
|
63
|
+
*/
|
|
64
|
+
getItemCoordinates(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): Partial<Coordinates>;
|
|
65
|
+
/**
|
|
66
|
+
* Rotate the item. On a hexagonal grid, by default the item's rotation is multiplied by 60 degrees.
|
|
67
|
+
* @param item Item to rotate
|
|
68
|
+
* @param _context Context of the item
|
|
69
|
+
* @return the item's rotation in degrees
|
|
70
|
+
*/
|
|
71
|
+
getItemRotateZ(item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): number;
|
|
72
|
+
/**
|
|
73
|
+
* Returns the drop locations for current dragged item. The hexagonal grid must be one simple drop location.
|
|
74
|
+
*/
|
|
75
|
+
getDropLocations(moves: MoveItem<P, M, L>[], _context: ItemContext<P, M, L>): Location<P, L>[];
|
|
76
|
+
dropPreview: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Generate automatically a {@link HexGridDropAreaDescription} based on the grid boundaries
|
|
79
|
+
*/
|
|
80
|
+
getLocationDescription(location: Location<P, L>, context: MaterialContext<P, M, L> | ItemContext<P, M, L>): LocationDescription<P, M, L> | undefined;
|
|
81
|
+
}
|
|
@@ -0,0 +1,221 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.HexagonalGridLocator = void 0;
|
|
22
|
+
var rules_api_1 = require("@gamepark/rules-api");
|
|
23
|
+
var isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
24
|
+
var maxBy_1 = __importDefault(require("lodash/maxBy"));
|
|
25
|
+
var minBy_1 = __importDefault(require("lodash/minBy"));
|
|
26
|
+
var omit_1 = __importDefault(require("lodash/omit"));
|
|
27
|
+
var uniqWith_1 = __importDefault(require("lodash/uniqWith"));
|
|
28
|
+
var components_1 = require("../components");
|
|
29
|
+
var Locator_1 = require("./Locator");
|
|
30
|
+
/**
|
|
31
|
+
* This locator is responsible for placing locations and items on a hexagonal grid.
|
|
32
|
+
*/
|
|
33
|
+
var HexagonalGridLocator = /** @class */ (function (_super) {
|
|
34
|
+
__extends(HexagonalGridLocator, _super);
|
|
35
|
+
function HexagonalGridLocator() {
|
|
36
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
37
|
+
/**
|
|
38
|
+
* The min and max X and Y coordinates of the grid, if any.
|
|
39
|
+
* Define the boundaries to get the drop area automatically sized and centered.
|
|
40
|
+
*/
|
|
41
|
+
_this.boundaries = {};
|
|
42
|
+
_this.dropPreview = true;
|
|
43
|
+
return _this;
|
|
44
|
+
}
|
|
45
|
+
Object.defineProperty(HexagonalGridLocator.prototype, "sizeX", {
|
|
46
|
+
/**
|
|
47
|
+
* Horizontal size of a hexagon
|
|
48
|
+
*/
|
|
49
|
+
get: function () {
|
|
50
|
+
return typeof this.size === 'number' ? this.size : this.size.x;
|
|
51
|
+
},
|
|
52
|
+
enumerable: false,
|
|
53
|
+
configurable: true
|
|
54
|
+
});
|
|
55
|
+
Object.defineProperty(HexagonalGridLocator.prototype, "sizeY", {
|
|
56
|
+
/**
|
|
57
|
+
* Vertical size of a hexagon
|
|
58
|
+
*/
|
|
59
|
+
get: function () {
|
|
60
|
+
return typeof this.size === 'number' ? this.size : this.size.y;
|
|
61
|
+
},
|
|
62
|
+
enumerable: false,
|
|
63
|
+
configurable: true
|
|
64
|
+
});
|
|
65
|
+
/**
|
|
66
|
+
* Override if you need dynamic {@link boundaries}.
|
|
67
|
+
* @param _location The location to consider
|
|
68
|
+
* @param _context Context of the game
|
|
69
|
+
* @return current grid boundaries
|
|
70
|
+
*/
|
|
71
|
+
HexagonalGridLocator.prototype.getBoundaries = function (_location, _context) {
|
|
72
|
+
return this.boundaries;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Get the delta X and Y coordinates to apply to place some area given its boundaries.
|
|
76
|
+
* @param boundaries Boundaries of the location to place
|
|
77
|
+
* @return X and Y delta to apply
|
|
78
|
+
*/
|
|
79
|
+
HexagonalGridLocator.prototype.getAreaDelta = function (boundaries) {
|
|
80
|
+
var _a = boundaries.xMin, xMin = _a === void 0 ? 0 : _a, _b = boundaries.xMax, xMax = _b === void 0 ? 0 : _b, _c = boundaries.yMin, yMin = _c === void 0 ? 0 : _c, _d = boundaries.yMax, yMax = _d === void 0 ? 0 : _d;
|
|
81
|
+
switch (this.coordinatesSystem) {
|
|
82
|
+
case rules_api_1.HexGridSystem.Axial: {
|
|
83
|
+
throw new Error('Axial HexGridSystem is not yet implemented');
|
|
84
|
+
}
|
|
85
|
+
case rules_api_1.HexGridSystem.OddQ: {
|
|
86
|
+
var deltaX = (xMin + xMax) / 2;
|
|
87
|
+
var deltaY = ((xMin !== xMax ? 0.5 : xMin % 2 === 0 ? 0 : 1) + yMin + yMax) / 2;
|
|
88
|
+
return { x: deltaX * 3 / 2 * this.sizeX, y: deltaY * Math.sqrt(3) * this.sizeY };
|
|
89
|
+
}
|
|
90
|
+
case rules_api_1.HexGridSystem.EvenQ: {
|
|
91
|
+
var deltaX = (xMin + xMax) / 2;
|
|
92
|
+
var deltaY = ((xMin !== xMax ? -0.5 : xMin % 2 === 0 ? 0 : -1) + yMin + yMax) / 2;
|
|
93
|
+
return { x: deltaX * 3 / 2 * this.sizeX, y: deltaY * Math.sqrt(3) * this.sizeY };
|
|
94
|
+
}
|
|
95
|
+
case rules_api_1.HexGridSystem.OddR: {
|
|
96
|
+
throw new Error('OddR HexGridSystem is not yet implemented');
|
|
97
|
+
}
|
|
98
|
+
case rules_api_1.HexGridSystem.EvenR: {
|
|
99
|
+
throw new Error('EvenR HexGridSystem is not yet implemented');
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Get the coordinates for the full grid area
|
|
105
|
+
* @param location Location to place
|
|
106
|
+
* @param context Context of the game
|
|
107
|
+
* @returns The coordinates of the area
|
|
108
|
+
*/
|
|
109
|
+
HexagonalGridLocator.prototype.getAreaCoordinates = function (location, context) {
|
|
110
|
+
var _a = _super.prototype.getCoordinates.call(this, location, context), _b = _a.x, x = _b === void 0 ? 0 : _b, _c = _a.y, y = _c === void 0 ? 0 : _c, z = _a.z;
|
|
111
|
+
var _d = this.getAreaDelta(this.getBoundaries(location, context)), _e = _d.x, deltaX = _e === void 0 ? 0 : _e, _f = _d.y, deltaY = _f === void 0 ? 0 : _f;
|
|
112
|
+
return { x: x + deltaX, y: y + deltaY, z: z };
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Get the coordinates of a location on the grid
|
|
116
|
+
* @param location Location to place
|
|
117
|
+
* @param context Context of the game
|
|
118
|
+
* @return the coordinates
|
|
119
|
+
*/
|
|
120
|
+
HexagonalGridLocator.prototype.getLocationCoordinates = function (location, context) {
|
|
121
|
+
if (location.x === undefined && location.y === undefined) {
|
|
122
|
+
return this.getAreaCoordinates(location, context);
|
|
123
|
+
}
|
|
124
|
+
var _a = location.x, x = _a === void 0 ? 0 : _a, _b = location.y, y = _b === void 0 ? 0 : _b;
|
|
125
|
+
switch (this.coordinatesSystem) {
|
|
126
|
+
case rules_api_1.HexGridSystem.Axial: {
|
|
127
|
+
throw new Error('Axial HexGridSystem is not yet implemented');
|
|
128
|
+
}
|
|
129
|
+
case rules_api_1.HexGridSystem.OddQ: {
|
|
130
|
+
if (x % 2 !== 0)
|
|
131
|
+
y += 0.5;
|
|
132
|
+
return {
|
|
133
|
+
x: x * 3 / 2 * this.sizeX,
|
|
134
|
+
y: y * Math.sqrt(3) * this.sizeY
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
case rules_api_1.HexGridSystem.EvenQ: {
|
|
138
|
+
if (x % 2 !== 0)
|
|
139
|
+
y -= 0.5;
|
|
140
|
+
return {
|
|
141
|
+
x: x * 3 / 2 * this.sizeX,
|
|
142
|
+
y: y * Math.sqrt(3) * this.sizeY
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
case rules_api_1.HexGridSystem.OddR: {
|
|
146
|
+
throw new Error('OddR HexGridSystem is not yet implemented');
|
|
147
|
+
}
|
|
148
|
+
case rules_api_1.HexGridSystem.EvenR: {
|
|
149
|
+
throw new Error('EvenR HexGridSystem is not yet implemented');
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Get the coordinates of an item on the grid. If the item is a Polyhex, the shape will be use to center the origin coordinates of the item on the
|
|
155
|
+
* correct grid location.
|
|
156
|
+
* @param item Item to place
|
|
157
|
+
* @param context Context of the game
|
|
158
|
+
* @return the coordinates of the item
|
|
159
|
+
*/
|
|
160
|
+
HexagonalGridLocator.prototype.getItemCoordinates = function (item, context) {
|
|
161
|
+
var _this = this;
|
|
162
|
+
var _a, _b, _c, _d;
|
|
163
|
+
var description = context.material[context.type];
|
|
164
|
+
if (description && (0, components_1.isPolyhexDescription)(description)) {
|
|
165
|
+
var shape = description.getPolyhexShape(item, context).map(function (hex) {
|
|
166
|
+
return (0, rules_api_1.hexFromAxial)((0, rules_api_1.hexRotate)((0, rules_api_1.hexToAxial)(hex, description.coordinatesSystem), item.location.rotation), _this.coordinatesSystem);
|
|
167
|
+
});
|
|
168
|
+
var xMin = (_a = (0, minBy_1.default)(shape, 'x')) === null || _a === void 0 ? void 0 : _a.x, xMax = (_b = (0, maxBy_1.default)(shape, 'x')) === null || _b === void 0 ? void 0 : _b.x, yMin = (_c = (0, minBy_1.default)(shape, 'y')) === null || _c === void 0 ? void 0 : _c.y, yMax = (_d = (0, maxBy_1.default)(shape, 'y')) === null || _d === void 0 ? void 0 : _d.y;
|
|
169
|
+
var _e = _super.prototype.getItemCoordinates.call(this, item, context), _f = _e.x, x = _f === void 0 ? 0 : _f, _g = _e.y, y = _g === void 0 ? 0 : _g, z = _e.z;
|
|
170
|
+
var _h = this.getAreaDelta({ xMin: xMin, xMax: xMax, yMin: yMin, yMax: yMax }), _j = _h.x, deltaX = _j === void 0 ? 0 : _j, _k = _h.y, deltaY = _k === void 0 ? 0 : _k;
|
|
171
|
+
return { x: x + deltaX, y: y + deltaY, z: z };
|
|
172
|
+
}
|
|
173
|
+
return _super.prototype.getItemCoordinates.call(this, item, context);
|
|
174
|
+
};
|
|
175
|
+
/**
|
|
176
|
+
* Rotate the item. On a hexagonal grid, by default the item's rotation is multiplied by 60 degrees.
|
|
177
|
+
* @param item Item to rotate
|
|
178
|
+
* @param _context Context of the item
|
|
179
|
+
* @return the item's rotation in degrees
|
|
180
|
+
*/
|
|
181
|
+
HexagonalGridLocator.prototype.getItemRotateZ = function (item, _context) {
|
|
182
|
+
var _a;
|
|
183
|
+
return ((_a = item.location.rotation) !== null && _a !== void 0 ? _a : 0) * 60;
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* Returns the drop locations for current dragged item. The hexagonal grid must be one simple drop location.
|
|
187
|
+
*/
|
|
188
|
+
HexagonalGridLocator.prototype.getDropLocations = function (moves, _context) {
|
|
189
|
+
return (0, uniqWith_1.default)(moves.map(function (move) { return (0, omit_1.default)(move.location, ['x', 'y', 'z', 'rotation']); }), isEqual_1.default);
|
|
190
|
+
};
|
|
191
|
+
/**
|
|
192
|
+
* Generate automatically a {@link HexGridDropAreaDescription} based on the grid boundaries
|
|
193
|
+
*/
|
|
194
|
+
HexagonalGridLocator.prototype.getLocationDescription = function (location, context) {
|
|
195
|
+
if (this.locationDescription)
|
|
196
|
+
return this.locationDescription;
|
|
197
|
+
var _a = this.getBoundaries(location, context), _b = _a.xMin, xMin = _b === void 0 ? 0 : _b, _c = _a.xMax, xMax = _c === void 0 ? 0 : _c, _d = _a.yMin, yMin = _d === void 0 ? 0 : _d, _e = _a.yMax, yMax = _e === void 0 ? 0 : _e;
|
|
198
|
+
var borderRadius = this.sizeX / 3;
|
|
199
|
+
switch (this.coordinatesSystem) {
|
|
200
|
+
case rules_api_1.HexGridSystem.Axial: {
|
|
201
|
+
throw new Error('Axial HexGridSystem is not yet implemented');
|
|
202
|
+
}
|
|
203
|
+
case rules_api_1.HexGridSystem.OddQ:
|
|
204
|
+
case rules_api_1.HexGridSystem.EvenQ:
|
|
205
|
+
return new components_1.HexGridDropAreaDescription({
|
|
206
|
+
width: (xMax - xMin + 1) * 3 / 2 * this.sizeX,
|
|
207
|
+
height: (yMax - yMin + 1) * Math.sqrt(3) * this.sizeY,
|
|
208
|
+
borderRadius: borderRadius
|
|
209
|
+
});
|
|
210
|
+
case rules_api_1.HexGridSystem.OddR: {
|
|
211
|
+
throw new Error('OddR HexGridSystem is not yet implemented');
|
|
212
|
+
}
|
|
213
|
+
case rules_api_1.HexGridSystem.EvenR: {
|
|
214
|
+
throw new Error('EvenR HexGridSystem is not yet implemented');
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
return HexagonalGridLocator;
|
|
219
|
+
}(Locator_1.Locator));
|
|
220
|
+
exports.HexagonalGridLocator = HexagonalGridLocator;
|
|
221
|
+
//# sourceMappingURL=HexagonalGridLocator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HexagonalGridLocator.js","sourceRoot":"","sources":["../../src/locators/HexagonalGridLocator.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,9 +106,7 @@ var ListLocator = /** @class */ (function (_super) {
|
|
|
106
106
|
};
|
|
107
107
|
ListLocator.prototype.generateLocationDescriptionFromDraggedItem = function (location, context) {
|
|
108
108
|
var _a, _b, _c, _d;
|
|
109
|
-
var item =
|
|
110
|
-
if (!item)
|
|
111
|
-
return;
|
|
109
|
+
var item = (0, Locator_1.getItemFromContext)(context);
|
|
112
110
|
var _e = (_b = (_a = context.material[context.type]) === null || _a === void 0 ? void 0 : _a.getSize(item.id)) !== null && _b !== void 0 ? _b : {}, _f = _e.width, width = _f === void 0 ? 0 : _f, _g = _e.height, height = _g === void 0 ? 0 : _g;
|
|
113
111
|
var borderRadius = (_d = (_c = context.material[context.type]) === null || _c === void 0 ? void 0 : _c.getBorderRadius(item.id)) !== null && _d !== void 0 ? _d : 0;
|
|
114
112
|
if (this.getLocationIndex(location, context) !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListLocator.js","sourceRoot":"","sources":["../../src/locators/ListLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,4CAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"ListLocator.js","sourceRoot":"","sources":["../../src/locators/ListLocator.ts"],"names":[],"mappings":"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"}
|
|
@@ -208,6 +208,25 @@ export declare class Locator<P extends number = number, M extends number = numbe
|
|
|
208
208
|
* @returns true if the items must be animated
|
|
209
209
|
*/
|
|
210
210
|
isItemToAnimate(item: MaterialItem<P, L>, context: ItemContext<P, M, L>, move: MoveItem<P, M, L> | DeleteItem<M>): boolean;
|
|
211
|
+
/**
|
|
212
|
+
* Given an item being dragged, and all the moves for this item going to this location type, this function must return the list of valid drop locations
|
|
213
|
+
* for the item
|
|
214
|
+
* @param moves Legal movements for the item
|
|
215
|
+
* @param _context Context of the item
|
|
216
|
+
* @return the drop locations to display
|
|
217
|
+
*/
|
|
218
|
+
getDropLocations(moves: MoveItem<P, M, L>[], _context: ItemContext<P, M, L>): Location<P, L>[];
|
|
219
|
+
/**
|
|
220
|
+
* If set to true, each time an item is dragged over
|
|
221
|
+
*/
|
|
222
|
+
dropPreview: boolean;
|
|
223
|
+
/**
|
|
224
|
+
* If this function returns true, a preview of the dragged item will be displayed when it is over this location.
|
|
225
|
+
* @param _move The move that will be played if the item is dropped
|
|
226
|
+
* @param _context Context of the game
|
|
227
|
+
* @return true if a preview must be displayed
|
|
228
|
+
*/
|
|
229
|
+
showDropPreview(_move: MoveItem<P, M, L>, _context: MaterialContext<P, M, L>): boolean;
|
|
211
230
|
}
|
|
212
231
|
/**
|
|
213
232
|
* A record of item locators, to provide to the game context.
|
|
@@ -239,6 +258,12 @@ export type ItemContext<P extends number = number, M extends number = number, L
|
|
|
239
258
|
* @returns true if the context also hold information about a specific item in the game.
|
|
240
259
|
*/
|
|
241
260
|
export declare function isItemContext<P extends number = number, M extends number = number, L extends number = number>(context: MaterialContext<P, M, L>): context is ItemContext<P, M, L>;
|
|
261
|
+
/**
|
|
262
|
+
* Help function to get an item from an ItemContext
|
|
263
|
+
* @param context Context of the item
|
|
264
|
+
* @return The item
|
|
265
|
+
*/
|
|
266
|
+
export declare function getItemFromContext<Id = any, P extends number = number, M extends number = number, L extends number = number>(context: ItemContext<P, M, L>): MaterialItem<P, L, Id>;
|
|
242
267
|
/**
|
|
243
268
|
* Context of a location in a displayed game.
|
|
244
269
|
* @property canDrop Whether some item is currently being dragged, and can be dropped in the location.
|
package/dist/locators/Locator.js
CHANGED
|
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.isItemContext = exports.Locator = void 0;
|
|
17
|
+
exports.getItemFromContext = exports.isItemContext = exports.Locator = void 0;
|
|
18
18
|
/** @jsxImportSource @emotion/react */
|
|
19
19
|
var rules_api_1 = require("@gamepark/rules-api");
|
|
20
20
|
var sumBy_1 = __importDefault(require("lodash/sumBy"));
|
|
@@ -59,6 +59,10 @@ var Locator = /** @class */ (function () {
|
|
|
59
59
|
* How items in the same location area are sorted for the help dialog navigation arrows.
|
|
60
60
|
*/
|
|
61
61
|
this.navigationSorts = [function (item) { var _a; return (_a = item.location.x) !== null && _a !== void 0 ? _a : 0; }, function (item) { var _a; return (_a = item.location.y) !== null && _a !== void 0 ? _a : 0; }, function (item) { var _a; return (_a = item.location.z) !== null && _a !== void 0 ? _a : 0; }];
|
|
62
|
+
/**
|
|
63
|
+
* If set to true, each time an item is dragged over
|
|
64
|
+
*/
|
|
65
|
+
this.dropPreview = false;
|
|
62
66
|
Object.assign(this, clone);
|
|
63
67
|
}
|
|
64
68
|
/**
|
|
@@ -325,6 +329,25 @@ var Locator = /** @class */ (function () {
|
|
|
325
329
|
}
|
|
326
330
|
return this.getItemIndex(item, context) >= itemsNotMoving;
|
|
327
331
|
};
|
|
332
|
+
/**
|
|
333
|
+
* Given an item being dragged, and all the moves for this item going to this location type, this function must return the list of valid drop locations
|
|
334
|
+
* for the item
|
|
335
|
+
* @param moves Legal movements for the item
|
|
336
|
+
* @param _context Context of the item
|
|
337
|
+
* @return the drop locations to display
|
|
338
|
+
*/
|
|
339
|
+
Locator.prototype.getDropLocations = function (moves, _context) {
|
|
340
|
+
return moves.map(function (move) { return move.location; });
|
|
341
|
+
};
|
|
342
|
+
/**
|
|
343
|
+
* If this function returns true, a preview of the dragged item will be displayed when it is over this location.
|
|
344
|
+
* @param _move The move that will be played if the item is dropped
|
|
345
|
+
* @param _context Context of the game
|
|
346
|
+
* @return true if a preview must be displayed
|
|
347
|
+
*/
|
|
348
|
+
Locator.prototype.showDropPreview = function (_move, _context) {
|
|
349
|
+
return this.dropPreview;
|
|
350
|
+
};
|
|
328
351
|
return Locator;
|
|
329
352
|
}());
|
|
330
353
|
exports.Locator = Locator;
|
|
@@ -338,4 +361,13 @@ function isItemContext(context) {
|
|
|
338
361
|
return itemContext.type !== undefined && itemContext.index !== undefined && itemContext.displayIndex !== undefined;
|
|
339
362
|
}
|
|
340
363
|
exports.isItemContext = isItemContext;
|
|
364
|
+
/**
|
|
365
|
+
* Help function to get an item from an ItemContext
|
|
366
|
+
* @param context Context of the item
|
|
367
|
+
* @return The item
|
|
368
|
+
*/
|
|
369
|
+
function getItemFromContext(context) {
|
|
370
|
+
return context.rules.material(context.type).getItem(context.index);
|
|
371
|
+
}
|
|
372
|
+
exports.getItemFromContext = getItemFromContext;
|
|
341
373
|
//# sourceMappingURL=Locator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Locator.js","sourceRoot":"","sources":["../../src/locators/Locator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,iDAAgK;AAChK,uDAAgC;AAChC,4CAAmG;AAInG;;GAEG;AACH;IAEE;;;;OAIG;IACH,iBAAY,KAAwB;QAIpC;;;;WAIG;QACO,cAAS,GAAQ,EAAE,CAAA;QAY7B;;WAEG;QACH,iBAAY,GAAW,KAAK,CAAA;QAO5B;;WAEG;QACH,cAAS,GAAqB,EAAE,CAAA;QAgIhC;;WAEG;QACH,qBAAgB,GAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;QAelD;;WAEG;QACH,gBAAW,GAAyB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAuCxD;;WAEG;QACH,YAAO,GAAW,CAAC,CAAA;QAkEnB;;WAEG;QACH,oBAAe,GAAmB,CAAC,UAAC,IAAI,YAAK,OAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,mCAAI,CAAC,CAAA,EAAA,EAAE,UAAC,IAAI,YAAK,OAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,mCAAI,CAAC,CAAA,EAAA,EAAE,UAAC,IAAI,YAAK,OAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,mCAAI,CAAC,CAAA,EAAA,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Locator.js","sourceRoot":"","sources":["../../src/locators/Locator.ts"],"names":[],"mappings":"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"}
|
|
@@ -104,7 +104,7 @@ var PileLocator = /** @class */ (function (_super) {
|
|
|
104
104
|
PileLocator.prototype.generateLocationDescriptionFromDraggedItem = function (location, context) {
|
|
105
105
|
var _a;
|
|
106
106
|
var itemDescription = (_a = context.material[context.type]) !== null && _a !== void 0 ? _a : new components_1.CardDescription();
|
|
107
|
-
var item =
|
|
107
|
+
var item = (0, Locator_1.getItemFromContext)(context);
|
|
108
108
|
var _b = itemDescription.getSize(item.id), width = _b.width, height = _b.height;
|
|
109
109
|
if (this.getMaxAngle(location, context) < 180) {
|
|
110
110
|
return new components_1.DropAreaDescription(itemDescription);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PileLocator.js","sourceRoot":"","sources":["../../src/locators/PileLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,4CAAyF;AACzF,
|
|
1
|
+
{"version":3,"file":"PileLocator.js","sourceRoot":"","sources":["../../src/locators/PileLocator.ts"],"names":[],"mappings":"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"}
|
package/dist/locators/index.d.ts
CHANGED
package/dist/locators/index.js
CHANGED
|
@@ -18,6 +18,7 @@ __exportStar(require("./utils"), exports);
|
|
|
18
18
|
__exportStar(require("./DeckLocator"), exports);
|
|
19
19
|
__exportStar(require("./FlexLocator"), exports);
|
|
20
20
|
__exportStar(require("./HandLocator"), exports);
|
|
21
|
+
__exportStar(require("./HexagonalGridLocator"), exports);
|
|
21
22
|
__exportStar(require("./Locator"), exports);
|
|
22
23
|
__exportStar(require("./ListLocator"), exports);
|
|
23
24
|
__exportStar(require("./PileLocator"), exports);
|