mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-21 18:50:55 +00:00
11791719e4
Co-authored-by: Evan <evanpelle@gmail.com>
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
// Either someone can straight up call player.buildUnit. It's simpler and immediate (no tick required)
|
|
// Either someone can straight up call player.buildUnit. It's simpler and immediate (no tick required)
|
|
// However buildUnit do not create executions (e.g.: WarshipExecution)
|
|
// If you also need execution use function below. Does not work with things not
|
|
|
|
import { ConstructionExecution } from "../../src/core/execution/ConstructionExecution";
|
|
import { Game, PlayerID, UnitType } from "../../src/core/game/Game";
|
|
|
|
// built via UI (e.g.: trade ships)
|
|
export function constructionExecution(
|
|
game: Game,
|
|
playerID: PlayerID,
|
|
x: number,
|
|
y: number,
|
|
unit: UnitType,
|
|
ticks = 4,
|
|
) {
|
|
game.addExecution(new ConstructionExecution(playerID, game.ref(x, y), unit));
|
|
|
|
// 4 ticks by default as it usually goes like this
|
|
// Init of construction execution
|
|
// Exec construction execution
|
|
// Tick of construction execution which adds the execution related to the building/unit
|
|
// First tick of the execution of the constructed building/unit
|
|
// (sometimes step 3 and 4 are merged in one)
|
|
|
|
for (let i = 0; i < ticks; i++) {
|
|
game.executeNextTick();
|
|
}
|
|
}
|