Example #1
0
 protected void GetModelForAddressables <T>(List <string> listKeyName, Action <IList <T> > callBack) where T : UnityEngine.Object
 {
     if (listKeyName == null)
     {
         callBack?.Invoke(null);
         return;
     }
     LoadAddressablesUtil.LoadAssetsAsync <T>(listKeyName, listData =>
     {
         callBack?.Invoke(listData.Result);
     });
 }
Example #2
0
    /// <summary>
    /// 加载资源
    /// </summary>
    public void LoadResources(Action callBack)
    {
        //加载所有方块材质球
        LoadAddressablesUtil.LoadAssetsAsync <Material>(pathForBlockMats, (data) =>
        {
            IList <Material> listMat = data.Result;
            arrayBlockMat            = new Material[listMat.Count];
            for (int i = 0; i < listMat.Count; i++)
            {
                //按照名字中的下标 确认每个材质球的顺序
                Material itemMat        = listMat[i];
                string[] nameList       = itemMat.name.SplitForArrayStr('_');
                int indexMat            = int.Parse(nameList[1]);
                arrayBlockMat[indexMat] = itemMat;
            }

            //加载方块破碎模型
            LoadAddressablesUtil.LoadAssetAsync <GameObject>(pathForBlockCptBreak, (obj) =>
            {
                blockBreakModel = obj.Result;
                callBack?.Invoke();
            });
        });
    }