1
This commit is contained in:
@@ -15,8 +15,8 @@ public class AudioResourcesData
|
||||
{
|
||||
public int audioID;
|
||||
public string audioResourcesPath;
|
||||
public static Dictionary<string, int> name_IDDic=new Dictionary<string, int>();
|
||||
public static Dictionary<int, AudioClip> audioClipDic=new Dictionary<int, AudioClip>();
|
||||
// ⭐ 音效字典存放在框架层 AudioManager(框架层不反向依赖 AudioResourcesData):
|
||||
// AudioManager.NameToIdDic = 资源名→ID,AudioManager.ClipDic = ID→AudioClip
|
||||
static Dictionary<int, AudioClip> audioClipDefaultDic=new Dictionary<int, AudioClip>();
|
||||
static Dictionary<int, AudioClip> audioClipGameDic=new Dictionary<int, AudioClip>();
|
||||
const string Audio_AALabel="Audio";
|
||||
@@ -46,24 +46,24 @@ public class AudioResourcesData
|
||||
Debug.Log("加载文件音频ID: " + item.audioID);
|
||||
Debug.Log(item.audioID + "加载文件音频路径: " + item.audioResourcesPath);
|
||||
|
||||
name_IDDic[item.audioResourcesPath]=item.audioID;
|
||||
AudioManager.NameToIdDic[item.audioResourcesPath]=item.audioID;
|
||||
}
|
||||
var keys = new List<string> { Audio_AALabel, "Default" };
|
||||
_defaultAudioHandle = Addressables.LoadAssetsAsync<AudioClip>(keys, audio =>
|
||||
{
|
||||
Debug.Log("加载音频: " + audio.name);
|
||||
if (name_IDDic.ContainsKey(audio.name))
|
||||
if (AudioManager.NameToIdDic.ContainsKey(audio.name))
|
||||
{
|
||||
Debug.Log("加载音频ID: " + name_IDDic[audio.name]);
|
||||
audioClipDefaultDic.Add(name_IDDic[audio.name],audio);
|
||||
Debug.Log("加载音频ID: " + AudioManager.NameToIdDic[audio.name]);
|
||||
audioClipDefaultDic.Add(AudioManager.NameToIdDic[audio.name],audio);
|
||||
}
|
||||
}, MergeMode.Intersection);
|
||||
await _defaultAudioHandle.Task;
|
||||
foreach (var item in audioClipDefaultDic)
|
||||
{
|
||||
audioClipDic.Add(item.Key, item.Value);
|
||||
AudioManager.ClipDic.Add(item.Key, item.Value);
|
||||
}
|
||||
Debug.Log("加载了:"+ audioClipDic.Count);
|
||||
Debug.Log("加载了:"+ AudioManager.ClipDic.Count);
|
||||
}
|
||||
//public static async Task LoadAudioGame()
|
||||
//{
|
||||
@@ -116,9 +116,9 @@ public class AudioResourcesData
|
||||
// 句柄保存到 _gameAudioHandle,离房时 UnLoadAudioGame 真正释放 → 鱼包才能卸载
|
||||
_gameAudioHandle = Addressables.LoadAssetsAsync<AudioClip>(keys, audio =>
|
||||
{
|
||||
if (name_IDDic != null && name_IDDic.ContainsKey(audio.name))
|
||||
if (AudioManager.NameToIdDic != null && AudioManager.NameToIdDic.ContainsKey(audio.name))
|
||||
{
|
||||
audioClipGameDic[name_IDDic[audio.name]] = audio;
|
||||
audioClipGameDic[AudioManager.NameToIdDic[audio.name]] = audio;
|
||||
}
|
||||
}, MergeMode.Intersection);
|
||||
|
||||
@@ -137,17 +137,17 @@ public class AudioResourcesData
|
||||
await _gameAudioHandle.Task;
|
||||
}
|
||||
|
||||
audioClipDic = new Dictionary<int, AudioClip>();
|
||||
AudioManager.ClipDic = new Dictionary<int, AudioClip>();
|
||||
if (audioClipDefaultDic != null)
|
||||
{
|
||||
foreach (var item in audioClipDefaultDic)
|
||||
audioClipDic[item.Key] = item.Value;
|
||||
AudioManager.ClipDic[item.Key] = item.Value;
|
||||
}
|
||||
foreach (var item in audioClipGameDic)
|
||||
{
|
||||
audioClipDic[item.Key] = item.Value;
|
||||
AudioManager.ClipDic[item.Key] = item.Value;
|
||||
}
|
||||
Debug.Log("加载音频数量: " + audioClipDic.Count);
|
||||
Debug.Log("加载音频数量: " + AudioManager.ClipDic.Count);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -166,9 +166,9 @@ public class AudioResourcesData
|
||||
audioClipGameDic.Clear();
|
||||
|
||||
// 重建总字典:只保留默认音频
|
||||
audioClipDic = new Dictionary<int, AudioClip>(audioClipDefaultDic);
|
||||
AudioManager.ClipDic = new Dictionary<int, AudioClip>(audioClipDefaultDic);
|
||||
|
||||
Debug.Log("卸载完成,当前音频数量:" + audioClipDic.Count);
|
||||
Debug.Log("卸载完成,当前音频数量:" + AudioManager.ClipDic.Count);
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
|
||||
@@ -43,6 +43,8 @@ public class FishResourcesData
|
||||
private static Dictionary<string,int> FishResourcesSpriteDic;//Spritepath--id
|
||||
static FishResourcesData()
|
||||
{
|
||||
// ⭐ 把鱼 prefab 获取钩子注入框架层对象池(框架层不能反向引用 FishResourcesData)
|
||||
Pool.GetFishPrefab = GetFishPrefab;
|
||||
Init();
|
||||
}
|
||||
async static void Init()
|
||||
|
||||
Reference in New Issue
Block a user