public AudioTrack LoadAudio(string resourcePath, Action successCallback)
        {
            if (m_resources.TryGetValue(resourcePath, out var resource))
            {
                return(resource as AudioTrack);
            }

            var resultAudio = AudioTrack.CreateUninitialized();

            m_resources[resourcePath] = resultAudio;

            m_continuousLoaders.Add(new BackgroundResourceLoader(new AsyncAudioLoader(this, resourcePath, resultAudio), successCallback));
            return(resultAudio);
        }
        public AudioTrack QueueAudioLoad(string resourcePath)
        {
            if (m_resources.TryGetValue(resourcePath, out var resource))
            {
                return(resource as AudioTrack);
            }

            var resultAudio = AudioTrack.CreateUninitialized();

            m_resources[resourcePath] = resultAudio;

            m_loaders.Add(new AsyncAudioLoader(this, resourcePath, resultAudio));
            return(resultAudio);
        }
 public AudioTrack QueueAudioTrackLoad(string resourcePath) =>
 QueueAudioLoad(resourcePath, AudioTrack.CreateUninitialized());