using UnityEngine; using UnityEngine.UI; using QFramework; using UnityEngine.EventSystems; namespace QFramework.Example { public class UISettingData : UIPanelData { } public partial class UISetting : UIPanel { protected override void OnInit(IUIData uiData = null) { mData = uiData as UISettingData ?? new UISettingData(); AudioKit.Settings.MusicVolume.RegisterWithInitValue(v => VoiceSlider.value = v).UnRegisterWhenGameObjectDestroyed(this); AudioKit.Settings.VoiceVolume.RegisterWithInitValue(v => VoiceSlider.value = v).UnRegisterWhenGameObjectDestroyed(this); VoiceSlider.onValueChanged.AddListener(volume => { AudioKit.Settings.MusicVolume.Value = volume; AudioKit.Settings.VoiceVolume.Value = volume; }); Global.appSetting.MouseMoveSpeed.RegisterWithInitValue(v => MouseSlider.value = v).UnRegisterWhenGameObjectDestroyed(this); MouseSlider.onValueChanged.AddListener(speed => { Global.appSetting.MouseMoveSpeed.Value = speed; }); VoiceAdd.onClick.AddListener(() => OnVolumeChange(0.1f)); VoiceSub.onClick.AddListener(() => OnVolumeChange(-0.1f)); MouseAdd.onClick.AddListener(() => OnMouseSpeedChange(0.01f)); MouseSub.onClick.AddListener(() => OnMouseSpeedChange(-0.01f)); ConfirmBtn.onClick.AddListener(Hide); } public void OnMouseSpeedChange(float value) { if (Global.appSetting.MouseMoveSpeed.Value > 0.01f && Global.appSetting.MouseMoveSpeed.Value < 0.1f) { Global.appSetting.MouseMoveSpeed.Value += value; } } public void OnVolumeChange(float value) { if (AudioKit.Settings.MusicVolume.Value > 0.1f && AudioKit.Settings.MusicVolume.Value < 1f) { AudioKit.Settings.MusicVolume.Value += value; } if (AudioKit.Settings.VoiceVolume.Value > 0.1f && AudioKit.Settings.VoiceVolume.Value < 1f) { AudioKit.Settings.VoiceVolume.Value += value; } } protected override void OnOpen(IUIData uiData = null) { } protected override void OnShow() { } protected override void OnHide() { } protected override void OnClose() { } } }