Esempio n. 1
0
 //
 //加载一个逻辑资源,使用阻塞加载
 public void AsynLoadLogicRes(string path, LogicResouce.ELogicResType type, OnResLoaded onLoaded = null)
 {
     if (GetLogicRes(path) != null)
     {
         if (onLoaded != null)
         {
             onLoaded(path);
         }
         return;
     }
     //
     //LogicResouce res = new LogicResouce();
     //res.resPath = path;
     //res.logicResType = type;
     switch (type)
     {
     case LogicResouce.ELogicResType.ERes_Effect:
     {
         LoadImpl(path, PhyResouce.EPhyResType.EPhyResPrefab,
                  (resPath) =>
             {
                 AssetBundle ab = ResourceManager.Instance.GetPhyRes(path).assetBundle;
                 StringScriptableObject holder     = (StringScriptableObject)ab.Load("DependentBundleNames");
                 LogicResourceBuilder logicBuilder = new LogicResourceBuilder();
                 logicBuilder.resPath                = resPath;
                 logicBuilder.logicResType           = type;
                 logicBuilder.onLogicResourceBuilded = (builderPath) =>
                 {
                     if (onLoaded != null)
                     {
                         onLoaded(builderPath);
                     }
                 };
                 //
                 if (holder != null)
                 {
                     if (holder.content != null)
                     {
                         foreach (string s in holder.content)
                         {
                             logicBuilder.resLists.Add(s);
                             LoadImpl(s, PhyResouce.EPhyResType.EPhyResPrefab);
                             //Debug.LogError(s);
                         }
                     }
                 }
                 ResourceManager.Instance.AddLogicResourceBuilder(logicBuilder);
             }
                  , null);
     }
     break;
     }
 }
Esempio n. 2
0
        //添加一个逻辑文件,并将所有依赖的文件加入加载队列
        public void AddLogicFile(string logicFile, LogicResouce.ELogicResType logicResType)
        {
            //if (ResourceManager.Instance.GetLogicRes(logicFile) != null)
            //{
            //    return;
            //}
            if (logicReqDic.ContainsKey(logicFile) == true)
            {
                return;
            }
            //
            LogicLoadRequest loadReq = new LogicLoadRequest();

            loadReq.resPath = logicFile;
            loadReq.resType = logicResType;

            logicReqDic.Add(logicFile, loadReq);

            //
        }
Esempio n. 3
0
 public static PhyResouce.EPhyResType getRootResType(LogicResouce.ELogicResType type)
 {
     return(PhyResouce.EPhyResType.EPhyResPrefab);
 }