예제 #1
0
 /// <summary>
 /// 调用AB 包资源(通过ABLoadAssetHelper.cs 进行再次封装)
 /// </summary>
 /// <param name="abPara">AB包函数</param>
 /// <param name="taskComplete">回调委托,传出数据</param>
 /// <returns></returns>
 private IEnumerator LoadABAsset(ABPara abPara, DelTaskComplete taskComplete)
 {
     //调用AB框架ab包
     ABLoadAssetHelper.GetInstance().LoadAssetBundlePack(abPara);
     //AB包是否调用完成
     while (!ABLoadAssetHelper.GetInstance().IsLoadFinish)
     {
         yield return(null);
     }
     //得到(克隆)的UI预设
     UnityEngine.GameObject goCloneUIPrefab = (UnityEngine.GameObject)ABLoadAssetHelper.GetInstance().GetCloneUIPrefab();
     //委托调用
     taskComplete.Invoke(goCloneUIPrefab);
 }
예제 #2
0
        /// <summary>
        /// 初始化加载(根UI窗体)Canvas预设
        /// </summary>
        private IEnumerator InitRootCanvasLoading(DelTaskComplete taskComplete)
        {
            //UI 根窗体路径(参数)
            string uiRootFormPaths = string.Empty;

            //从UI预设路径集合中,查询UI根窗体的路径
            _DicFormsPaths.TryGetValue(SysDefine.ROOT_UIFORM, out uiRootFormPaths);

            //从路径(ab包参数)配置文件中,来合成需要的ab包参数
            string[] strTempArray = uiRootFormPaths.Split('|');
            ABPara   abPara       = new ABPara();

            abPara.ScenesName      = strTempArray[0];
            abPara.AssetBundleName = strTempArray[1];
            abPara.AssetName       = strTempArray[2];

            return(LoadABAsset(abPara, taskComplete));
        }