public void DownLoadResourcesAndSave(string relativePath) { string path = NetSystemFacade.ResourceURL + "/" + relativePath + "." + FileExtension; AssetBundleStream abStream = new AssetBundleStream(); abStream.OnLoadFinish += () => { AssetBundleWriteArgs args = new AssetBundleWriteArgs(); args.Bytes = abStream.Bytes; args.Path = path; abStream.WriteResource(args); }; abStream.ReadResouce(path); }
public AssetBundleStream LoadResourceFromAB(string resName, Action onLoadFinish = null) { AssetBundleStream abStream = new AssetBundleStream(); abStream.OnLoadFinish += onLoadFinish; if (ResDict.ContainsKey(resName)) { string path = NetSystemFacade.ResourceURL + "/" + resName + "." + FileExtension; for (int i = 0; i < ResDict[resName].Dependencys.Count; i++) { AssetBundleStream abChildStream = LoadResourceFromAB(ResDict[resName].Dependencys[i]); abChildStream.OnLoadFinish += () => { bool isLoaded = true; LoadedRes.Add(PathUtils.GetFileNameWithoutExtension(abChildStream.Bundle.name)); DebugUtils.DebugRedInfo(abChildStream.Bundle.name); for (int j = 0; j < ResDict[resName].Dependencys.Count; j++) { if (!LoadedRes.Contains(ResDict[resName].Dependencys[j])) { DebugUtils.DebugRedInfo(ResDict[resName].Dependencys[j]); isLoaded = false; } } if (isLoaded) { abStream.ReadResouce(path); } }; string chidResName = ResDict[resName].Dependencys[i]; DebugUtils.DebugRedInfo(chidResName); if (ResDict.ContainsKey(chidResName)) { string childPath = NetSystemFacade.ResourceURL + "/" + chidResName + "." + FileExtension; abChildStream.ReadResouce(childPath); } } } return(abStream); }