| Main/Common/EventName.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Battle/BattleField/BattleField.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Battle/Sound/BattleSoundManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/SystemSetting/SystemSetting.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/Common/EventName.cs
@@ -20,4 +20,8 @@ public const string BATTLE_TIANZI_REFRESH_HP = "BATTLE_TIANZI_REFRESH_HP";//天子考验 刷新血量 public const string BATTLE_CLICK_HERO = "BATTLE_CLICK_HERO";//点击英雄 public const string SOUND_EFFECT_VOLUME_CHANGE = "SOUND_EFFECT_VOLUME_CHANGE"; //音效声音大小调整 public const string SOUND_EFFECT_MUTE_CHANGE = "SOUND_EFFECT_MUTE_CHANGE";// 音效静音调整 } Main/System/Battle/BattleField/BattleField.cs
@@ -144,6 +144,8 @@ battleEffectMgr.Init(this); battleTweenMgr.Init(this); recordPlayer.Init(this); soundManager.Init(); if (blueTeamList == null) { @@ -351,6 +353,7 @@ battleEffectMgr.Release(); battleTweenMgr.Release(); recordPlayer.Release(); soundManager.Release(); // 清理死亡处理记录 processingDeathObjIds.Clear(); Main/System/Battle/Sound/BattleSoundManager.cs
@@ -54,6 +54,12 @@ #endif } public void Init() { EventBroadcast.Instance.AddListener<bool>(EventName.SOUND_EFFECT_MUTE_CHANGE, OnSoundEffectMuteChange); EventBroadcast.Instance.AddListener<float>(EventName.SOUND_EFFECT_VOLUME_CHANGE, OnSoundEffectVolumeChange); } #if UNITY_EDITOR /// <summary> /// 编辑器暂停状态变化回调 @@ -166,6 +172,7 @@ // 设置音量(使用音效音量设置) source.volume = SystemSetting.Instance.GetSoundEffect(); source.mute = SystemSetting.Instance.GetMuteSoundEffect(); // 设置播放速度,使用pitch来控制 // pitch范围建议在0.5-2.0之间以避免失真 @@ -358,6 +365,34 @@ } } private void OnSoundEffectMuteChange(bool isMute) { // Debug.Log($"<color=magenta>BattleSoundManager [{battleField.guid}]: OnSoundEffectMuteChange({isMute}) - 当前活跃音效数={activeAudioSources.Count}</color>"); // 更新所有正在播放的音效的静音状态 foreach (var source in activeAudioSources) { if (source != null) { source.mute = isMute; } } } private void OnSoundEffectVolumeChange(float volume) { // Debug.Log($"<color=magenta>BattleSoundManager [{battleField.guid}]: OnSoundEffectVolumeChange({volume}) - 当前活跃音效数={activeAudioSources.Count}</color>"); // 更新所有正在播放的音效的音量 foreach (var source in activeAudioSources) { if (source != null) { source.volume = volume; } } } /// <summary> /// 焦点变化回调 /// </summary> @@ -459,6 +494,9 @@ battleField.OnFocusChange -= OnFocusChanged; } EventBroadcast.Instance.RemoveListener<bool>(EventName.SOUND_EFFECT_MUTE_CHANGE, OnSoundEffectMuteChange); EventBroadcast.Instance.RemoveListener<float>(EventName.SOUND_EFFECT_VOLUME_CHANGE, OnSoundEffectVolumeChange); #if UNITY_EDITOR // 取消订阅编辑器暂停事件 UnityEditor.EditorApplication.pauseStateChanged -= OnEditorPauseStateChanged; Main/System/SystemSetting/SystemSetting.cs
@@ -51,6 +51,7 @@ public void SetSoundEffect(float value) { LocalSave.SetFloat(SOUND_EFFECT_KEY, Mathf.Clamp01(value)); EventBroadcast.Instance.Broadcast(EventName.SOUND_EFFECT_VOLUME_CHANGE, value); } public float GetSoundEffect() @@ -73,6 +74,7 @@ { LocalSave.SetBool(MUTE_SOUND_EFFECT_KEY, _mute); SoundPlayer.Instance.MuteSoundEffect(_mute); EventBroadcast.Instance.Broadcast(EventName.SOUND_EFFECT_MUTE_CHANGE, _mute); } public bool GetMuteSoundEffect()