public static void SetAssetLabels() { resourceCount = 0; typeAssets = new Dictionary <string, List <string> >(); if (File.Exists(configPath)) { File.Delete(configPath); } List <string> files = FindAllFiles.ListFiles(buildAssetsPath, true); abConfig = new ABConfig(); abConfig.data = new List <ABConfigInfo>(); FileStream fs = new FileStream(configPath, FileMode.Create); StreamWriter sw = new StreamWriter(fs); SetABName(files, true); string js = EditorJsonUtility.ToJson(abConfig, true); sw.Write(js); sw.Close(); fs.Close(); AssetDatabase.Refresh(); SetABName(new List <string> { configPath }, true); }
public static void CopyFile(string scrPath, string desPath, bool encrpt = false) { if (!Directory.Exists(desPath)) { Directory.CreateDirectory(desPath); } Dictionary<uint, string> hashToPath = new Dictionary<uint, string>(); List<string> tempFiles = FindAllFiles.ListFiles(scrPath); foreach (string file in tempFiles) { string newFile = (desPath + file.Replace(scrPath, "")).ToLower(); string newPath = Path.GetDirectoryName(newFile).ToLower(); if (encrpt) { string hashFile = newFile.Substring(desPath.Length + 1); uint hash = EncryptUtil.FileNameHash(hashFile); string existPath; if (hashToPath.TryGetValue(hash, out existPath)) { Debug.LogError("Hash collision, hash code : " + hash + ", path :" + newFile + ", exist path : " + existPath); continue; } newPath = desPath + "/" + hash; } else { if (!Directory.Exists(newPath)) { Directory.CreateDirectory(newPath); } } if (File.Exists(newFile)) { File.Delete(newFile); } if (encrpt) { byte[] bytes = File.ReadAllBytes(file); EncryptUtil.Encryption(bytes); File.WriteAllBytes(newPath, bytes); } else { File.Copy(file, newFile, true); } } AssetDatabase.Refresh(); }
public void Init() { if (questList != null) { return; } questList = new List <HexQuest>(); FindAllFiles.ListFiles(PathUtil.GetQuestDir(HexQuestType.MAIN), false, LoadQuestFormFile); }
/// <summary> /// 生成bundlefiles /// </summary> //[@MenuItem(kGenerateAssetBundleFiles, false, 2051)] public static void GenerateFiles() { string bundlefilesPath = Path.Combine(bundlesPath, bundlefilesName); List <string> files = FindAllFiles.ListFiles(bundlesPath, true); List <string> record = new List <string>(); for (int i = 0; i < files.Count; i++) { string filePath = files[i]; string ext = Path.GetExtension(filePath); string name = Path.GetFileName(filePath); if (ext.Equals(".meta") || ext.Equals(".manifest")) { continue; } if (ext.Equals(".ab") || ext.Equals("") || name.Contains("patchs")) { GLog.Log(name); byte[] fileByte = File.ReadAllBytes(filePath); string md5 = MD5Util.MD5(fileByte); int size = fileByte.Length; string relativePath = filePath.Replace(bundlesPath, string.Empty).Trim(); StringBuilder sb = new StringBuilder(); sb.Append(relativePath); sb.Append("|"); sb.Append(md5); sb.Append("|"); sb.Append(size); record.Add(sb.ToString()); } } FileStream fs = new FileStream(bundlefilesPath, FileMode.Create); StreamWriter sw = new StreamWriter(fs); for (int i = 0; i < record.Count; i++) { string value = record[i]; sw.WriteLine(value); } sw.Close(); fs.Close(); AssetDatabase.Refresh(); }
public static void ClearAssetLabels() { resourceCount = 0; typeAssets = new Dictionary <string, List <string> >(); List <string> files = FindAllFiles.ListFiles(buildAssetsPath, true); if (File.Exists(configPath)) { File.Delete(configPath); } abConfig = new ABConfig(); abConfig.data = new List <ABConfigInfo>(); SetABName(files, false); AssetDatabase.Refresh(); }
public void Init() { if (questList != null) { return; } questList = new List <HexQuest>(); FindAllFiles.ListFiles(PathUtil.GetQuestDir(HexQuestType.CUSTOM), false, (fileName) => { HexQuest quest = new HexQuest(); quest.type = HexQuestType.CUSTOM; quest.Load(fileName); questList.Add(quest); CustomModel.MAX_QUEST_ID = Mathf.Max(CustomModel.MAX_QUEST_ID, quest.id); }); }