@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
48 lines • 1.45 kB
JavaScript
;
/**
* CommanderLevel - Represents a commander progression level
* Used for coop commander level-based unlock systems
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.CommanderLevel = void 0;
const child_js_1 = require("./child.cjs");
/**
* CommanderLevel class for commander progression
* Each level can unlock units, buildings, and topbar abilities
*/
class CommanderLevel extends child_js_1.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}`;
}
}
exports.CommanderLevel = CommanderLevel;
CommanderLevel.src = "src/engine/commander-level.ts";
exports.default = CommanderLevel;
//# sourceMappingURL=commander-level.js.map