mirror of
https://github.com/MartinKral/Slash-The-Hordes
synced 2025-10-09 08:36:14 +00:00
Pauser, game modal launcher
This commit is contained in:
@@ -16,9 +16,22 @@ export class Upgrader {
|
||||
|
||||
public upgradeSkill(type: UpgradeType): void {
|
||||
if (!this.typeToAction.has(type)) throw new Error("Upgrade does not have " + type);
|
||||
if (this.isMaxLevel(type)) throw new Error("Upgrade is already at max level" + type);
|
||||
|
||||
this.typeToAction.get(type)();
|
||||
}
|
||||
|
||||
public getAvailableUpgrades(): Set<UpgradeType> {
|
||||
const availableUpgrades: Set<UpgradeType> = new Set<UpgradeType>();
|
||||
for (const key of this.typeToAction.keys()) {
|
||||
if (!this.isMaxLevel(key)) {
|
||||
availableUpgrades.add(key);
|
||||
}
|
||||
}
|
||||
|
||||
return availableUpgrades;
|
||||
}
|
||||
|
||||
private setTypeMaps(upgradeType: UpgradeType, action: () => void, maxLevel: number): void {
|
||||
this.typeToAction.set(upgradeType, action);
|
||||
this.typeToLevel.set(upgradeType, 0);
|
||||
@@ -32,4 +45,8 @@ export class Upgrader {
|
||||
private upgradeWeaponDamage(): void {
|
||||
this.player.Weapon.upgradeWeaponDamage();
|
||||
}
|
||||
|
||||
private isMaxLevel(type: UpgradeType): boolean {
|
||||
return this.typeToMaxLevel.get(type) <= this.typeToLevel.get(type);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user