@gamepark/rules-api 6.36.2 → 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.
|
@@ -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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getAdjacentHexagons = 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
|
|
@@ -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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"}
|