private void UpdateOutAppAssetPath(HotUpdateAssetItem info) { int i = 0; for (i = 0; i < localAssetOutAppList.assetList.Count; i++) { var assetInfo = localAssetOutAppList.assetList[i]; if (assetInfo.assetPath == info.assetPath) { assetInfo.md5 = info.md5; break; } } if (i >= localAssetOutAppList.assetList.Count) { localAssetOutAppList.assetList.Add(info); } }
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(); }