using System; using System.Collections.Generic; using Cysharp.Threading.Tasks; using PhxhSDK; using UnityEngine; public class PreLoadAudioAssets { //test //用的时候转成配置 private static readonly List _audioFightArrayList = new List() { new []{"BtnSoundTest", "BtnSoundTest"} }; public static string[] GetAudioAssetArray(AudioAssetModule module) { int idx = (int)module; if (idx >= _audioFightArrayList.Count) { return null; } return _audioFightArrayList[idx]; } public static async UniTask PreLoadAudioByModule(AudioAssetModule module) { try { var audioArr = GetAudioAssetArray(module); if (audioArr == null) return; for (var i = 0; i < audioArr.Length; i++) { AssetManager.Instance.PostPreload(audioArr[i]); } await AssetManager.Instance.WaitAllPreloads(); } catch (Exception e) { DebugUtil.LogError($"AudioAssetModule module: {module}, Exception:{e}"); throw; } } } public enum AudioAssetModule { Fight }