Esempio n. 1
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="abName"></param>
 /// <param name="loadProgress"></param>
 /// <param name="loadComplete"></param>
 public SingleABLoader(string abName, DelLoadComplete loadComplete)
 {
     _ABName             = abName;
     _LoadCompleteHandle = loadComplete;
     _ABDownloadPath     = PathTools.GetWWWPath() + "/" + _ABName;
     _AssetLoader        = null;
 }
 /// <summary>
 /// 释放本场景中所有的资源
 /// 注意点:用于场景之间的切换
 /// </summary>
 public void DisposeAllAsset()
 {
     try
     {
         if (_DicSingleABLoaderCache != null && _DicSingleABLoaderCache.Count > 0)
         {
             foreach (SingleABLoader singleAbLoader in _DicSingleABLoaderCache.Values)
             {
                 singleAbLoader.DisposeAll();
             }
         }
     }
     catch {
         Debug.Log(GetType() + "DisposeAllAsset/ 出错");
     }
     finally
     {
         _DicSingleABLoaderCache.Clear();
         _DicSingleABLoaderCache = null;
         // 释放其他的资源
         _DicABRelation.Clear();
         _DicABRelation    = null;
         _CurrentSceneName = null;
         _CurrentABName    = null;
         _loadAllABPackageCompleteHandle = null;
         _CurrentSingleABLoader          = null;
         // 卸载没有用到的资源
         Resources.UnloadUnusedAssets();
         // 强制垃圾收集
         System.GC.Collect();
     }
 }
Esempio n. 3
0
    /// <summary>
    /// 下载AB包
    /// </summary>
    /// <param name="sceneName"></param>
    /// <param name="abName"></param>
    /// <param name="delLoadComplete"></param>
    /// <returns></returns>
    public IEnumerator LoadAssetBundlePack(string sceneName, string abName, DelLoadComplete delLoadComplete)
    {
        if (string.IsNullOrEmpty(sceneName) || string.IsNullOrEmpty(abName))
        {
            Debug.LogError("sceneName   检查+abName    检查");
            yield return(null);
        }
        while (!ABManifestLoader.GetInstance().IsLoadFinish)
        {
            yield return(null);
        }

        manifesObj = ABManifestLoader.GetInstance().GetABManifest();
        if (manifesObj == null)
        {
            Debug.LogError("请先加载清单文件");
            yield return(null);
        }
        if (!_dicAllScene.ContainsKey(sceneName))
        {
            MultiABMgr multiABMgr = new MultiABMgr(sceneName, abName, delLoadComplete);
            _dicAllScene.Add(sceneName, multiABMgr);
        }
        MultiABMgr tmpmultiABMgr = _dicAllScene[sceneName];

        if (tmpmultiABMgr == null)
        {
            Debug.LogError("tmpmultiABMgr  is  null");
        }
        yield return(tmpmultiABMgr.LoadAssetBundle(abName));
    }
Esempio n. 4
0
    /// <summary>
    /// 释放本场景中的所有资源,场景转换调用
    /// </summary>
    public void DisposeAllAsset()
    {
        try
        {
            foreach (SingleABLoader item in dicSingleABLoader.Values)
            {
                item.DisposeAll();
            }
        }
        finally
        {
            dicSingleABLoader.Clear();
            dicSingleABLoader = null;

            dicABRelation.Clear();
            dicABRelation = null;


            curABName    = null;
            curSceneName = null;
            LoadAllPackageCompleteHandle = null;

            Resources.UnloadUnusedAssets();
            System.GC.Collect();
        }
    }
        public void DisposeAllAsset()
        {
            try
            {
                //逐一释放所有加载过的AB包中资源
                foreach (var item in singleABLoaderCache.Values)
                {
                    item.DisposeAll();
                }
            }
            finally
            {
                singleABLoaderCache.Clear();
                singleABLoaderCache = null;

                //释放其他对象占用资源
                abRelation.Clear();
                abRelation        = null;
                currentABName     = null;
                currentScenceName = null;
                LoadALLABPackageCompleteHandel = null;

                //卸载没有用到的资源
                Resources.UnloadUnusedAssets();
                //强制垃圾收集
                System.GC.Collect();
            }
        }
