@gamepark/rules-api 6.36.1 → 6.36.7
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/utils/adjacent-groups.util.js +16 -0
- package/dist/utils/adjacent-groups.util.js.map +1 -1
- package/dist/utils/grid.hex.util.d.ts +14 -0
- package/dist/utils/grid.hex.util.js +48 -1
- package/dist/utils/grid.hex.util.js.map +1 -1
- package/dist/utils/polyhex.util.d.ts +7 -0
- package/dist/utils/polyhex.util.js +22 -0
- package/dist/utils/polyhex.util.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,6 +19,22 @@ function getPreviousAdjacentCoordinates(_a, hexGridSystem) {
|
|
|
19
19
|
if (y > 0)
|
|
20
20
|
adjacentCoordinates.push({ x: x, y: y - 1 }, { x: x + 1, y: y - 1 });
|
|
21
21
|
return adjacentCoordinates;
|
|
22
|
+
case grid_hex_util_1.HexGridSystem.OddQ:
|
|
23
|
+
case grid_hex_util_1.HexGridSystem.EvenQ:
|
|
24
|
+
if (x > 0)
|
|
25
|
+
adjacentCoordinates.push({ x: x - 1, y: y });
|
|
26
|
+
if (y > 0) {
|
|
27
|
+
if (hexGridSystem === (x % 2 ? grid_hex_util_1.HexGridSystem.OddQ : grid_hex_util_1.HexGridSystem.EvenQ)) {
|
|
28
|
+
adjacentCoordinates.push({ x: x, y: y - 1 });
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
if (x > 0) {
|
|
32
|
+
adjacentCoordinates.push({ x: x - 1, y: y - 1 });
|
|
33
|
+
}
|
|
34
|
+
adjacentCoordinates.push({ x: x, y: y - 1 }, { x: x + 1, y: y - 1 });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return adjacentCoordinates;
|
|
22
38
|
default:
|
|
23
39
|
throw new Error('Not implemented');
|
|
24
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adjacent-groups.util.js","sourceRoot":"","sources":["../../src/utils/adjacent-groups.util.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAQ/C,SAAS,8BAA8B,CAAC,EAAuB,EAAE,aAA6B;QAApD,CAAC,OAAA,EAAE,CAAC,OAAA;IAC5C,IAAM,mBAAmB,GAAoB,EAAE,CAAA;IAC/C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC;YAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,GAAG,CAAC;YAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACpD,OAAO,mBAAmB,CAAA;IAC5B,CAAC;IACD,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,6BAAa,CAAC,KAAK;YACtB,IAAI,CAAC,GAAG,CAAC;gBAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,CAAA;YACpD,IAAI,CAAC,GAAG,CAAC;gBAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC5E,OAAO,mBAAmB,CAAA;QAC5B;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACtC,CAAC;AACH,CAAC;AAOD,SAAgB,oBAAoB,CAAa,GAAU,EAAE,OAAwC;;;IACnG,IAAM,OAAO,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,CAAC,UAAC,KAAQ,IAAK,OAAA,CAAC,KAAK,EAAN,CAAM,CAAC,CAAA;IAC1D,IAAM,MAAM,GAAyB,EAAE,CAAA;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACvB,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;YAChD,CAAC;iBAAM,CAAC;gBACN,IAAM,2BAA2B,GAAG,8BAA8B,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,CAAA;gBACpG,IAAM,cAAc,GAAuB,EAAE,CAAA;gBAC7C,KAAuB,UAA2B,EAA3B,2DAA2B,EAA3B,yCAA2B,EAA3B,IAA2B,EAAE,CAAC;oBAA1C,IAAA,sCAAQ,EAAN,GAAC,OAAA,EAAE,GAAC,OAAA;oBACf,IAAI,CAAA,MAAA,MAAA,MAAM,CAAC,GAAC,CAAC,0CAAG,GAAC,CAAC,0CAAE,MAAM,CAAC,MAAM,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC,EAAE,CAAC;wBAC5E,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAA;oBACnC,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;oBAC3B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC,EAAE,CAAA;gBAC7D,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;oBAChC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBAC/B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC,CAAA;oBACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C,CAAA,KAAA,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA,CAAC,IAAI,WAAI,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,EAAC;wBAC1D,KAAuB,UAA6B,EAA7B,KAAA,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,EAA7B,cAA6B,EAA7B,IAA6B,EAAE,CAAC;4BAA5C,IAAA,WAAQ,EAAN,GAAC,OAAA,EAAE,GAAC,OAAA;4BACf,MAAM,CAAC,GAAC,CAAC,CAAC,GAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;wBAClC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAlCD,oDAkCC"}
|
|
1
|
+
{"version":3,"file":"adjacent-groups.util.js","sourceRoot":"","sources":["../../src/utils/adjacent-groups.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,6 +97,14 @@ export declare function hexRotate(vector: XYCoordinates, rotation?: number, syst
|
|
|
97
97
|
* @return the distance between the hexagons
|
|
98
98
|
*/
|
|
99
99
|
export declare function getDistanceBetweenHex(hex1: XYCoordinates, hex2: XYCoordinates, system?: HexGridSystem): number;
|
|
100
|
+
/**
|
|
101
|
+
* Get all the hexagons that are exactly at a specific distance from a given hexagon.
|
|
102
|
+
* @param hex Coordinates of the hexagon
|
|
103
|
+
* @param distance Distance of the hexagons we want
|
|
104
|
+
* @param system The coordinates system used
|
|
105
|
+
* @return the list of the hexagons found at distance from given hex
|
|
106
|
+
*/
|
|
107
|
+
export declare function getHexagonsAtDistance(hex: XYCoordinates, distance: number, system?: HexGridSystem): XYCoordinates[];
|
|
100
108
|
/**
|
|
101
109
|
* Translate hexagonal coordinates by a vector.
|
|
102
110
|
* @param hex Coordinates of the hexagon to translate
|
|
@@ -113,3 +121,9 @@ export declare function hexTranslate(hex: XYCoordinates, vector: XYCoordinates,
|
|
|
113
121
|
* @return coordinates in the grid covered when the polyhex has this location
|
|
114
122
|
*/
|
|
115
123
|
export declare function getPolyhexSpaces(polyhex: XYCoordinates[], location: Partial<Location>, system?: HexGridSystem): XYCoordinates[];
|
|
124
|
+
/**
|
|
125
|
+
* Get the coordinates of the 6 hexagons adjacent to a given hexagon.
|
|
126
|
+
* @param hex Coordinates of the hexagon
|
|
127
|
+
* @param system Coordinates system
|
|
128
|
+
*/
|
|
129
|
+
export declare function getAdjacentHexagons(hex: XYCoordinates, system?: HexGridSystem): XYCoordinates[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPolyhexSpaces = exports.hexTranslate = exports.getDistanceBetweenHex = exports.hexRotate = exports.hexFromAxial = exports.hexToAxial = exports.axialToEvenR = exports.evenRToAxial = exports.axialToOddR = exports.oddRToAxial = exports.axialToEvenQ = exports.evenQToAxial = exports.axialToOddQ = exports.oddQToAxial = exports.HexGridSystem = void 0;
|
|
3
|
+
exports.getAdjacentHexagons = exports.getPolyhexSpaces = exports.hexTranslate = exports.getHexagonsAtDistance = exports.getDistanceBetweenHex = exports.hexRotate = exports.hexFromAxial = exports.hexToAxial = exports.axialToEvenR = exports.evenRToAxial = exports.axialToOddR = exports.oddRToAxial = exports.axialToEvenQ = exports.evenQToAxial = exports.axialToOddQ = exports.oddQToAxial = exports.HexGridSystem = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* The different coordinates systems available to describe a Hexagonal Grid.
|
|
6
6
|
* See https://www.redblobgames.com/grids/hexagons/#coordinates
|
|
@@ -164,6 +164,33 @@ function getDistanceBetweenHex(hex1, hex2, system) {
|
|
|
164
164
|
return (Math.abs(hex1.x - hex2.x) + Math.abs(hex1.x - hex2.x + hex1.y - hex2.y) + Math.abs(hex1.y - hex2.y)) / 2;
|
|
165
165
|
}
|
|
166
166
|
exports.getDistanceBetweenHex = getDistanceBetweenHex;
|
|
167
|
+
/**
|
|
168
|
+
* Get all the hexagons that are exactly at a specific distance from a given hexagon.
|
|
169
|
+
* @param hex Coordinates of the hexagon
|
|
170
|
+
* @param distance Distance of the hexagons we want
|
|
171
|
+
* @param system The coordinates system used
|
|
172
|
+
* @return the list of the hexagons found at distance from given hex
|
|
173
|
+
*/
|
|
174
|
+
function getHexagonsAtDistance(hex, distance, system) {
|
|
175
|
+
if (system === void 0) { system = HexGridSystem.Axial; }
|
|
176
|
+
if (system !== HexGridSystem.Axial) {
|
|
177
|
+
return getHexagonsAtDistance(hexToAxial(hex, system), distance, HexGridSystem.Axial).map(function (hex) { return hexFromAxial(hex, system); });
|
|
178
|
+
}
|
|
179
|
+
if (distance <= 0)
|
|
180
|
+
return [hex];
|
|
181
|
+
var result = [];
|
|
182
|
+
var currentHex = { x: hex.x - distance, y: hex.y };
|
|
183
|
+
var vectors = [{ x: 1, y: -1 }, { x: 1, y: 0 }, { x: 0, y: 1 }, { x: -1, y: 1 }, { x: -1, y: 0 }, { x: 0, y: -1 }];
|
|
184
|
+
for (var _i = 0, vectors_1 = vectors; _i < vectors_1.length; _i++) {
|
|
185
|
+
var vector = vectors_1[_i];
|
|
186
|
+
for (var j = 0; j < distance; j++) {
|
|
187
|
+
result.push(currentHex);
|
|
188
|
+
currentHex = hexTranslate(currentHex, vector);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return result;
|
|
192
|
+
}
|
|
193
|
+
exports.getHexagonsAtDistance = getHexagonsAtDistance;
|
|
167
194
|
/**
|
|
168
195
|
* Translate hexagonal coordinates by a vector.
|
|
169
196
|
* @param hex Coordinates of the hexagon to translate
|
|
@@ -194,4 +221,24 @@ function getPolyhexSpaces(polyhex, location, system) {
|
|
|
194
221
|
.map(function (hex) { return hexTranslate(hex, vector, system); });
|
|
195
222
|
}
|
|
196
223
|
exports.getPolyhexSpaces = getPolyhexSpaces;
|
|
224
|
+
/**
|
|
225
|
+
* Get the coordinates of the 6 hexagons adjacent to a given hexagon.
|
|
226
|
+
* @param hex Coordinates of the hexagon
|
|
227
|
+
* @param system Coordinates system
|
|
228
|
+
*/
|
|
229
|
+
function getAdjacentHexagons(hex, system) {
|
|
230
|
+
if (system === void 0) { system = HexGridSystem.Axial; }
|
|
231
|
+
if (system !== HexGridSystem.Axial) {
|
|
232
|
+
return getAdjacentHexagons(hexToAxial(hex, system)).map((function (hex) { return hexFromAxial(hex, system); }));
|
|
233
|
+
}
|
|
234
|
+
return [
|
|
235
|
+
{ x: hex.x + 1, y: hex.y },
|
|
236
|
+
{ x: hex.x, y: hex.y + 1 },
|
|
237
|
+
{ x: hex.x - 1, y: hex.y + 1 },
|
|
238
|
+
{ x: hex.x - 1, y: hex.y },
|
|
239
|
+
{ x: hex.x, y: hex.y - 1 },
|
|
240
|
+
{ x: hex.x + 1, y: hex.y - 1 }
|
|
241
|
+
];
|
|
242
|
+
}
|
|
243
|
+
exports.getAdjacentHexagons = getAdjacentHexagons;
|
|
197
244
|
//# sourceMappingURL=grid.hex.util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.hex.util.js","sourceRoot":"","sources":["../../src/utils/grid.hex.util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"grid.hex.util.js","sourceRoot":"","sources":["../../src/utils/grid.hex.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,4 +48,11 @@ export declare class Polyhex<T = any> implements PolyhexConfig<T> {
|
|
|
48
48
|
y?: number;
|
|
49
49
|
rotation?: number;
|
|
50
50
|
}, onOverlap?: (x: number, y: number) => void): void;
|
|
51
|
+
/**
|
|
52
|
+
* Get the minimum distance from given hexagon to a hexagon of the polyhex that matches given predicate
|
|
53
|
+
* @param hex Starting hexagon
|
|
54
|
+
* @param predicate The predicate to match (not empty by default)
|
|
55
|
+
* @returns the minimum distance found
|
|
56
|
+
*/
|
|
57
|
+
getDistance(hex: XYCoordinates, predicate?: (value: T | undefined) => boolean): number;
|
|
51
58
|
}
|
|
@@ -74,6 +74,28 @@ var Polyhex = /** @class */ (function () {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
};
|
|
77
|
+
/**
|
|
78
|
+
* Get the minimum distance from given hexagon to a hexagon of the polyhex that matches given predicate
|
|
79
|
+
* @param hex Starting hexagon
|
|
80
|
+
* @param predicate The predicate to match (not empty by default)
|
|
81
|
+
* @returns the minimum distance found
|
|
82
|
+
*/
|
|
83
|
+
Polyhex.prototype.getDistance = function (hex, predicate) {
|
|
84
|
+
var _this = this;
|
|
85
|
+
if (predicate === void 0) { predicate = function (value) { return !_this.isEmpty(value); }; }
|
|
86
|
+
var distance = 0;
|
|
87
|
+
var maxDistance = this.xMax + this.yMax - this.xMin - this.yMin;
|
|
88
|
+
while (distance < maxDistance) {
|
|
89
|
+
var hexagonsAtDistance = (0, grid_hex_util_1.getHexagonsAtDistance)(hex, distance, this.system);
|
|
90
|
+
if (hexagonsAtDistance.some(function (hex) { return predicate(_this.getValue(hex)); })) {
|
|
91
|
+
return distance;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
distance++;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return Infinity;
|
|
98
|
+
};
|
|
77
99
|
return Polyhex;
|
|
78
100
|
}());
|
|
79
101
|
exports.Polyhex = Polyhex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polyhex.util.js","sourceRoot":"","sources":["../../src/utils/polyhex.util.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"polyhex.util.js","sourceRoot":"","sources":["../../src/utils/polyhex.util.ts"],"names":[],"mappings":"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"}
|