migrate from perforce
This commit is contained in:
10
dist/Util/EDirection.js
vendored
Normal file
10
dist/Util/EDirection.js
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
export var EDirection;
|
||||
(function (EDirection) {
|
||||
EDirection[EDirection["Right"] = 0] = "Right";
|
||||
EDirection[EDirection["TopRight"] = 1] = "TopRight";
|
||||
EDirection[EDirection["TopLeft"] = 2] = "TopLeft";
|
||||
EDirection[EDirection["Left"] = 3] = "Left";
|
||||
EDirection[EDirection["BottomLeft"] = 4] = "BottomLeft";
|
||||
EDirection[EDirection["BottomRight"] = 5] = "BottomRight";
|
||||
})(EDirection || (EDirection = {}));
|
||||
//# sourceMappingURL=EDirection.js.map
|
||||
1
dist/Util/EDirection.js.map
vendored
Normal file
1
dist/Util/EDirection.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"EDirection.js","sourceRoot":"","sources":["../../src/Util/EDirection.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IAClB,6CAAS,CAAA;IACT,mDAAY,CAAA;IACZ,iDAAW,CAAA;IACX,2CAAQ,CAAA;IACR,uDAAc,CAAA;IACd,yDAAe,CAAA;AACnB,CAAC,EAPW,UAAU,KAAV,UAAU,QAOrB"}
|
||||
97
dist/Util/Hex.js
vendored
Normal file
97
dist/Util/Hex.js
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
import { Vector2 } from "./index.js";
|
||||
class Cube {
|
||||
x;
|
||||
y;
|
||||
z;
|
||||
constructor(x, y, z) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
}
|
||||
}
|
||||
export class Hex {
|
||||
col;
|
||||
row;
|
||||
constructor(x, y) {
|
||||
this.col = x;
|
||||
this.row = y;
|
||||
}
|
||||
static offsetDirections = [
|
||||
[
|
||||
new Hex(+1, 0),
|
||||
new Hex(0, -1),
|
||||
new Hex(-1, -1),
|
||||
new Hex(-1, 0),
|
||||
new Hex(-1, +1),
|
||||
new Hex(0, +1)
|
||||
],
|
||||
[
|
||||
new Hex(+1, 0),
|
||||
new Hex(+1, -1),
|
||||
new Hex(0, -1),
|
||||
new Hex(-1, 0),
|
||||
new Hex(0, +1),
|
||||
new Hex(+1, +1),
|
||||
new Hex(+1, +1)
|
||||
]
|
||||
];
|
||||
static neighbour = (hex, direction) => {
|
||||
const parity = hex.row & 1;
|
||||
const dir = Hex.offsetDirections[parity][direction];
|
||||
return new Hex(hex.col + dir.col, hex.row + dir.row);
|
||||
};
|
||||
static distance = (a, b) => {
|
||||
const ac = Hex.offsetToCube(a);
|
||||
const bc = Hex.offsetToCube(b);
|
||||
return Math.max(Math.abs(ac.x - bc.x), Math.abs(ac.y - bc.y), Math.abs(ac.z - bc.z));
|
||||
};
|
||||
static offsetToCube = (hex) => {
|
||||
const x = hex.col - (hex.row - (hex.row & 1)) / 2;
|
||||
const z = hex.row;
|
||||
const y = -x - z;
|
||||
return new Cube(x, y, z);
|
||||
};
|
||||
static toWorld = (hex) => {
|
||||
const x = Math.sqrt(3) * (hex.col + 0.5 * (hex.row & 1));
|
||||
const y = (3 / 2) * hex.row;
|
||||
return new Vector2(x, y);
|
||||
};
|
||||
toWorld() {
|
||||
return Hex.toWorld(this);
|
||||
}
|
||||
static fromWorld = (coord) => {
|
||||
const q = (coord.x * Math.sqrt(3)) / 3 - coord.y / 3;
|
||||
const r = (coord.y * 2) / 3;
|
||||
const cube = new Cube(q, -q - r, r);
|
||||
let rx = Math.round(cube.x);
|
||||
let ry = Math.round(cube.y);
|
||||
let rz = Math.round(cube.z);
|
||||
const xDiff = Math.abs(rx - cube.x);
|
||||
const yDiff = Math.abs(ry - cube.y);
|
||||
const zDiff = Math.abs(rz - cube.z);
|
||||
if (xDiff > yDiff && xDiff > zDiff) {
|
||||
rx = -ry - rz;
|
||||
}
|
||||
else if (yDiff > zDiff) {
|
||||
ry = -rx - rz;
|
||||
}
|
||||
else {
|
||||
rz = -rx - ry;
|
||||
}
|
||||
const rounded = new Cube(rx, ry, rz);
|
||||
const col = rounded.x + (rounded.z - (rounded.z & 1)) / 2;
|
||||
const row = rounded.z;
|
||||
return new Hex(col, row);
|
||||
};
|
||||
static toPixel = (hex, size) => {
|
||||
const w = Hex.toWorld(hex);
|
||||
return new Vector2(w.x * size, w.y * size);
|
||||
};
|
||||
toPixel(size) {
|
||||
return Hex.toPixel(this, size);
|
||||
}
|
||||
static fromPixel = (coord, size) => {
|
||||
return Hex.fromWorld(new Vector2(coord.x / size, coord.y / size));
|
||||
};
|
||||
}
|
||||
//# sourceMappingURL=Hex.js.map
|
||||
1
dist/Util/Hex.js.map
vendored
Normal file
1
dist/Util/Hex.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Hex.js","sourceRoot":"","sources":["../../src/Util/Hex.ts"],"names":[],"mappings":"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"}
|
||||
42
dist/Util/PathFinding.js
vendored
Normal file
42
dist/Util/PathFinding.js
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
import { ECellType } from "../Simulation/index.js";
|
||||
import { Hex } from "./index.js";
|
||||
export class PathFinding {
|
||||
static bfs(level, startIndex, endIndex) {
|
||||
const listToExplore = [startIndex];
|
||||
let cameFrom = new Array(level.simCells.length);
|
||||
cameFrom.fill(-1);
|
||||
while (listToExplore.length > 0) {
|
||||
const nodeIndex = listToExplore.shift();
|
||||
const cell = level.simCells[nodeIndex];
|
||||
for (let i = 0; i < 6; ++i) {
|
||||
const neighbourHex = Hex.neighbour(cell.hex, i);
|
||||
const neighbourIndex = level.getCellIndex(neighbourHex);
|
||||
if (neighbourIndex === -1) {
|
||||
continue;
|
||||
}
|
||||
const neighbourCell = level.simCells[neighbourIndex];
|
||||
if (neighbourCell.type === ECellType.Blocked || neighbourCell.type === ECellType.Reserved || neighbourCell.simTower !== null) {
|
||||
continue;
|
||||
}
|
||||
if (cameFrom[neighbourIndex] === -1) {
|
||||
cameFrom[neighbourIndex] = nodeIndex;
|
||||
if (neighbourIndex !== endIndex) {
|
||||
listToExplore.push(neighbourIndex);
|
||||
}
|
||||
else {
|
||||
let idx = neighbourIndex;
|
||||
const path = [idx];
|
||||
while (idx !== startIndex) {
|
||||
const prev = cameFrom[idx];
|
||||
idx = prev;
|
||||
path.unshift(idx);
|
||||
}
|
||||
return path;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=PathFinding.js.map
|
||||
1
dist/Util/PathFinding.js.map
vendored
Normal file
1
dist/Util/PathFinding.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"PathFinding.js","sourceRoot":"","sources":["../../src/Util/PathFinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,OAAgB,WAAW;IACtB,MAAM,CAAC,GAAG,CAAC,KAAe,EAAE,UAAkB,EAAE,QAAgB;QACnE,MAAM,aAAa,GAAa,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,QAAQ,GAAa,IAAI,KAAK,CAAS,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAElB,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,EAAG,CAAC;YACzC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACzB,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAChD,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;gBAExD,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;oBACxB,SAAS;gBACb,CAAC;gBAED,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACrD,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC3H,SAAS;gBACb,CAAC;gBAED,IAAI,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBAClC,QAAQ,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;oBAErC,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;wBAC9B,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACvC,CAAC;yBAAM,CAAC;wBACJ,IAAI,GAAG,GAAG,cAAc,CAAC;wBACzB,MAAM,IAAI,GAAa,CAAC,GAAG,CAAC,CAAC;wBAE7B,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;4BACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;4BAC3B,GAAG,GAAG,IAAI,CAAC;4BACX,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBACtB,CAAC;wBAED,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
|
||||
72
dist/Util/Vector2.js
vendored
Normal file
72
dist/Util/Vector2.js
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
export class Vector2 {
|
||||
x;
|
||||
y;
|
||||
constructor(x, y) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
static lerp(a, b, t) {
|
||||
return a.multiplyScalar(1 - t).add(b.multiplyScalar(t));
|
||||
}
|
||||
add(vector) {
|
||||
return new Vector2(this.x + vector.x, this.y + vector.y);
|
||||
}
|
||||
subtract(vector) {
|
||||
return new Vector2(this.x - vector.x, this.y - vector.y);
|
||||
}
|
||||
multiplyScalar(scalar) {
|
||||
return new Vector2(this.x * scalar, this.y * scalar);
|
||||
}
|
||||
dot(vector) {
|
||||
return this.x * vector.x + this.y * vector.y;
|
||||
}
|
||||
cross(vector) {
|
||||
return this.x * vector.y - this.y * vector.x;
|
||||
}
|
||||
magnitude() {
|
||||
return Math.sqrt(this.x * this.x + this.y * this.y);
|
||||
}
|
||||
normalized() {
|
||||
const magnitude = this.magnitude();
|
||||
if (magnitude === 0) {
|
||||
throw new Error("Cannot normalize a vector with magnitude 0");
|
||||
}
|
||||
return this.multiplyScalar(1 / magnitude);
|
||||
}
|
||||
distance(vector) {
|
||||
return Math.sqrt((this.x - vector.x) ** 2 + (this.y - vector.y) ** 2);
|
||||
}
|
||||
distanceSquared(vector) {
|
||||
return (this.x - vector.x) ** 2 + (this.y - vector.y) ** 2;
|
||||
}
|
||||
limit(max) {
|
||||
const magnitude = this.magnitude();
|
||||
if (magnitude > max) {
|
||||
return this.normalized().multiplyScalar(max);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
angle() {
|
||||
return Math.atan2(this.y, this.x);
|
||||
}
|
||||
angleBetween(vector) {
|
||||
const dotProd = this.dot(vector);
|
||||
const magnitudes = this.magnitude() * vector.magnitude();
|
||||
if (magnitudes === 0) {
|
||||
throw new Error("Cannot calculate angle with a zero-magnitude vector");
|
||||
}
|
||||
return Math.acos(dotProd / magnitudes);
|
||||
}
|
||||
clone() {
|
||||
return new Vector2(this.x, this.y);
|
||||
}
|
||||
equals(vector) {
|
||||
return this.x === vector.x && this.y === vector.y;
|
||||
}
|
||||
rotate(angle) {
|
||||
const cos = Math.cos(angle);
|
||||
const sin = Math.sin(angle);
|
||||
return new Vector2(this.x * cos - this.y * sin, this.x * sin + this.y * cos);
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=Vector2.js.map
|
||||
1
dist/Util/Vector2.js.map
vendored
Normal file
1
dist/Util/Vector2.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Vector2.js","sourceRoot":"","sources":["../../src/Util/Vector2.ts"],"names":[],"mappings":"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"}
|
||||
6
dist/Util/index.js
vendored
Normal file
6
dist/Util/index.js
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import { EDirection } from "./EDirection.js";
|
||||
import { Hex } from "./Hex.js";
|
||||
import { PathFinding } from "./PathFinding.js";
|
||||
import { Vector2 } from "./Vector2.js";
|
||||
export { EDirection, Hex, Vector2, PathFinding };
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
dist/Util/index.js.map
vendored
Normal file
1
dist/Util/index.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Util/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
||||
Reference in New Issue
Block a user