Modal windows

This commit is contained in:
Martin
2022-12-21 14:08:49 +01:00
parent b4abb4df21
commit f3eb520300
25 changed files with 5287 additions and 263 deletions

View File

@@ -0,0 +1,12 @@
{
"ver": "1.1.0",
"importer": "directory",
"imported": true,
"uuid": "fcf86181-bba6-488b-b46a-4fbc6c162992",
"files": [],
"subMetas": {},
"userData": {
"compressionType": {},
"isRemoteBundle": {}
}
}

View File

@@ -0,0 +1,40 @@
import { Slider, _decorator } from "cc";
import { AppRoot } from "../../../AppRoot/AppRoot";
import { ModalWindow } from "../../../Services/ModalWindowSystem/ModalWindow";
import { UIButton } from "../../../Services/UI/Button/UIButton";
import { Empty } from "../Upgrades/UpgradesModalWindow";
const { ccclass, property } = _decorator;
@ccclass("AudioSettingsModalWindow")
export class AudioSettingsModalWindow extends ModalWindow<Empty, Empty> {
@property(Slider) private soundVolumeSlider: Slider;
@property(Slider) private musicVolumeSlider: Slider;
@property(UIButton) private okButton: UIButton;
protected setup(): void {
this.soundVolumeSlider.progress = AppRoot.Instance.AudioPlayer.SoundVolume;
this.musicVolumeSlider.progress = AppRoot.Instance.AudioPlayer.MusicVolume;
this.soundVolumeSlider.node.on("slide", this.updateSoundVolume, this);
this.musicVolumeSlider.node.on("slide", this.updateMusicVolume, this);
this.okButton.InteractedEvent.on(this.dismiss, this);
}
private updateSoundVolume(): void {
AppRoot.Instance.AudioPlayer.setSoundVolume(this.soundVolumeSlider.progress);
}
private updateMusicVolume(): void {
AppRoot.Instance.AudioPlayer.setMusicVolume(this.musicVolumeSlider.progress);
}
protected dismiss(result?: Empty): void {
super.dismiss(result);
const userData = AppRoot.Instance.LiveUserData;
userData.musicVolume = this.musicVolumeSlider.progress;
userData.soundVolume = this.soundVolumeSlider.progress;
AppRoot.Instance.saveUserData();
}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "0c052d4f-c82c-4aff-a5ed-a7317f69c9ef",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -7,4 +7,8 @@ export class MenuModalLauncher {
public async openUpgradesWindow(): Promise<void> {
await this.modalWindowManager.showModal(MenuModalWindowTypes.Upgrades, {});
}
public async openAudioSettingsWindow(): Promise<void> {
await this.modalWindowManager.showModal(MenuModalWindowTypes.AudioSettings, {});
}
}

View File

@@ -1,3 +1,4 @@
export enum MenuModalWindowTypes {
Upgrades = "UpgradesModalWindow"
Upgrades = "UpgradesModalWindow",
AudioSettings = "AudioSettingsModalWindow"
}

View File

@@ -22,7 +22,7 @@ export class UpgradesModalWindow extends ModalWindow<Empty, Empty> {
private userData: UserData;
public setup(): void {
this.userData = AppRoot.Instance.SaveSystem.load();
this.userData = AppRoot.Instance.LiveUserData;
const settings = AppRoot.Instance.Settings.metaUpgrades;
this.createUpgradeButton(MetaUpgradeType.Health, settings.health, "healthLevel");
@@ -67,7 +67,7 @@ export class UpgradesModalWindow extends ModalWindow<Empty, Empty> {
this.typeToUpgradeUI.get(upgradeType).updateLevel(level);
this.goldCoinsLabel.string = this.userData.game.goldCoins.toString();
AppRoot.Instance.SaveSystem.save(this.userData);
AppRoot.Instance.saveUserData;
}
}