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); }
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); }
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); }
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(); }