/// <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); }
/// <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)); }