using System; using Fort23.Core; using UnityEngine; namespace Core.Audio { public class AudioBundleInfo : IDisposable { private string _audioClipName; public float _volume; public AssetHandle _audioClip; public AudioBundleInfo(string audioClipName, float volume) { _audioClipName = audioClipName; _volume = volume; } public async CTask GetAudioClip() { if (_audioClip == null) { _audioClip = await AssetBundleLoadManager.Instance.LoadAssetAsyncTask(_audioClipName); } return _audioClip; } public void Dispose() { if (_audioClip != null) { _audioClip.Release(); _audioClip = null; } } } }