// ----------------------------------------------------------------------------------------------------------------------------------- public void Load(RuntimeAssetType type, string indexName, bool isCacheToRecord = false, Action <object> OnAssetLoaded = null) { if (!IsInitialized) { Debug.Log("尚未初始化!"); return; } AssetRecord record = RecordsInfo.GetAssetRecord(type, indexName); if (record != null) { //LoadMethod loadMethod = (type == RuntimeAssetType.BUNDLE_PREFAB || // type == RuntimeAssetType.BUNDLE_SCENE) ? // LoadMethod.BUNDLE_FILE : LoadMethod.WWW; //LoadFile loadFile = record.GetLoadFile(FileAddressType.LOCAL, isCacheToRecord, // loadMethod, FileAddressType.NULL, OnAssetLoaded); LoadBehaviour behaviour = (type == RuntimeAssetType.BUNDLE_PREFAB || type == RuntimeAssetType.BUNDLE_SCENE) ? LoadBehaviour.ContentLoadFromLoacal_LoadBundleFile : LoadBehaviour.ContentLoadFromLoacal_WWW; LoadFile loadFile = record.GetLoadFile(behaviour, isCacheToRecord, OnAssetLoaded); LoadFileController.Instance.Load(loadFile); } else { Debug.Log(indexName + "未找到此资源!!!!!"); } }
private void SetMainManifest(UpdateFiles updateFiles) { AssetRecordsInfo info = AssetsManager.Instance.RecordsInfo; AssetRecord record = info.GetAssetRecord(RuntimeAssetType.MANIFEST, info.mainManifestFileName); if (record != null) { LoadFile loadFile = record.GetLoadFile(LoadBehaviour.ContentLoadFromLoacal_LoadBundleFile, false, (obj) => { AssetBundle bundle = obj as AssetBundle; AssetsManager.Instance.ABManifest = bundle.LoadAsset <AssetBundleManifest>("AssetBundleManifest"); }, (loaded) => { //string[] testArray = mainManifest.GetAllAssetBundles(); //var it = testArray.GetEnumerator(); //while (it.MoveNext()) //{ // Debug.Log(it.Current); //} AssetsManager.Instance.IsInitialized = true; Debug.Log("资源以及配置加载完毕!"); if (updateFiles.onUpdated != null) { updateFiles.onUpdated(); } }); LoadFileController.Instance.Load(loadFile); } }
public void LoadMulti(Queue <AssetRecord> queue, bool isCacheToRecord, LoadMethod method, Action <object> onLoadingEnd, Action onAllLoaded) { if (queue.Count == 0 && onAllLoaded != null) { Debug.Log("LoadMulti ~ 无任何可加载的东西 "); onAllLoaded(); } else { int count = queue.Count; ProgressMonitor monitor = new ProgressMonitor(count, ProgressState.LOAD); while (queue.Count > 0) { AssetRecord assetRecord = queue.Dequeue(); LoadFile loadFile = assetRecord.GetLoadFile(LoadBehaviour.ContentLoadFromLoacal_LoadBundleFile, isCacheToRecord, onLoadingEnd, (loadedFile) => { count--; monitor.Refresh(loadedFile); if (count == 0 && onAllLoaded != null) { onAllLoaded(); } }); LoadFileController.Instance.Load(loadFile); } } }
private void LoadFiles(List <AssetRecord> list, LoadBehaviour behaviour, bool isCacheToRecord, Action onAllLoaded) { if (list.Count == 0 && onAllLoaded != null) { onAllLoaded(); } else { int count = list.Count; monitor.CaculateInit(count); var it = list.GetEnumerator(); while (it.MoveNext()) { AssetRecord assetRecord = it.Current; LoadFile loadFile = assetRecord.GetLoadFile(behaviour, isCacheToRecord, null, (loadedFile) => { if (!loadedFile.IsLoadSuccess) { isAllFilesExist = false; } count--; monitor.Refresh(loadedFile); if (count == 0 && onAllLoaded != null) { onAllLoaded(); } }); LoadFileController.Instance.Load(loadFile); } } }