52 lines
1.2 KiB
C#
52 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Cysharp.Threading.Tasks;
|
|
using PhxhSDK;
|
|
using UnityEngine;
|
|
|
|
public class PreLoadAudioAssets
|
|
{
|
|
//test
|
|
//用的时候转成配置
|
|
private static readonly List<string[]> _audioFightArrayList = new List<string[]>()
|
|
{
|
|
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<AudioClip>(audioArr[i]);
|
|
}
|
|
|
|
await AssetManager.Instance.WaitAllPreloads();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
DebugUtil.LogError($"AudioAssetModule module: {module}, Exception:{e}");
|
|
throw;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
public enum AudioAssetModule
|
|
{
|
|
Fight
|
|
} |