Chest modal

This commit is contained in:
Martin
2023-01-02 08:57:59 +01:00
parent 756e9db049
commit bbae1a3145
12 changed files with 1714 additions and 14 deletions

View File

@@ -0,0 +1,21 @@
import { randomRangeInt, _decorator } from "cc";
import { ModalWindow } from "../../Services/ModalWindowSystem/ModalWindow";
import { UIButton } from "../../Services/UI/Button/UIButton";
import { LevelUpModalWindowParams } from "../UI/LevelUpWindow/LevelUpModalWindow";
import { LevelUpSkill } from "../UI/LevelUpWindow/LevelUpSkill";
import { UpgradeType } from "../Upgrades/UpgradeType";
const { ccclass, property } = _decorator;
@ccclass("ChestModalWindow")
export class ChestModalWindow extends ModalWindow<LevelUpModalWindowParams, UpgradeType> {
@property(LevelUpSkill) private levelUpSkill: LevelUpSkill;
@property(UIButton) private okButton: UIButton;
protected setup(params: LevelUpModalWindowParams): void {
const randomIndex = randomRangeInt(0, params.availableUpgrades.length - 1);
const skillToUpgrade = params.availableUpgrades[randomIndex];
this.levelUpSkill.init(skillToUpgrade, params.translationData);
this.okButton.InteractedEvent.on(() => this.dismiss(skillToUpgrade), this);
}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "422c8f7d-cc38-4c6a-9c61-420c291a610b",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -27,8 +27,18 @@ export class GameModalLauncher {
GameModalWindowTypes.LevelUp,
{ availableUpgrades: Array.from(this.upgrader.getAvailableUpgrades()), translationData: this.translationData }
);
this.gamePauser.resume();
this.upgrader.upgradeSkill(skillToUpgrade);
this.gamePauser.resume();
}
public async showChestModal(): Promise<void> {
this.gamePauser.pause();
const skillToUpgrade: UpgradeType = await this.modalWindowManager.showModal<LevelUpModalWindowParams, UpgradeType>(
GameModalWindowTypes.Chest,
{ availableUpgrades: Array.from(this.upgrader.getAvailableUpgrades()), translationData: this.translationData }
);
this.upgrader.upgradeSkill(skillToUpgrade);
this.gamePauser.resume();
}
public async showPauseModal(): Promise<void> {

View File

@@ -1,4 +1,5 @@
export enum GameModalWindowTypes {
LevelUp = "LevelUpModalWindow",
Chest = "ChestModalWindow",
Pause = "PauseModalWindow"
}