migrate from perforce

This commit is contained in:
2026-04-19 01:16:27 +02:00
commit d161a20915
1810 changed files with 1156171 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=ISimCommand.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"ISimCommand.js","sourceRoot":"","sources":["../../../src/Simulation/Commands/ISimCommand.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,27 @@
import { Hex } from "../../Util/index.js";
import { ECellType } from "../index.js";
export class SimCommandBlockTerrain {
_hex;
_simLevel;
constructor(level, hex) {
this._hex = hex;
this._simLevel = level;
}
execute() {
const simLevel = this._simLevel;
const cellIndex = simLevel.getCellIndex(this._hex);
const cell = simLevel.simCells[cellIndex];
if (cell.type != ECellType.Free || cell.simTower != null || !simLevel.reservePaths(this._hex)) {
return;
}
cell.type = ECellType.Blocked;
simLevel.updateBlockedType(cell);
for (let i = 0; i < 6; ++i) {
const neighbourHex = Hex.neighbour(cell.hex, i);
const neighbourIndex = simLevel.getCellIndex(neighbourHex);
simLevel.updateBlockedType(simLevel.simCells[neighbourIndex]);
}
simLevel.updatePaths();
}
}
//# sourceMappingURL=SimCommandBlockTerrain.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"SimCommandBlockTerrain.js","sourceRoot":"","sources":["../../../src/Simulation/Commands/SimCommandBlockTerrain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAyB,MAAM,aAAa,CAAC;AAE/D,MAAM,OAAO,sBAAsB;IACvB,IAAI,CAAM;IACV,SAAS,CAAW;IAE5B,YAAY,KAAe,EAAE,GAAQ;QACjC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEM,OAAO;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5F,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;QAC9B,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC3D,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;CACJ"}

View File

@@ -0,0 +1,42 @@
import { Hex } from "../../Util/index.js";
import { ECellType, SimTower } from "../index.js";
export class SimCommandCreateTower {
_hex;
_simLevel;
_index;
_gdRoot;
constructor(game, level, hex, index) {
this._gdRoot = game;
this._hex = hex;
this._simLevel = level;
this._index = index;
}
execute() {
const level = this._simLevel;
const cellIndex = level.getCellIndex(this._hex);
const cell = level.simCells[cellIndex];
const towerData = this._gdRoot.towers[this._index];
if (cell.type != ECellType.Free) {
return;
}
if (cell.simTower != null) {
return;
}
level.simEnemies.forEach((enemy) => {
const hex = Hex.fromWorld(enemy.position);
const enemyCellIndex = level.getCellIndex(hex);
if (cellIndex == enemyCellIndex) {
return;
}
});
if (level.currency < towerData.cost) {
return;
}
if (level.reservePaths(this._hex)) {
level.currency -= towerData.cost;
cell.simTower = new SimTower(this._gdRoot, level, this._index, this._hex);
level.updatePaths();
}
}
}
//# sourceMappingURL=SimCommandCreateTower.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"SimCommandCreateTower.js","sourceRoot":"","sources":["../../../src/Simulation/Commands/SimCommandCreateTower.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAmC,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEnF,MAAM,OAAO,qBAAqB;IACtB,IAAI,CAAM;IACV,SAAS,CAAW;IACpB,MAAM,CAAS;IACf,OAAO,CAAS;IAExB,YAAY,IAAY,EAAE,KAAe,EAAE,GAAQ,EAAE,KAAa;QAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,OAAO;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAe,EAAE,EAAE;YACzC,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,SAAS,IAAI,cAAc,EAAE,CAAC;gBAC9B,OAAO;YACX,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO;QACX,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1E,KAAK,CAAC,WAAW,EAAE,CAAC;QACxB,CAAC;IACL,CAAC;CACJ"}

View File

@@ -0,0 +1,21 @@
export class SimCommandStartNextWave {
_simLevel;
_gdRoot;
constructor(gdRoot, level) {
this._gdRoot = gdRoot;
this._simLevel = level;
}
execute() {
const level = this._simLevel;
const data = level.gdLevel;
level.currentWave += 1;
if (!data.waves[level.currentWave]) {
level.paused = true;
return;
}
level.nextWaveStep = level.currentStep + this._gdRoot.simulation.waveDuration * this._gdRoot.simulation.stepsPerSecond - 1;
level.lastEnemySpawnStep = level.currentStep;
level.enemiesLeftToSpawn = data.waves[level.currentWave].amount;
}
}
//# sourceMappingURL=SimCommandStartNextWave.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"SimCommandStartNextWave.js","sourceRoot":"","sources":["../../../src/Simulation/Commands/SimCommandStartNextWave.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,uBAAuB;IACxB,SAAS,CAAW;IACpB,OAAO,CAAS;IAExB,YAAY,MAAc,EAAE,KAAe;QACvC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,OAAO;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO;QACX,CAAC;QACD,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,GAAG,CAAC,CAAC;QAC3H,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC;QAC7C,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IACpE,CAAC;CACJ"}