feat: module selection

Co-authored-by: Copilot <[email protected]>
This commit is contained in:
TrèsAbhiandCopilot committed 2026-04-28 16:56:38 -05:00
1 parent 272824a72f
commit 4b7b8b3392
9 files changed
+109 -38

No files matched your search

@@ -1,4 +1,4 @@
import type { Tank } from "@blitzkit/closed/protos/blitzkit/tank";
import type { Tank } from "@protos/blitzkit/tank";
import {
ShellUpgradeSingleChange_AttributeName,
TankAttributeChange_AttributeName,
@@ -1,16 +1,26 @@
import type { TankCatalogComponent } from "@protos/blitz_static_tank_component";
import { TerrainHardness } from "./tankState";
import type { Tank } from "@protos/blitzkit/tank";
import { TerrainHardness, type TankState } from "./tankState";
export function createTankState({ tank, id }: Tank) {
const upgrades: Record<string, number> = {};
for (const upgradeLine of tank!.upgrade_lines) {
upgrades[upgradeLine.name] = upgradeLine.stages.length - 1;
}
export function createTankState(tank: TankCatalogComponent) {
return {
stage: tank.upgrade_stages.length,
id,
upgrades,
shell: 0,
isGunDamaged: false,
isHullTraversing: false,
isShooting: false,
isTurretTraversing: false,
speed: 0,
terrainHardness: TerrainHardness.Hard,
isShooting: false,
isGunDamaged: false,
isTurretTraversing: false,
isHullTraversing: false,
isCaughtOnFire: false,
};
} satisfies TankState;
}
@@ -5,13 +5,17 @@ export enum TerrainHardness {
}
export interface TankState {
stage: number;
id: string;
upgrades: Record<string, number>;
shell: number;
speed: number;
isHullTraversing: boolean;
isTurretTraversing: boolean;
terrainHardness: TerrainHardness;
isShooting: boolean;
isGunDamaged: boolean;
terrainHardness: TerrainHardness;
isTurretTraversing: boolean;
isHullTraversing: boolean;
isCaughtOnFire: boolean;
}