| | |
| | | UnityEditor.EditorApplication.pauseStateChanged += OnEditorPauseStateChanged; |
| | | #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> |
| | |
| | | |
| | | // 设置音量(使用音效音量设置) |
| | | source.volume = SystemSetting.Instance.GetSoundEffect(); |
| | | source.mute = SystemSetting.Instance.GetMuteSoundEffect(); |
| | | |
| | | // 设置播放速度,使用pitch来控制 |
| | | // pitch范围建议在0.5-2.0之间以避免失真 |
| | |
| | | } |
| | | } |
| | | |
| | | 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> |
| | |
| | | battleField.OnSpeedRatioChange -= OnSpeedRatioChanged; |
| | | 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 |
| | | // 取消订阅编辑器暂停事件 |