// I didn't make much about the audio souces configurable, this is where you'd change the defaults private AudioInstance GetOrAddAudioInstance(GameObject forSource, SoundBank soundBank) { AudioGroup audioGroup = GetOrAddAudioGroup(forSource); AudioInstance audioInstance = audioGroup.GetAudioInstance(soundBank); if (audioInstance == null) { audioInstance = new AudioInstance(); audioInstance.SoundBank = soundBank; audioInstance.AudioSource = forSource.AddComponent <AudioSource>(); ConfigureSourceForSound(audioInstance.AudioSource, soundBank); audioGroup.AddAudioInstance(audioInstance); } return(audioInstance); }
// I didn't make much about the audio souces configurable, this is where you'd change the defaults private AudioInstance GetOrAddAudioInstance(GameObject forSource, SoundBank soundBank) { AudioGroup audioGroup = GetOrAddAudioGroup(forSource); AudioInstance audioInstance = audioGroup.GetAudioInstance(soundBank); if (audioInstance == null) { audioInstance = new AudioInstance(); audioInstance.AudioSource = forSource.AddComponent <AudioSource>(); audioInstance.AudioSource.spatialize = soundBank.IsSpatial; audioInstance.AudioSource.spatialBlend = soundBank.IsSpatial ? 1.0f : 0.0f; audioInstance.AudioSource.volume = soundBank.VolumeScale; audioInstance.AudioSource.loop = soundBank.IsLooping; audioInstance.AudioSource.minDistance = soundBank.MinDistance; audioInstance.AudioSource.maxDistance = soundBank.MaxDistance; audioInstance.AudioSource.rolloffMode = AudioRolloffMode.Linear; audioInstance.AudioSource.outputAudioMixerGroup = soundBank.AudioMixerGroup; audioInstance.SoundBank = soundBank; audioGroup.AddAudioInstance(audioInstance); } return(audioInstance); }