找回密码
 立即注册
查看: 381|回复: 0

2021-07-14【unity】Addressble bundle

[复制链接]
发表于 2021-7-14 16:47 | 显示全部楼层 |阅读模式
1.同步加载一个:
        public T LoadAsset<T>(string key, Action<T> callback = null)        {            var op = Addressables.LoadAssetAsync<T>(key);            var t = op.WaitForCompletion();            callback?.Invoke(t);            Addressables.Release(op);            return t;        }
2.同步加载多个:
        public IList<T> LoadAssets<T>(string key, Action<T> callback = null)        {            var op = Addressables.LoadAssetsAsync<T>(key, ta => callback?.Invoke(ta));            var t = op.WaitForCompletion();            Addressables.Release(op);            return t;        }
3.异步加载一个:
        public async Task<T> LoadAssetAsync<T>(string key, Action<T> callback = null)        {            var t = await Addressables.LoadAssetAsync<T>(key).Task;            callback?.Invoke(t);            return t;        }
4.异步加载:
public async Task LoadAllEffectObj(){    var loadedEffects = new List<GameObject>();    int count = EFX.rows.Length;    for (int i = 0; i < EFX.rows.Length; ++i)    {        var path = StringUtility.GetBuilder().Append(EFX.rows.respath).Append(EFX.rows.m枚举).Append(".prefab").ToString();        LoadMgr.Instance.LoadAssetAsync<GameObject>(path,            (x) =>            {                count--;                if (x != null)                {                    Debug.Log("加载特效:" + path);                    loadedEffects.Add(x);                }                else                {                    Debug.LogError("加载特效失败:" + path);                }            });    }    await Task.Run(() =>    {        while (count > 0)        {            //wait        }        return;    });    ObjectPool.PreloadedPrefab[] allPrefabs = new ObjectPool.PreloadedPrefab[loadedEffects.Count];    for (int i = 0; i < loadedEffects.Count; i++)    {        ObjectPool.PreloadedPrefab preloadedPrefab = new ObjectPool.PreloadedPrefab(loadedEffects, 2) { };        allPrefabs = preloadedPrefab;    }    ObjectPool.Instance.AddPreloadPrefabs(allPrefabs);}
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-14 16:43 , Processed in 0.097648 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表