Esempio n. 6
0
        /// <summary>
        /// 释放本场景中所有的资源
        /// </summary>
        public void DisposeAllAsset()
        {
            try
            {
                if (_DicSingleABLoaderCache != null && _DicSingleABLoaderCache.Count != 0)
                {
                    //逐一释放所有加载过的AssetBundel 包中的资源
                    foreach (SingleABLoader item_sABLoader in _DicSingleABLoaderCache.Values)
                    {
                        item_sABLoader.DisposeALL();
                    }
                    _DicSingleABLoaderCache.Clear();
                    _DicSingleABLoaderCache = null;
                    //释放其他对象占用资源
                    _DicABRelation.Clear();
                    _DicABRelation     = null;
                    _CurrentABName     = null;
                    _CurrentScenesName = null;
                    _LoadAllABPackageCompleteHandel = null;
                }



                //卸载没有使用到的资源
                Resources.UnloadUnusedAssets();
                //强制垃圾收集
                System.GC.Collect();
            }
            finally
            {
            }
        }
        public MultABMgr(string senceName, string abName, DelLoadComplete loadAllABPackCompleteHandle)
        {
            currentScenceName = senceName;
            currentABName     = abName;

            LoadALLABPackageCompleteHandel = loadAllABPackCompleteHandle;
        }
Esempio n. 8
0
        /// <summary>
        /// 释放包中所有加载的资源  (建议场景中切换的时候调用,避免卡顿)
        /// </summary>
        public void DisposeAllAsset()
        {
            try
            {
                // 逐一释放所有加载过的AssetBundle包中的资源
                foreach (SingleABLoader item_SABLoader in _DicSingleABLoaderCache.Values)
                {
                    item_SABLoader.DisposeAll();
                }
            }
            finally {
                _DicSingleABLoaderCache.Clear();
                _DicSingleABLoaderCache = null;

                // 释放其他对象占用的资源
                _DicABRelation.Clear();
                _DicABRelation    = null;
                _CurrentABName    = null;
                _CurrentSceneName = null;
                _LoadAllABPackageCompleteHandler = null;

                // 卸载没有使用到的资源
                Resources.UnloadUnusedAssets();
                // 强制垃圾收集
                System.GC.Collect();
            }
        }
Esempio n. 9
0
        /// <summary>
        /// 释放本场景中所有的资源
        /// </summary>
        public void DisposeAllAsset()
        {
            try
            {
                foreach (SingleABLoader item_sABLoader in _DicSingleABLoaderCache.Values)
                {
                    item_sABLoader.DisposAll();
                }
            }
            finally
            {
                _DicSingleABLoaderCache.Clear();
                _DicSingleABLoaderCache = null;

                _DicABRelaton.Clear();
                _DicABRelaton     = null;
                _CurrentABName    = null;
                _CurrentSceneName = null;
                _LoadAllABPackageCompleteHandle = null;

                Resources.UnloadUnusedAssets();

                System.GC.Collect();
            }
        }
Esempio n. 10
0
 public ABLoader(string mABName, DelLoadComplete mLoadCompleteHandle)
 {
     this.assetLoader        = null;
     this.abName             = mABName;
     this.abDownLoadPath     = FrameWorkConst.GetWWWPath() + "/" + this.abName;
     this.loadCompleteHandle = mLoadCompleteHandle;
 }
Esempio n. 11
0
 public MultAB(string mCurrentScenesName, string mAbName, DelLoadComplete mloadAllABPackageComplete)
 {
     this.currentScenesName        = mCurrentScenesName;
     this.currentABName            = mAbName;
     this.abLoaderCache            = new Dictionary <string, ABLoader>();
     this.dicABrelaion             = new Dictionary <string, ABrelation>();
     this.loadAllABPackageComplete = mloadAllABPackageComplete;
 }
Esempio n. 12
0
 public MultiABMgr(string sceneName, string abName, DelLoadComplete loadAllABPackageCompleteHandle)
 {
     _CurrentSceneName               = sceneName;
     _CurrentABName                  = abName;
     _DicSingleABLoaderCache         = new Dictionary <string, SingleABLoader>();
     _DicABRelaton                   = new Dictionary <string, ABRelation>();
     _LoadAllABPackageCompleteHandle = loadAllABPackageCompleteHandle;
 }
Esempio n. 13
0
    /// <summary>
    /// 构造函数
    /// </summary>
    /// <param name="abName"></param>
    public SingleABLoader(string abName, DelLoadComplete loadComplete)
    {
        assetLoader        = null;
        ABName             = abName;
        loadCompleteHandle = loadComplete;

        ABDownLoadPath = PathTools.GetWWWPath() + "/" + ABName;
    }
