private static void CreateAssetList(string assetBundleFullPath) { EditorUtility.DisplayProgressBar("CreateAssetsList", "progress: ", 0); //读取所有文件,并创建md5文件 HotUpdateAssetsList hotUpdateAssetsList = new HotUpdateAssetsList(); DirectoryInfo directoryInfo = new DirectoryInfo(assetBundleFullPath); FileInfo[] allAsset = directoryInfo.GetFiles(); for (int i = 0; i < allAsset.Length; i++) { EditorUtility.DisplayProgressBar("CreateAssetsList", "progress: ", 1f * i / allAsset.Length); FileInfo fileInfo = allAsset[i]; string fullName = fileInfo.FullName.Replace("\\", "/"); string rootDirectoryPath = assetBundleFullPath.Replace("\\", "/"); string assetName = fullName.Substring(rootDirectoryPath.Length + 1); if (assetName == assetListName) { continue; } if (assetName.Split('.').Length > 0) { assetName = assetName.Split('.')[0]; } //StreamReader fileStream = fileInfo.OpenText(); //string fileStr = fileStream.ReadToEnd(); //fileStream.Close(); string md5 = MD5Builder.BuildMD5(fileInfo.FullName); HotUpdateAssetItem hotUpdateAssetItem = new HotUpdateAssetItem(assetName, md5); hotUpdateAssetsList.assetList.Add(hotUpdateAssetItem); } EditorUtility.ClearProgressBar(); EditorUtility.DisplayProgressBar("Write \"CreateAssetsList to file\" ", "progress: ", 0); string assetListJsonStr = JsonUtility.ToJson(hotUpdateAssetsList); string assetListPath = Path.Combine(assetBundleFullPath, assetListName); File.WriteAllText(assetListPath, assetListJsonStr); EditorUtility.ClearProgressBar(); }
public override bool IsAssetRight() { string assetMD5 = MD5Builder.BuildMD5(asset); return(string.Compare(assetMD5, this.md5) == 0); }