@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
44 lines • 1.29 kB
JavaScript
/**
* CommanderLevel - Represents a commander progression level
* Used for coop commander level-based unlock systems
*/
import { Child } from "./child.js";
/**
* CommanderLevel class for commander progression
* Each level can unlock units, buildings, and topbar abilities
*/
export class CommanderLevel extends Child {
constructor(levelData) {
super();
this.level = levelData.level;
this.name = `Level ${levelData.level}`;
this.description = levelData.description;
// Set parent ID if provided for proper hierarchical ID generation
if (levelData.parentId) {
this.parentId = levelData.parentId;
}
// Set UUID if provided for tracking
if (levelData.uuid) {
this.uuid = levelData.uuid;
}
// Set unlocks if provided
if (levelData.unlocks) {
this.unlocks = levelData.unlocks;
}
}
get slug() {
return `levels/${this.level}`;
}
get type() {
return "commander-level";
}
get subtype() {
return "level";
}
get shortName() {
return `L${this.level}`;
}
}
CommanderLevel.src = "src/engine/commander-level.ts";
export default CommanderLevel;
//# sourceMappingURL=commander-level.js.map