Esempio n. 14
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="sceneName">场景名称</param>
 /// <param name="abName">Ab包名称</param>
 /// <param name="onLandCompleteEvent">(委托)是否调用完成</param>
 public MultiABMgr(string sceneName, string abName, DelLoadComplete onLandCompleteEvent)
 {
     //_CurrentSceneName = sceneName;
     _CurrentABName          = abName;
     _DicSingleABLoaderCache = new Dictionary <string, SingleABLoader>();
     _DicABRelating          = new Dictionary <string, ABRelating>();
     _onLandCompleteEvent    = onLandCompleteEvent;
 }
Esempio n. 15
0
        //构造函数
        public SingleABLoader(string abName, DelLoadComplete loadComplete)
        {
            _AssetLoader = null;
            _ABName      = abName;

            _LoadCompleteHandle = loadComplete;

            _ABDownLoadPath = AssetDefine.GetABOutPath() + "/" + abName;
        }
 public SingleABLoader(string abName, DelLoadComplete loadComplete)
 {
     _assetLoader = null;
     _ABname      = abName;
     // 委托定义
     _LoadCompleteHandle = loadComplete;
     // 下载路径
     _ABurl = PathTools.GetABwwwPath() + "/" + _ABname;
 }
Esempio n. 17
0
    public MultiABMgr(string sceneName, string abName, DelLoadComplete delLoadComplete)
    {
        curSceneName      = sceneName;
        curABName         = abName;
        dicSingleABLoader = new Dictionary <string, SingleABLoader>();

        dicABRelation = new Dictionary <string, ABRelation>();
        LoadAllPackageCompleteHandle = delLoadComplete;
    }
Esempio n. 18
0
 //构造函数
 public SingleABLoader(string abName, DelLoadComplete loadComplete)
 {
     _AssetLoader = null;
     _ABName      = abName;
     //委托初始化
     _LoadCompleteHandle = loadComplete;
     //AB包下载路径(初始化)
     _ABDownLoadPath = PathTools.GetWWWPath() + "/" + _ABName;
 }
Esempio n. 19
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="CurrentSceneName">场景名称</param>
        /// <param name="CurrentABName">Asset Bundle 名称</param>
        /// <param name="LoadAllABPackageCompleteHandler">委托</param>
        public MultiABManager(string CurrentSceneName, string CurrentABName, DelLoadComplete LoadAllABPackageCompleteHandler)
        {
            _CurrentSceneName       = CurrentSceneName;
            _CurrentABName          = CurrentABName;
            _DicSingleABLoaderCache = new Dictionary <string, SingleABLoader>();
            _DicABRelation          = new Dictionary <string, ABRelation>();

            _LoadAllABPackageCompleteHandler = LoadAllABPackageCompleteHandler;
        }
Esempio n. 20
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="ABName">AB包名</param>
        /// <param name="loadComplete">委托</param>
        public SingleABLoader(string ABName, DelLoadComplete loadComplete)
        {
            _AssetLoader = null;
            _ABName      = ABName;

            // 委托定义
            _LoadCompleteHandler = loadComplete;

            //AB包下载路径
            _ABDownLoadPath = PathTools.GetWWWAssetBundlePath() + "/" + _ABName;
        }
 /// <summary>
 /// 释放当前 AB 包的 内存镜像 (基于WWW类下载)以及 内存对象
 /// </summary>
 public void DisposeAll()
 {
     if (_assetLoader == null)
     {
         Debug.LogError(GetType() + "/DisposeAll() /_assetLoader 为null");
     }
     else
     {
         _assetLoader.DisposeAll();
         _assetLoader        = null;
         _LoadCompleteHandle = null;
         _ABname             = null;
         _ABurl = null;
     }
 }
        /// <summary>
        /// 下载 指定 AssetBundle 包
        /// </summary>
        /// <param name="sceneName"></param>
        /// <param name="abName"></param>
        /// <param name="loadAllComplete"></param>
        /// <returns></returns>
        public IEnumerator LoadAssetBundlePack(string sceneName, string abName, DelLoadComplete loadAllComplete)
        {
            // 参数检查
            if (string.IsNullOrEmpty(sceneName) == true || string.IsNullOrEmpty(abName) == true)
            {
                Debug.LogError(GetType() + "/LoadAssetBundlePack()/sceneName or   is null,请检查");

                yield return(null);
            }

            // 等待 Manifest 清单文件加载完成
            while (ABManifestLoader.GetInstance().IsLoadFinished == false)
            {
                yield return(null);
            }

            _ManifestObj = ABManifestLoader.GetInstance().GetABManifest();
            if (_ManifestObj == null)
            {
                Debug.LogError(GetType() + "/LoadAssetBundlePack()/_ManifestObj is null,请先确保加载 Manifest 清单文件");
                yield return(null);
            }

            if (_DicAllScenes.ContainsKey(sceneName) == false)
            {
                MultiABManager multiABManagerObj = new MultiABManager(sceneName, abName, loadAllComplete);
                _DicAllScenes.Add(sceneName, multiABManagerObj);
            }

            // 多包管理类
            MultiABManager tmpMultiABMgrObj = _DicAllScenes[sceneName];

            if (tmpMultiABMgrObj == null)
            {
                Debug.LogError(GetType() + "/LoadAssetBundlePack()/tmpMultiABMgrObj is null,请检查");
            }


            yield return(tmpMultiABMgrObj.LoadAssetBundle(abName));
        }
