squidGame/tgx-games-client/assets/module_arean/ui_settings/UISettings.ts

52 lines
2.0 KiB
TypeScript

import { Slider, UITransform, profiler } from "cc";
import { tgxAudioMgr, tgxUIController, tgx_class } from "../../core_tgx/tgx";
import { GameUILayers } from "../../scripts/GameUILayers";
import { UserLocalCache } from "../../module_basic/scripts/UserLocalCache";
import { Layout_UISettings } from "./Layout_UISettings";
import { ModuleDef } from "../../scripts/ModuleDef";
import { EMusicDefine } from "../../module_basic/scripts/MusicDefine";
@tgx_class(ModuleDef.Arean)
export class UISettings extends tgxUIController {
constructor() {
super("ui_settings/ui_settings", GameUILayers.POPUP, Layout_UISettings);
}
protected onCreated(): void {
let layout = this.layout as Layout_UISettings;
layout.sliderMusic.progress = UserLocalCache.inst.musicVolume;
layout.sliderSound.progress = UserLocalCache.inst.soundVolume;
layout.sliderDiMusic.getComponent(UITransform).width = layout.sliderMusic.progress / 1 * 290;
layout.sliderDiSound.getComponent(UITransform).width = layout.sliderSound.progress / 1 * 290;
this.onButtonEvent(layout.btnClose, () => {
tgxAudioMgr.inst.playCommonBtn(EMusicDefine.EFFECT_CLOSE);
this.close();
});
this.onSlideEvent(layout.sliderMusic, () => {
tgxAudioMgr.inst.musicVolume = UserLocalCache.inst.musicVolume = layout.sliderMusic.progress;
layout.sliderDiMusic.getComponent(UITransform).width = layout.sliderMusic.progress / 1 * 290;
});
this.onSlideEvent(layout.sliderSound, () => {
tgxAudioMgr.inst.soundVolume = UserLocalCache.inst.soundVolume = layout.sliderSound.progress;
layout.sliderDiSound.getComponent(UITransform).width = layout.sliderSound.progress / 1 * 290;
});
layout.chkFPS.isChecked = profiler.isShowingStats();
this.onToggleEvent(layout.chkFPS, () => {
if (layout.chkFPS.isChecked) {
profiler.showStats();
}
else {
profiler.hideStats();
}
});
}
}