diff --git a/Assets/Scripts/Audio/AudioGroup.cs b/Assets/Scripts/Audio/AudioGroup.cs index 332bd3d80..eacbbc063 100644 --- a/Assets/Scripts/Audio/AudioGroup.cs +++ b/Assets/Scripts/Audio/AudioGroup.cs @@ -1,5 +1,7 @@ -using CollectionExtensions; +using System.Linq; +using CollectionExtensions; using UnityEngine; +using UnityEngine.SceneManagement; [CreateAssetMenu(fileName = "AudioGroup", menuName = "Audio/New Audio Group")] public class AudioGroup : ScriptableObject @@ -30,6 +32,13 @@ private void Modulate(AudioSource source) var pitch = continuousPitchBend ? Random.Range((float)semitoneRange.Min, (float)semitoneRange.Max) : Random.Range(semitoneRange.Min, semitoneRange.Max); source.pitch = Mathf.Pow(SEMITONE_PITCH_CONVERSION_UNIT, pitch); source.volume = Random.Range(volumeRange.Min, volumeRange.Max); + + // Use 3D sound if there's only one local player, + // otherwise we're in splitscreen and should not spatialize sounds. + var isOnlyOneLocalPlayer = PlayerInputManagerController.Singleton.LocalPlayerInputs.Count == 1; + // TODO replace this check! + var isInArena = Scenes.NotArenaScenes.Contains(SceneManager.GetActiveScene().name); + source.spatialBlend = isOnlyOneLocalPlayer && isInArena ? 0 : 1; } public void Play(AudioSource source)