From 1ffebec3376d225a8b791f27594e51d3237f9b85 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 04 二月 2026 14:59:26 +0800
Subject: [PATCH] 125 战斗相关开关设置
---
Main/System/PlayerProfile/SystemSetWin.cs | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 150 insertions(+), 0 deletions(-)
diff --git a/Main/System/PlayerProfile/SystemSetWin.cs b/Main/System/PlayerProfile/SystemSetWin.cs
index 6483c05..504756e 100644
--- a/Main/System/PlayerProfile/SystemSetWin.cs
+++ b/Main/System/PlayerProfile/SystemSetWin.cs
@@ -6,6 +6,29 @@
[SerializeField] Slider musicSlider;
[SerializeField] Slider soundEffectSlider;
+ // 闈欓煶闊充箰
+ [SerializeField] Toggle muteMusic;
+
+ // 闈欓煶闊虫晥
+ [SerializeField] Toggle muteSoundEffect;
+
+
+ // 涓荤嚎鎴樻枟
+ [SerializeField] Toggle toggleStory;
+ // 闈炰富绾挎垬鏂�
+ [SerializeField] Toggle toggleNonStory;
+
+ // 浼ゅ椋樺瓧
+ [SerializeField] Toggle toggleDamageTips;
+ // 闈炰激瀹抽瀛�
+ [SerializeField] Toggle toggleNonDamageTips;
+ // buff椋樺瓧
+ [SerializeField] Toggle toggleBuffFloatingTips;
+ // buff鍥炬爣鏄剧ず
+ [SerializeField] Toggle toggleBuffIconShow;
+
+ private BattlePerformSwitch currentSwitch;
+
protected override void InitComponent()
{
base.InitComponent();
@@ -14,6 +37,8 @@
protected override void OnPreOpen()
{
base.OnPreOpen();
+
+ // 闊抽噺婊戝潡
musicSlider.onValueChanged.RemoveListener(OnSliderBgMusic);
musicSlider.onValueChanged.AddListener(OnSliderBgMusic);
soundEffectSlider.onValueChanged.RemoveListener(OnSliderSoundEffect);
@@ -21,6 +46,42 @@
musicSlider.value = SystemSetting.Instance.GetSoundVolume();
soundEffectSlider.value = SystemSetting.Instance.GetSoundEffect();
+
+ // 闈欓煶寮�鍏�
+ muteMusic.onValueChanged.RemoveListener(OnMuteMusicChanged);
+ muteMusic.onValueChanged.AddListener(OnMuteMusicChanged);
+ muteSoundEffect.onValueChanged.RemoveListener(OnMuteSoundEffectChanged);
+ muteSoundEffect.onValueChanged.AddListener(OnMuteSoundEffectChanged);
+
+ muteMusic.isOn = SystemSetting.Instance.GetMuteMusic();
+ muteSoundEffect.isOn = SystemSetting.Instance.GetMuteSoundEffect();
+
+ // 搴旂敤闈欓煶鐘舵��
+ SoundPlayer.Instance.musicAudioSource.mute = muteMusic.isOn;
+
+ // 鎴樻枟绫诲瀷鍒囨崲锛堜簰鏂ワ級
+ toggleStory.onValueChanged.RemoveListener(OnToggleStoryChanged);
+ toggleStory.onValueChanged.AddListener(OnToggleStoryChanged);
+ toggleNonStory.onValueChanged.RemoveListener(OnToggleNonStoryChanged);
+ toggleNonStory.onValueChanged.AddListener(OnToggleNonStoryChanged);
+
+ // 榛樿閫変腑涓荤嚎鎴樻枟
+ toggleStory.isOn = true;
+ toggleNonStory.isOn = false;
+ currentSwitch = BattleSwitch.storySwitch;
+
+ // 鎴樻枟琛ㄧ幇寮�鍏�
+ toggleDamageTips.onValueChanged.RemoveListener(OnToggleDamageTipsChanged);
+ toggleDamageTips.onValueChanged.AddListener(OnToggleDamageTipsChanged);
+ toggleNonDamageTips.onValueChanged.RemoveListener(OnToggleNonDamageTipsChanged);
+ toggleNonDamageTips.onValueChanged.AddListener(OnToggleNonDamageTipsChanged);
+ toggleBuffFloatingTips.onValueChanged.RemoveListener(OnToggleBuffFloatingTipsChanged);
+ toggleBuffFloatingTips.onValueChanged.AddListener(OnToggleBuffFloatingTipsChanged);
+ toggleBuffIconShow.onValueChanged.RemoveListener(OnToggleBuffIconShowChanged);
+ toggleBuffIconShow.onValueChanged.AddListener(OnToggleBuffIconShowChanged);
+
+ // 鍒濆鍖栨垬鏂楄〃鐜板紑鍏崇殑鐘舵��
+ RefreshBattlePerformToggles();
}
protected override void OnPreClose()
@@ -37,4 +98,93 @@
{
SystemSetting.Instance.SetSoundVolume(arg0);
}
+
+ private void OnMuteMusicChanged(bool value)
+ {
+ SystemSetting.Instance.SetMuteMusic(value);
+ SoundPlayer.Instance.musicAudioSource.mute = value;
+ }
+
+ private void OnMuteSoundEffectChanged(bool value)
+ {
+ SystemSetting.Instance.SetMuteSoundEffect(value);
+ // 闊虫晥闈欓煶鍙互閫氳繃鎺у埗闊抽噺瀹炵幇锛屼絾涓嶅奖鍝峴lider鐨勫��
+ // 杩欓噷闇�瑕佹帶鍒舵墍鏈夐煶鏁堟簮锛屽彲浠ヤ娇鐢⊿oundPlayer鐨勫叏灞�鎺у埗
+ }
+
+ private void OnToggleStoryChanged(bool value)
+ {
+ if (value)
+ {
+ // ToggleGroup 浼氳嚜鍔ㄥ鐞嗕簰鏂ワ紝涓嶉渶瑕佹墜鍔ㄨ缃彟涓�涓负 false
+ currentSwitch = BattleSwitch.storySwitch;
+ RefreshBattlePerformToggles();
+ }
+ }
+
+ private void OnToggleNonStoryChanged(bool value)
+ {
+ if (value)
+ {
+ // ToggleGroup 浼氳嚜鍔ㄥ鐞嗕簰鏂ワ紝涓嶉渶瑕佹墜鍔ㄨ缃彟涓�涓负 false
+ currentSwitch = BattleSwitch.nonStorySwitch;
+ RefreshBattlePerformToggles();
+ }
+ }
+
+ private void RefreshBattlePerformToggles()
+ {
+ if (currentSwitch == null)
+ return;
+
+ // 涓存椂绉婚櫎鐩戝惉鍣ㄤ互閬垮厤寰幆瑙﹀彂
+ toggleDamageTips.onValueChanged.RemoveListener(OnToggleDamageTipsChanged);
+ toggleNonDamageTips.onValueChanged.RemoveListener(OnToggleNonDamageTipsChanged);
+ toggleBuffFloatingTips.onValueChanged.RemoveListener(OnToggleBuffFloatingTipsChanged);
+ toggleBuffIconShow.onValueChanged.RemoveListener(OnToggleBuffIconShowChanged);
+
+ // 鏇存柊UI鐘舵��
+ toggleDamageTips.isOn = currentSwitch.DamageTips;
+ toggleNonDamageTips.isOn = currentSwitch.NonDamageTips;
+ toggleBuffFloatingTips.isOn = currentSwitch.BuffAction;
+ toggleBuffIconShow.isOn = currentSwitch.BuffIcon;
+
+ // 閲嶆柊娣诲姞鐩戝惉鍣�
+ toggleDamageTips.onValueChanged.AddListener(OnToggleDamageTipsChanged);
+ toggleNonDamageTips.onValueChanged.AddListener(OnToggleNonDamageTipsChanged);
+ toggleBuffFloatingTips.onValueChanged.AddListener(OnToggleBuffFloatingTipsChanged);
+ toggleBuffIconShow.onValueChanged.AddListener(OnToggleBuffIconShowChanged);
+ }
+
+ private void OnToggleDamageTipsChanged(bool value)
+ {
+ if (currentSwitch != null)
+ {
+ currentSwitch.DamageTips = value;
+ }
+ }
+
+ private void OnToggleNonDamageTipsChanged(bool value)
+ {
+ if (currentSwitch != null)
+ {
+ currentSwitch.NonDamageTips = value;
+ }
+ }
+
+ private void OnToggleBuffFloatingTipsChanged(bool value)
+ {
+ if (currentSwitch != null)
+ {
+ currentSwitch.BuffAction = value;
+ }
+ }
+
+ private void OnToggleBuffIconShowChanged(bool value)
+ {
+ if (currentSwitch != null)
+ {
+ currentSwitch.BuffIcon = value;
+ }
+ }
}
--
Gitblit v1.8.0