Пример #1
0
        public SFXManager()
        {
            _AudioChannelPool = new AudioChannelPool(AudioChannelLimit);
            _Libraries        = FindAudioLibraries();

            AudioLog.Assert(_Libraries.Length > 0, "No audiolibraries found in root resources folder");
        }
Пример #2
0
        public AudioManager()
        {
            _AudioChannelPool = new AudioChannelPool(AUDIO_CHANNEL_COUNT);
            _Libraries        = FindAudioLibraries();

            AudioLog.Assert(_Libraries.Length > 0, "No audiolibraries found in root resources folder");
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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);
        }