コード例 #1
0
ファイル: LoadInfo.cs プロジェクト: xqy/game
        /// <summary>
        /// 克隆(浅克隆)
        /// </summary>
        /// <returns>一个新的LoadInfo实例</returns>
        public LoadInfo clone()
        {
            LoadInfo newInfo = new LoadInfo();
            newInfo.fullName = fullName;

            newInfo.loadProgressNum = loadProgressNum;
            newInfo.unZipProgressNum = unZipProgressNum;
            newInfo.error = error;
            newInfo.assetBundle = assetBundle;

            newInfo.loadType = loadType;
            newInfo.priority = priority;
            newInfo.request = request;
            newInfo.assets = assets;

            newInfo.loadStart = loadStart;
            newInfo.loadProgress = loadProgress;
            newInfo.loadEnd = loadEnd;
            newInfo.loadFail = loadFail;
            newInfo.unZipStart = unZipStart;
            newInfo.unZipProgress = unZipProgress;
            newInfo.unZipEnd = unZipEnd;
            newInfo.unZipFail = unZipFail;
            return newInfo;
        }
コード例 #2
0
ファイル: LoadManager.cs プロジェクト: xqy/game
 //=====================================================================
 /// <summary>
 /// 加载资源,如果资源已经加载过,则直接从缓存中获取
 /// </summary>
 /// <param name="fullName">全名</param>
 /// <param name="priority">优先级</param>
 /// <param name="loadType">加载类型</param>
 /// <param name="loadStart">加载开始前执行的方法</param>
 /// <param name="loadProgress">加载开始后且在结束前每帧执行的方法</param>
 /// <param name="loadEnd">加载结束后执行的方法</param>
 /// <param name="loadFail">加载失败后执行的方法</param>
 /// <param name="unZipStart">解压开始前执行的方法</param>
 /// <param name="unZipProgress">解压开始后且在结束前每帧执行的方法</param>
 /// <param name="unZipEnd">解压完毕后执行的方法</param>
 /// <param name="unZipFail">解压失败后执行的方法</param>
 public void addLoad(string fullName, LoadPriority priority = LoadPriority.two, LoadType loadType = LoadType.local,
     LoadFunctionDele loadStart = null, LoadFunctionDele loadProgress = null, 
     LoadFunctionDele loadEnd = null, LoadFunctionDele loadFail = null,
     LoadFunctionDele unZipStart = null, LoadFunctionDele unZipProgress = null,
     LoadFunctionDele unZipEnd = null, LoadFunctionDele unZipFail = null)
 {
     LoadInfo loadInfo = new LoadInfo();
     loadInfo.fullName = fullName;
     loadInfo.priority = priority;
     loadInfo.loadType = loadType;
     loadInfo.loadStart = loadStart;
     loadInfo.loadProgress = loadProgress;
     loadInfo.loadEnd = loadEnd;
     loadInfo.loadFail = loadFail;
     loadInfo.unZipStart = unZipStart;
     loadInfo.unZipProgress = unZipProgress;
     loadInfo.unZipEnd = unZipEnd;
     loadInfo.unZipFail = unZipFail;
     addLoad(loadInfo);
 }
コード例 #3
0
ファイル: LoadManager.cs プロジェクト: xqy/game
 /// <summary>
 /// 加载资源,如果资源已经加载过,则直接从缓存中获取
 /// </summary>
 /// <param name="loadInfo">加载资源的相关信息</param>
 public void addLoad(LoadInfo loadInfo)
 {
     if (string.IsNullOrEmpty(loadInfo.fullName))
     {
         throw new Exception("LoadManager.instance.load()的fullName不能为空");
     }
     if (loadDic.ContainsKey(loadInfo.fullName))
     {
         LoadInfo info = loadDic[loadInfo.fullName];
         delegateAddition(info.loadStart, loadInfo.loadStart);
         delegateAddition(info.loadProgress, loadInfo.loadProgress);
         delegateAddition(info.loadEnd, loadInfo.loadEnd);
         delegateAddition(info.loadFail, loadInfo.loadFail);
         delegateAddition(info.unZipStart, loadInfo.unZipStart);
         delegateAddition(info.unZipProgress, loadInfo.unZipProgress);
         delegateAddition(info.unZipEnd, loadInfo.unZipEnd);
         delegateAddition(info.unZipFail, loadInfo.unZipFail);
     }
     else
     {
         if (unZipList.containsKey(loadInfo.fullName))
         {
             LoadInfo info = unZipList.getValue(loadInfo.fullName);
             if (loadInfo.loadStart != null)
             {
                 loadInfo.loadStart(LoadData.getLoadData(loadInfo.fullName));
             }
             if (loadInfo.loadEnd != null)
             {
                 loadInfo.loadEnd(LoadData.getLoadData(loadInfo.fullName, 1, null, info.assetBundle));
             }
             if (loadInfo.unZipStart != null)
             {
                 loadInfo.unZipStart(LoadData.getLoadData(loadInfo.fullName, 1));
             }
             delegateAddition(info.unZipProgress, loadInfo.unZipProgress);
             delegateAddition(info.unZipEnd, loadInfo.unZipEnd);
             delegateAddition(info.unZipFail, loadInfo.unZipFail);
             return;
         }
         else
         {
             loadDic.Add(loadInfo.fullName, loadInfo);
         }
     }
     BundleLoadInfo newInfo = loadInfo.getBundleLoadInfo();
     newInfo.loadEnd = loadInfo.loadEnd + this.loadEnd;
     BundleLoadManager.instance.addLoad(newInfo);
 }