public static void BuildAllArtsFileList() { s_AllArtsFiles.Clear(); DateTime dt1 = System.DateTime.UtcNow; DisposeSceneRes(); DateTime dt2 = System.DateTime.UtcNow; DisposeResourceFolder(); DateTime dt3 = System.DateTime.UtcNow; ArtResourceFileList filelist = BuildMD5(); DateTime dt4 = System.DateTime.UtcNow; BuildCommon.WriteJsonToFile("Assets", "ArtsFileList.txt", filelist, true); DateTime dt5 = System.DateTime.UtcNow; string info = string.Format("MD5计算完成\n总共{0}个文件\n耗时:{1}分钟\n其中:\n" , s_AllArtsFiles.Count, (dt5 - dt1).TotalMinutes.ToString("f1")); info = string.Format("{0}分析场景资源耗时:{1}秒\n", info, (dt2 - dt1).TotalSeconds.ToString("f1")); info = string.Format("{0}分析Resource资源耗时:{1}秒\n", info, (dt3 - dt2).TotalSeconds.ToString("f1")); info = string.Format("{0}生成MD5耗时:{1}秒\n", info, (dt4 - dt3).TotalSeconds.ToString("f1")); info = string.Format("{0}保存MD5文件耗时:{1}秒\n", info, (dt5 - dt4).TotalSeconds.ToString("f1")); EditorUtility.DisplayDialog("计算完成", info, "好的"); }
public static string GetMD5FromFile(string path) { if (string.IsNullOrEmpty(path)) { return(""); } if (s_FileList == null) { s_FileList = BuildCommon.ReadJsonFromFile <ArtResourceFileList>("Assets/" + "ArtsFileList.txt"); } if (s_FileList == null) { return(""); } return(s_FileList.GetMD5(path)); }
static ArtResourceFileList BuildMD5() { ArtResourceFileList filelist = new ArtResourceFileList(); filelist.m_BuildTime = System.DateTime.Now.ToString(); for (int i = 0; i < s_AllArtsFiles.Count; i++) { string path = s_AllArtsFiles[i]; string md5 = GetUnityFileMD5(path); //ArtResourceInfo info = new ArtResourceInfo(); //info.mFilePath = path; //info.mFileMD5 = md5; filelist.m_ResourceInfoList.Add(path, md5); PackAssetBundleUtlis.ShowProgress(i, s_AllArtsFiles.Count, "计算MD5:", path); } EditorUtility.ClearProgressBar(); return(filelist); }