コード例 #1
0
 public TeacherCallBackNode(string tmpRes, string tmpBundle, string sceneName, CallLuaFunction tmpLua, bool single, TeacherCallBackNode tmpNode)
 {
     this.resName    = tmpRes;
     this.bundleName = tmpBundle;
     this.sceneName  = sceneName;
     this.luaFunc    = tmpLua;
     this.isSingle   = single;
     this.nextValue  = tmpNode;
 }
コード例 #2
0
 public void Dispose(string bundle)
 {
     if (manager.ContainsKey(bundle))
     {
         TeacherCallBackNode tmpNode = manager[bundle];
         while (tmpNode.nextValue != null)
         {
             TeacherCallBackNode curNode = tmpNode;
             tmpNode = tmpNode.nextValue;
             curNode.Dispose();
         }
         tmpNode.Dispose();
         manager.Remove(bundle);
     }
 }
コード例 #3
0
 public void AddBundleCallBack(string bundle, TeacherCallBackNode tmpNode)
 {
     if (manager.ContainsKey(bundle))
     {
         TeacherCallBackNode tmpAddNode = manager[bundle];
         while (tmpAddNode.nextValue != null)
         {
             tmpNode = tmpNode.nextValue;
         }
         tmpNode.nextValue = tmpNode;
     }
     else
     {
         manager.Add(bundle, tmpNode);
     }
 }
コード例 #4
0
 public void GetResources(string sceneName, string bundleName, string res, bool single, CallLuaFunction luaFunc)
 {
     if (!ILoaderManager.Instance.IsLoadBundleFinish(sceneName, bundleName))
     {
         ILoaderManager.Instance.LoadAsset(sceneName, bundleName, LoaderProgrecess);
         string bundleFullName = ILoaderManager.Instance.GetBundleRetateName(sceneName, bundleName);
         if (bundleFullName != null)
         {
             TeacherCallBackNode tmpNode = new TeacherCallBackNode(sceneName, bundleName, res, luaFunc, single, null);
             CallBack.AddBundleCallBack(bundleFullName, tmpNode);
             Debug.Log("GetRescources ==" + bundleFullName);
         }
         else
         {
             Debug.LogWarning("Do not contain bundle ==" + bundleName);
         }
     }
     //表示已经加载完成
     else if (ILoaderManager.Instance.IsLoadBundleFinish(sceneName, bundleName))
     {
         if (single)
         {
             object tmpObj = ILoaderManager.Instance.GetSingleResources(sceneName, bundleName, res);
             luaFunc.Call(sceneName, bundleName, res, tmpObj);
         }
         else
         {
             object[] tmpObj = ILoaderManager.Instance.GetMultiResources(sceneName, bundleName, res);
             luaFunc.Call(sceneName, bundleName, res, tmpObj);
         }
     }
     else
     {
         //已经加载但是没有完成
         string bundleFullName = ILoaderManager.Instance.GetBundleRetateName(sceneName, bundleName);
         if (bundleFullName != null)
         {
             TeacherCallBackNode tmpNode = new TeacherCallBackNode(sceneName, bundleName, res, luaFunc, single, null);
             CallBack.AddBundleCallBack(bundleName, tmpNode);
         }
         else
         {
             Debug.LogWarning("Do not contain bundle ==" + bundleName);
         }
     }
 }
コード例 #5
0
 public void CallBackLua(string bundle)
 {
     if (manager.ContainsKey(bundle))
     {
         TeacherCallBackNode tmpNode = manager[bundle];
         do
         {
             if (tmpNode.isSingle)
             {
                 object tmpObj = ILoaderManager.Instance.GetSingleResources(tmpNode.sceneName, tmpNode.bundleName, tmpNode.resName);
                 tmpNode.luaFunc.Call(tmpNode.sceneName, tmpNode.bundleName, tmpNode.resName, tmpObj);
             }
             else
             {
                 object[] tmpObj = ILoaderManager.Instance.GetMultiResources(tmpNode.sceneName, tmpNode.bundleName, tmpNode.resName);
                 tmpNode.luaFunc.Call(tmpNode.sceneName, tmpNode.bundleName, tmpNode.resName, tmpObj);
             }
             tmpNode = tmpNode.nextValue;
         }while (tmpNode != null);
     }
 }
コード例 #6
0
 internal void AddBundleCallBack(string bundleFullName, TeacherCallBackNode tmpNode)
 {
     throw new NotImplementedException();
 }