Esempio n. 23
0
        /// <summary>
        /// 下载AssetBundel 指定包
        /// </summary>
        /// <param name="scenesName">场景名称</param>
        /// <param name="abName">AssetBundle 包名称</param>
        /// <param name="loadAllCompleteHandle">委托: 调用是否完成</param>
        /// <returns></returns>
        public IEnumerator LoadAssetBundlePack(string scenesName, string abName, DelLoadComplete loadAllCompleteHandle)
        {
            //参数检查
            if (string.IsNullOrEmpty(scenesName) || string.IsNullOrEmpty(abName))
            {
                Debug.LogError(GetType() + "/LoadAssetBundlePack()/ScenesName Or abName is null ,请检查!");
                //yield return null;//类似于C#中的 continue 。 作用是跳过当前“帧”
                yield break;        //类似于C# 中 return null;
            }

            //等待Manifest清单文件加载完成
            while (!ABManifestLoader.GetInstance().IsLoadFinish)
            {
                yield return(null);
            }
            _ManifestObj = ABManifestLoader.GetInstance().GetABManifest();
            if (_ManifestObj == null)
            {
                Debug.LogError(GetType() + "/LoadAssetBundlePack()/_ManifestObj is null ,请先确保加载Manifest清单文件!");
                //yield return null;
                yield break;
            }

            //把当前场景加入集合中。
            if (!_DicAllScenes.ContainsKey(scenesName))
            {
                MultiABMgr multiMgrObj = new MultiABMgr(scenesName, abName, loadAllCompleteHandle);
                _DicAllScenes.Add(scenesName, multiMgrObj);
            }

            //调用下一层(“多包管理类”)
            MultiABMgr tmpMultiMgrObj = _DicAllScenes[scenesName];

            if (tmpMultiMgrObj == null)
            {
                Debug.LogError(GetType() + "/LoadAssetBundlePack()/tmpMultiMgrObj is null ,请检查!");
            }
            //调用“多包管理类”的加载指定AB包。
            yield return(tmpMultiMgrObj.LoadAssetBundeler(abName));
        }//Method_end
Esempio n. 24
0
        /// <summary>
        /// 下载AssetBundle指定包
        /// </summary>
        /// <param name="sceneName">场景名称</param>
        /// <param name="abName">AssetBundle包名称</param>
        /// <param name="loadAllCompleteHandle">完成回调</param>
        /// <returns></returns>
        public IEnumerator LoadAssetBundlePack(string sceneName, string abName, DelLoadComplete loadAllCompleteHandle)
        {
            if (string.IsNullOrEmpty(sceneName) || string.IsNullOrEmpty(abName))
            {
                Debug.LogError("sceneName:" + sceneName + ", abName:" + abName);
                yield break;
            }

            while (!ABManifestLoader.GetInstance().IsLoadFinish)
            {
                yield return(null);
            }

            _ManifestObj = ABManifestLoader.GetInstance().GetABManifest();

            if (_ManifestObj == null)
            {
                Debug.LogError("_ManifestObj == null");
                yield break;
            }

            //把当前场景加入集合中
            if (!_DicAllScene.ContainsKey(sceneName))
            {
                MultiABMgr multiABMgrObj = new MultiABMgr(sceneName, abName, loadAllCompleteHandle);
                _DicAllScene.Add(sceneName, multiABMgrObj);
            }
            //调用 多包管理类
            MultiABMgr tmpMultiABMgrObj = _DicAllScene[sceneName];

            if (tmpMultiABMgrObj == null)
            {
                Debug.LogError("tmpMultiABMgrObj == null");
                yield break;
            }

            //加载指定AB包
            yield return(tmpMultiABMgrObj.LoadAssetBundle(abName));
        }
