Pauser, game modal launcher

This commit is contained in:
Martin
2022-11-25 12:00:09 +01:00
parent 43953f18a9
commit 4ca44647d6
18 changed files with 163 additions and 58 deletions

View File

@@ -0,0 +1,27 @@
import { ModalWindowManager } from "../../Services/ModalWindowSystem/ModalWindowManager";
import { Pauser } from "../Pauser";
import { Player } from "../Player/Player";
import { Upgrader } from "../Upgrades/Upgrader";
import { UpgradeType } from "../Upgrades/UpgradeType";
import { GameModalWindowTypes } from "./GameModalWindowTypes";
export class GameModalLauncher {
public constructor(
private modalWindowManager: ModalWindowManager,
private player: Player,
private gamePauser: Pauser,
private upgrader: Upgrader
) {
this.player.Level.LevelUpEvent.on(this.showLevelUpModal, this);
}
private async showLevelUpModal(): Promise<void> {
this.gamePauser.pause();
const skillToUpgrade: UpgradeType = await this.modalWindowManager.showModal<UpgradeType[], UpgradeType>(
GameModalWindowTypes.LevelUpModal,
Array.from(this.upgrader.getAvailableUpgrades())
);
this.gamePauser.resume();
this.upgrader.upgradeSkill(skillToUpgrade);
}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "19da79a2-30b2-4d73-83fb-b3ef17bde4d7",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -0,0 +1,3 @@
export enum GameModalWindowTypes {
LevelUpModal = "LevelUpModalWindow"
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "72fb4349-7b73-41e1-ad7a-4d50abcfc1fa",
"files": [],
"subMetas": {},
"userData": {}
}