public SFXManager() { _AudioChannelPool = new AudioChannelPool(AudioChannelLimit); _Libraries = FindAudioLibraries(); AudioLog.Assert(_Libraries.Length > 0, "No audiolibraries found in root resources folder"); }
public AudioManager() { _AudioChannelPool = new AudioChannelPool(AUDIO_CHANNEL_COUNT); _Libraries = FindAudioLibraries(); AudioLog.Assert(_Libraries.Length > 0, "No audiolibraries found in root resources folder"); }
public AudioChannelPool(int channelCount) { AudioLog.Assert(channelCount > 0, $"Invalid amount of audio channels provided: {channelCount}"); _AudioChannels = new AudioChannel[channelCount]; GameObject parentObject = new GameObject("Audio Channels"); UnityCallbackBehaviour callbackBehaviour = parentObject.AddComponent <UnityCallbackBehaviour>(); Object.DontDestroyOnLoad(parentObject); for (int i = 0; i < _AudioChannels.Length; i++) { _AudioChannels[i] = new AudioChannel(parentObject.transform, callbackBehaviour, i + 1); } }
private AudioAsset ResolveAsset(AudioEvent audioEvent) { AudioAsset asset = null; for (int i = 0; i < _Libraries.Length; i++) { asset = _Libraries[i].Resolve(audioEvent.Identifier); if (asset) { break; } } AudioLog.Assert(asset, $"{audioEvent.Identifier} could not be found in any audio library."); return(asset); }