Esempio n. 25
0
 //释放本场景中所有资源
 public void DisposeAllAsset()
 {
     try{
         foreach (ABLoader item in this.abLoaderCache.Values)
         {
             item.DisposeAll();
         }
     }
     finally{
         this.abLoaderCache.Clear();
         this.abLoaderCache = null;
         //释放其他对象占用资源
         this.dicABrelaion.Clear();
         this.dicABrelaion             = null;
         this.loadAllABPackageComplete = null;
         this.currentABName            = null;
         this.currentScenesName        = null;
         //卸载没有使用到的资源
         Resources.UnloadUnusedAssets();
         //强制垃圾收集
         System.GC.Collect();
     }
 }
Esempio n. 26
0
        public IEnumerator LoadAB(string sencesName, string abName, DelLoadComplete loadAllCompleteHandle)
        {
            //参数检查
            if (string.IsNullOrEmpty(sencesName) || string.IsNullOrEmpty(abName))
            {
                Debug.LogError(GetType() + "/LoadAB()/sencesName or abName==null,please check!");
            }
            //等待Manifest清单文件加载完成
            while (!ABManifestLoader.Instance.isLoadFinish)
            {
                yield return(null);
            }
            manifest = ABManifestLoader.Instance.GetABManifest();
            if (manifest == null)
            {
                Debug.LogError(GetType() + "/LoadAB()/manifest==null,please check!");
                yield return(null);
            }

            MultABMgr multABMgr;

            //把当前场景加入到集合中
            if (!allScenes.ContainsKey(sencesName))
            {
                multABMgr = new MultABMgr(sencesName, abName, loadAllCompleteHandle);
                allScenes.Add(sencesName, multABMgr);
            }

            //调用下一层(多包管理员)
            multABMgr = allScenes[sencesName];
            if (multABMgr == null)
            {
                Debug.LogError(GetType() + "/LoadAB()/multABMgr==null,please check!");
            }
            //调用多包管理类的加载指定AB包
            yield return(multABMgr.LoadAB(abName));
        }
Esempio n. 27
0
        /// <summary>
        /// 下载AssetBundle指定包
        /// </summary>
        /// <param name="sceneName">场景名称</param>
        /// <param name="abName">AssetBundle名称</param>
        /// <param name="loadAllABCompleteHandle">AssetBundle名称</param>
        public IEnumerator LoadAssetBundlePackage(string sceneName, string abName, DelLoadComplete loadAllABCompleteHandle)
        {
            //参数检查
            if (string.IsNullOrEmpty(sceneName) || string.IsNullOrEmpty(abName))
            {
                Debug.LogError(GetType() + "/LoadAssetBundlePackage()/scenenName Or abName is Null ,请检查!");
                yield return(null);
            }
            //等待Manifest清单加载完成
            while (!ABManifestLoader.GetInstance().IsLoadFinish)
            {
                yield return(null);
            }
            //获取“AssetBundle(清单文件)系统类”
            _ManifestObj = ABManifestLoader.GetInstance().GetABManifest();
            //参数检查
            if (_ManifestObj == null)
            {
                Debug.LogError(GetType() + "/LoadAssetBundlePackage()/_ManifestObj==null,请先确保加载Manifest清单文件!");
                yield return(null);
            }
            //如果不包含指定场景,则先创建
            if (!_DicAllScenes.ContainsKey(sceneName))
            {
                CreateScenesAB(sceneName, abName, loadAllABCompleteHandle);
            }

            //调用下一层(“多AssetBundle管理”类)
            MultiABMgr tmpMultiABMgrObj = _DicAllScenes[sceneName];

            if (tmpMultiABMgrObj == null)
            {
                Debug.LogError(GetType() + "/LoadAssetBundlePackage()/tmpMultiABMgrObj==null , 请检查!");
            }
            yield return(tmpMultiABMgrObj.LoadAssetBundles(abName));
        }
