Exemplo n.º 1
0
 static void InternalLoadAsset(string path, string file, CallBackDelegate <object, object> callBack, GetPathFunc getPathFunc, GetDependBundlesFunc getDependBundlesFunc, LoadFunc loadFunc)
 {
     AssetLoaderManager.Instance.LoadAsset(path, file, callBack, getPathFunc, getDependBundlesFunc, loadFunc);
 }
Exemplo n.º 2
0
        public void LoadAsset(string path, string fileName, CallBackDelegate <object, object> callBack, GetPathFunc getPathFunc, GetDependBundlesFunc getDependenciesFunc, LoadFunc loadAssetFunc, bool externalScene = false)
        {
            string assetBundleName = path + fileName;
            string assetBundlePath = getPathFunc(assetBundleName);
            Bundle bundle          = this.GetBundle(assetBundlePath, true);

            bundle.mExternalScene = externalScene && mIsMobilePlatform;
            if (mBundleLoadTaskList.ContainsKey(bundle))
            {
                mBundleLoadTaskList[bundle].AddParams(fileName, callBack, loadAssetFunc);
                return;
            }
            if (bundle.mLoadCompleted)
            {
                bundle.LoadParams(fileName, callBack, loadAssetFunc);
                return;
            }
            if (mIsMobilePlatform && callBack != null)
            {
                bundle.mPreloadAssetName = fileName;
            }
            Bundle[] dependBundles = this.GetDependBundles(assetBundleName, getPathFunc, getDependenciesFunc);
            bundle.SetDependBundles(dependBundles);
            this.mLoadedBunders[assetBundlePath] = bundle.mBundle;
            LoadTask loadTask = new LoadTask(bundle, dependBundles);

            loadTask.AddParams(fileName, callBack, loadAssetFunc);
            mBundleLoadTaskList[bundle] = loadTask;
            mTask.Insert(0, loadTask);
            //mTask.Add(  loadTask );
            this.StartLoadTask();
        }
Exemplo n.º 3
0
 static void InternalLoadScene(string file, CallBackDelegate <object, object> callBack, GetPathFunc getPathFunc, GetDependBundlesFunc getDependBundlesFunc, bool exernalScene)
 {
     AssetLoaderManager.Instance.LoadAsset(ResourceURL.GetScenePath(), file, callBack, getPathFunc, getDependBundlesFunc, new LoadFunc(LoadSceneFunc), exernalScene);
 }
Exemplo n.º 4
0
 private Bundle[] GetDependBundles(string assetBundleName, GetPathFunc getPathFunc, GetDependBundlesFunc getDependenciesFunc)
 {
     string[] dependencies  = getDependenciesFunc(assetBundleName);
     Bundle[] dependBundles = new Bundle[dependencies.Length];
     if (dependencies.Length > 0)
     {
         int i = 0;
         foreach (var v in dependencies)
         {
             dependBundles[i] = this.GetBundle(getPathFunc(dependencies[i]));
             i++;
         }
     }
     return(dependBundles);
 }