Files
HexTowerDefense/dist/Simulation/Commands/SimCommandBlockTerrain.js
2026-04-19 01:16:27 +02:00

27 lines
970 B
JavaScript

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