Esempio n. 28
0
        //下载AssetBundle包
        public IEnumerator loadAssetBundlePack(string scenesName, string abName, DelLoadComplete loadAllComplete)
        {
            //参数检查
            if (string.IsNullOrEmpty(scenesName) || string.IsNullOrEmpty(abName))
            {
                Debug.LogError("scenesName为空,abName为空");
                yield return(null);
            }
            //等待manifest加载完成
            while (!ABManifestLoader.Instance.IsLoadFinish)
            {
                yield return(null);
            }
            this.manifestObj = ABManifestLoader.Instance.GetManifestObj();
            if (this.manifestObj == null)
            {
                Debug.LogError("manifestObj为空,请检查");
                yield return(null);
            }
            //把当前场景加入集合中
            if (!this.dicAllScenes.ContainsKey(scenesName))
            {
                MultAB multABObj = new MultAB(scenesName, abName, loadAllComplete);
                this.dicAllScenes.Add(scenesName, multABObj);
            }
            //调用下一层
            MultAB tempMultABObj = this.dicAllScenes[scenesName];

            if (tempMultABObj == null)
            {
                Debug.LogError("tempMultABObj为空,请检查");
                yield return(null);
            }
            //调用多包管理类
            yield return(tempMultABObj.LoadAssetBundeler(scenesName + "/" + abName));
        }
        /// <summary>
        /// 加载指定场景,指定包
        /// </summary>
        /// <param name="sceneName">场景名称</param>
        /// <param name="abName">assetBundle 名称</param>
        /// <param name="loadAllCompleteHandle">制定的AB包加载完成之后,执行的方法</param>
        /// <returns></returns>
        public IEnumerator LoadAssetBundlePack(string sceneName, string abName, DelLoadComplete loadAllCompleteHandle)
        {
            if (_Instance == null)
            {
                yield break;
            }
            // 参数检查
            if (string.IsNullOrEmpty(sceneName) || string.IsNullOrEmpty(abName) || loadAllCompleteHandle == null)
            {
                Debug.LogError(GetType() + "/LoadAssetBundlePack()/sceneName or abName or loadAllCompleteHandle =null");
                yield  break;
            }
            if (!abName.Contains("."))
            {
                Debug.LogError(GetType() + "/LoadAssetBundlePack()/ abName需要有后缀的(.ab或.scene)");
            }
            // 规范化参数
            string _CurrentSceneName = sceneName.ToLower();
            string _CurrentAB        = String.Empty;

            if (abName.Contains("/"))
            {
                _CurrentAB = abName.ToLower();
            }
            else
            {
                _CurrentAB = _CurrentSceneName + "/" + abName.ToLower();
            }

            // 等待Manifest清单文件加载完成
            while (!ABManifestLoader.GetInstance().IsLoadFinish)
            {
                yield return(null);
            }
            _ManifestObj = ABManifestLoader.GetInstance().GetABManifest();
            if (_ManifestObj == null)
            {
                Debug.LogError(GetType() + "/LoadAssetBundlePack()/_ManifestObj =null");
                yield break;
            }
            // 把当前场景加入集合
            if (!_DicAllScenes.ContainsKey(_CurrentSceneName))
            {
                MultiABManager multiMgrObj = new MultiABManager(_CurrentSceneName);
                _DicAllScenes.Add(_CurrentSceneName, multiMgrObj);
            }

            // 调用下一层(MultiABManager)
            MultiABManager tmpMultiAbManager = _DicAllScenes[_CurrentSceneName];

            if (tmpMultiAbManager == null)
            {
                Debug.LogError(GetType() + "/LoadAssetBundlePack()/tmpMultiAbManager=null");
                yield break;
            }
            else
            {
                tmpMultiAbManager.SetCurrentABNameAndHandler(_CurrentAB, loadAllCompleteHandle);
                // 调用“多包管理类”来加载指定AB包
                yield return(tmpMultiAbManager.LoadAssetBundle(_CurrentAB));
            }
        }
Esempio n. 30
0
 /// <summary>
 /// 下载AssetBundel 指定包(可以供lua调用使用)
 /// </summary>
 /// <param name="scenesName">场景名称</param>
 /// <param name="abName">AssetBundle 包名称</param>
 /// <param name="loadAllCompleteHandle">委托: 调用是否完成</param>
 public void LoadAssetBundlePackage(string scenesName, string abName, DelLoadComplete loadAllCompleteHandle)
 {
     StartCoroutine(LoadAssetBundlePack(scenesName, abName, loadAllCompleteHandle));
 }