mirror of
https://github.com/MartinKral/Slash-The-Hordes
synced 2025-10-10 00:56:06 +00:00
Modal windows
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
import { MenuModalWindowTypes } from "../../Menu/ModalWindows/MenuModalWindowTypes";
|
||||
import { Empty } from "../../Menu/ModalWindows/Upgrades/UpgradesModalWindow";
|
||||
import { ModalWindowManager } from "../../Services/ModalWindowSystem/ModalWindowManager";
|
||||
import { TranslationData } from "../Data/TranslationData";
|
||||
import { Game } from "../Game";
|
||||
import { Pauser } from "../Pauser";
|
||||
import { LevelUpModalWindowParams } from "../UI/LevelUpWindow/LevelUpModalWindow";
|
||||
import { Player } from "../Unit/Player/Player";
|
||||
@@ -27,4 +30,15 @@ export class GameModalLauncher {
|
||||
this.gamePauser.resume();
|
||||
this.upgrader.upgradeSkill(skillToUpgrade);
|
||||
}
|
||||
|
||||
public async showPauseModal(): Promise<void> {
|
||||
this.gamePauser.pause();
|
||||
const shouldExit = await this.modalWindowManager.showModal<ModalWindowManager, boolean>(GameModalWindowTypes.Pause, this.modalWindowManager);
|
||||
|
||||
if (shouldExit) {
|
||||
Game.Instance.exitGame();
|
||||
} else {
|
||||
this.gamePauser.resume();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,3 +1,4 @@
|
||||
export enum GameModalWindowTypes {
|
||||
LevelUp = "LevelUpModalWindow"
|
||||
LevelUp = "LevelUpModalWindow",
|
||||
Pause = "PauseModalWindow"
|
||||
}
|
||||
|
36
assets/Scripts/Game/ModalWIndows/PauseModalWindow.ts
Normal file
36
assets/Scripts/Game/ModalWIndows/PauseModalWindow.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { _decorator } from "cc";
|
||||
import { MenuModalWindowTypes } from "../../Menu/ModalWindows/MenuModalWindowTypes";
|
||||
import { ModalWindow } from "../../Services/ModalWindowSystem/ModalWindow";
|
||||
import { ModalWindowManager } from "../../Services/ModalWindowSystem/ModalWindowManager";
|
||||
import { UIButton } from "../../Services/UI/Button/UIButton";
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass("PauseModalWindow")
|
||||
export class PauseModalWindow extends ModalWindow<ModalWindowManager, boolean> {
|
||||
@property(UIButton) private continueBtn: UIButton;
|
||||
@property(UIButton) private audioSettingsButton: UIButton;
|
||||
@property(UIButton) private exitBtn: UIButton;
|
||||
|
||||
private modalWindowManager: ModalWindowManager;
|
||||
|
||||
protected setup(modalWindowManager: ModalWindowManager): void {
|
||||
this.modalWindowManager = modalWindowManager;
|
||||
|
||||
this.continueBtn.InteractedEvent.on(this.continueGame, this);
|
||||
this.audioSettingsButton.InteractedEvent.on(this.openSettingsWindow, this);
|
||||
this.exitBtn.InteractedEvent.on(this.exitGame, this);
|
||||
}
|
||||
|
||||
private openSettingsWindow(): void {
|
||||
this.modalWindowManager.showModal(MenuModalWindowTypes.AudioSettings, {});
|
||||
}
|
||||
|
||||
private continueGame(): void {
|
||||
this.dismiss(false);
|
||||
}
|
||||
|
||||
private exitGame(): void {
|
||||
this.dismiss(true);
|
||||
}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "7951e831-768d-4cc1-910f-d93b9038b3aa",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
Reference in New Issue
Block a user