import { _decorator, Button, Component, director, Node, Sprite } from 'cc'; import { Layout_Settings } from './Layout_Settings'; import { ani_ui, UI_Main } from '../UI_Main/UI_Main'; import { UI_Hall } from '../UI_Hall/UI_Hall'; import { ch } from '../../../ch/ch'; import { GameUILayers, gui } from '../../../core/ui/ui'; import ui_base from '../../../core/ui/ui_base'; import { ResUtil } from '../../../core/util/ResUtil'; import { ModuleDef } from '../../../Scripts/ModuleDef'; import { SceneDef } from '../../../Scripts/SceneDef'; import { Layout_Main } from '../UI_Main/Layout_Main'; import { UI_Tips } from '../UI_Tips/UI_Tips'; import ch_audio from '../../../ch/audio/audio'; import { Hall } from '../../hall/Hall'; const { ccclass, property } = _decorator; @ccclass('UI_Settings') export class UI_Settings extends ui_base { constructor() { super(ModuleDef.GAME, 'ui/UI_Settings/Settings', GameUILayers.HUD, Layout_Settings); } protected async onCreated() { const layout = this.getLayout(); if (director.getScene().name == 'hall') { layout.Defeat_Btn.node.active = false; layout.Replay_Btn.node.active = false; layout.Question_Btn.node.active =ch.sdk.createFeedbackButton(ch.util.getBtnOp(layout.Question_Btn.node)); } else if (director.getScene().name == 'game') { layout.Defeat_Btn.node.active = true; layout.Question_Btn.node.active = false; if(Hall.getInstance().player.get_life()>=1){ layout.Replay_Btn.node.active = true; layout.Replay_Btn.interactable = true; layout.Replay_Btn.node.getComponent(Sprite).grayscale = false; }else{ layout.Replay_Btn.interactable = false; layout.Replay_Btn.node.getComponent(Sprite).grayscale = true; } } ani_ui(layout.Close_Btn.node.parent); this.onButtonEvent(layout.Close_Btn, async (button: any) => { ch_audio.getInstance().playOneShot('sound/click_Btn'); ch.sdk.destoryFeedbackButton(); //关闭设置界面 gui.close(UI_Settings); if (director.getScene().name == 'game') { gui.get(UI_Main).evt.emit(gui.get(UI_Main).evt.key.resume); } }, this); layout.Toggle_Music.isChecked = ch.audio.volumeMusic != 0; layout.Toggle_Sound.isChecked = ch.audio.switchEffect; this.onToggleEvent(layout.Toggle_Music, async (toggle: any) => { ch.audio.volumeMusic = toggle.isChecked?1:0; ch.audio.save(); // button_sound(); }, this); this.onToggleEvent(layout.Toggle_Sound, async (toggle: any) => { ch.audio.switchEffect = toggle.isChecked; ch.audio.save(); // button_sound(); }, this); this.onButtonEvent(layout.Defeat_Btn, async (button: any) => { ch_audio.getInstance().playOneShot('sound/click_Btn'); await gui.show(UI_Tips); gui.get(UI_Tips).init(true); }, this); this.onButtonEvent(layout.Replay_Btn, async (button: any) => { ch_audio.getInstance().playOneShot('sound/click_Btn'); await gui.show(UI_Tips); gui.get(UI_Tips).init(false); }, this); } }