// load raw file public static byte[] LoadRaw(string relativePath) { #if ASSETBUNDLE if (dependence_ == null) { LoadDependence(); // preload bundles LoadDefault(); } return(AutherFile.GetData(relativePath)); #else string path = UIPathManager.GetStreamPath() + relativePath; if (File.Exists(path)) { FileStream fs = File.OpenRead(path); int length = (int)fs.Length; byte[] data = new byte[length]; fs.Read(data, 0, length); fs.Close(); return(data); } else { return(null); } #endif }
// Unload bundles and close Auther file public static void Close() { #if ASSETBUNDLE UnloadBundles(true); main_ = null; if (scripts_ != null) { scripts_.Unload(true); scripts_ = null; } dependence_ = null; if (dependence_bundle_ != null) { dependence_bundle_.Unload(true); dependence_bundle_ = null; } if (asset_dependence_ != null) { asset_dependence_.Clear(); } AutherFile.LKFile_UnInit(); #endif }
public static void InitStreamingAssetsPath(string path) { #if ASSETBUNDLE data_path_ = path; AutherFile.LKFile_InitOnlyRead(data_path_); #endif }
public static void InitData() { #if ASSETBUNDLE InitPath(); if (AutherFile.LKFile_Init(data_path_) == false) { throw new System.Exception("data file do not exist"); } #endif }
public void ExcuteUnzip(string zipPath, string destPath) { int UpdateRegisterClassStr = AutherFile.GetStringHash("UpdateUI/UpdateRegisterClass.txt"); int UpdateConfigStr = AutherFile.GetStringHash("Utils/UpdateConfig.txt"); int UpdateControllerStr = AutherFile.GetStringHash("Utils/UpdateController.txt"); Thread thread = new Thread(delegate() { try { unZipIng = true; ZipFile z = new ZipFile(zipPath); long unZipCount = z.Count; z.Close(); ZipInputStream zip = new ZipInputStream(File.OpenRead(zipPath)); ZipEntry theEntry; int curUnzipCount = 0; while ((theEntry = zip.GetNextEntry()) != null) { int theEntryName = int.Parse(theEntry.Name); if (theEntry.IsFile) { byte[] bytesBuffer = new byte[theEntry.Size]; int i = zip.Read(bytesBuffer, 0, bytesBuffer.Length); AutherFile.PutData(theEntryName, bytesBuffer); if (theEntryName.Equals(UpdateRegisterClassStr) || theEntryName.Equals(UpdateConfigStr) || theEntryName.Equals(UpdateControllerStr)) { existsUpdateLua = true; } Debug.Log("PutData " + theEntryName); } curUnzipCount++; progress = (float)curUnzipCount / unZipCount; } zip.Close(); zip.Dispose(); unZipSuccess = true; unZipIng = false; } catch (Exception e) { isError = true; Debug.Log(e.Message); } }); thread.Start(); }
public static AssetBundleCreateRequest LoadBundleAsync(string name) { #if ASSETBUNDLE int offset = AutherFile.LKFile_GetDataOffset(name); if (offset == -1) { Debug.LogError(name + " not exsit"); return(null); } else { AssetBundleCreateRequest request = AssetBundle.LoadFromFileAsync(data_path_ + "/data", 0, (ulong)offset); return(request); } #else return(null); #endif }
private static AssetBundle LoadBundle(string name) { #if ASSETBUNDLE int offset = AutherFile.LKFile_GetDataOffset(name); if (offset == -1) { Debug.LogError(name + " not exsit"); return(null); } else { AssetBundle ab = AssetBundle.LoadFromFile(data_path_ + "/data", 0, (ulong)offset); #if DEBUG ab.name = name; #endif return(ab); } #else return(null); #endif }
private static void LoadDependence() { #if ASSETBUNDLE dependence_bundle_ = LoadBundle("assetbundles"); dependence_ = dependence_bundle_.LoadAsset <AssetBundleManifest>("assetbundlemanifest"); byte[] dependency = AutherFile.GetData("asset_dependency"); MemoryStream se = new MemoryStream(dependency); StreamReader sr = new StreamReader(se); string[] list; string assetBundleName = string.Empty; string s = sr.ReadLine(); while (s != null) { if (s[0] != '\t') { assetBundleName = s; } else { list = s.Substring(1).Split('|'); //assetName|ext if (list.Length == 2) { AssetNameNode asset_node = new AssetNameNode(); asset_node.name_ = list[0] + list[1]; asset_node.bundle_name_ = assetBundleName; asset_dependence_.Add(list[0], asset_node); } } s = sr.ReadLine(); } se.Close(); sr.Close(); #endif }