Parcourir la source

修复多次运行打包的exe报错的问题,是换用litjson序列化导致的

tanghai il y a 8 ans
Parent
commit
44b8c1a0ff

+ 1 - 1
Unity/Assets/Editor/BuildEditor/BuildHelper.cs

@@ -112,7 +112,7 @@ namespace MyEditor
 				long size = fi.Length;
 				string filePath = relativePath == "" ? fi.Name : $"{relativePath}/{fi.Name}";
 
-				versionProto.FileVersionInfos.Add(new FileVersionInfo
+				versionProto.FileInfoDict.Add(filePath, new FileVersionInfo
 				{
 					File = filePath,
 					MD5 = md5,

+ 3 - 3
Unity/Assets/Scripts/Component/BundleDownloaderComponent.cs

@@ -52,7 +52,7 @@ namespace Model
 			string versionPath = Path.Combine(PathHelper.AppHotfixResPath, "Version.txt");
 			if (!File.Exists(versionPath))
 			{
-				foreach (FileVersionInfo versionInfo in this.VersionConfig.FileVersionInfos)
+				foreach (FileVersionInfo versionInfo in this.VersionConfig.FileInfoDict.Values)
 				{
 					if(versionInfo.File == "Version.txt")
 					{
@@ -68,7 +68,7 @@ namespace Model
 				VersionConfig localVersionConfig = JsonHelper.FromJson<VersionConfig>(File.ReadAllText(versionPath));
 				Log.Debug("LocalVersion:\n" + JsonHelper.ToJson(localVersionConfig));
 				// 先删除服务器端没有的ab
-				foreach (FileVersionInfo fileVersionInfo in localVersionConfig.FileVersionInfos)
+				foreach (FileVersionInfo fileVersionInfo in localVersionConfig.FileInfoDict.Values)
 				{
 					if (this.VersionConfig.FileInfoDict.ContainsKey(fileVersionInfo.File))
 					{
@@ -79,7 +79,7 @@ namespace Model
 				}
 
 				// 再下载
-				foreach (FileVersionInfo fileVersionInfo in this.VersionConfig.FileVersionInfos)
+				foreach (FileVersionInfo fileVersionInfo in this.VersionConfig.FileInfoDict.Values)
 				{
 					FileVersionInfo localVersionInfo;
 					if (localVersionConfig.FileInfoDict.TryGetValue(fileVersionInfo.File, out localVersionInfo))

+ 1 - 4
Unity/Assets/Scripts/Component/Config/VersionConfig.cs

@@ -15,8 +15,6 @@ namespace Model
 		public int Version;
 		
 		public long TotalSize;
-
-		public List<FileVersionInfo> FileVersionInfos = new List<FileVersionInfo>();
 		
 		[BsonIgnore]
 		public Dictionary<string, FileVersionInfo> FileInfoDict = new Dictionary<string, FileVersionInfo>();
@@ -25,9 +23,8 @@ namespace Model
 		{
 			base.EndInit();
 
-			foreach (FileVersionInfo fileVersionInfo in FileVersionInfos)
+			foreach (FileVersionInfo fileVersionInfo in this.FileInfoDict.Values)
 			{
-				this.FileInfoDict.Add(fileVersionInfo.File, fileVersionInfo);
 				this.TotalSize += fileVersionInfo.Size;
 			}
 		}