diff --git a/UpmGitTool/Assets/Scritps/Core/Fetch/GitFetchReq.cs b/UpmGitTool/Assets/Scritps/Core/Fetch/GitFetchReq.cs index 2a8bf756171186722ca06a533d8ecbeba9bf92b8..d6e1921ffebc3d5ba9118a4ffc02230e49e3e0ce 100644 --- a/UpmGitTool/Assets/Scritps/Core/Fetch/GitFetchReq.cs +++ b/UpmGitTool/Assets/Scritps/Core/Fetch/GitFetchReq.cs @@ -9,6 +9,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.IO; using UnityEngine; @@ -71,16 +72,30 @@ namespace UpmGitTool Logger.Log($"Git 拉取成功 : {GitLastName}"); //根据拉取到的信息反序列化拉取结果; string resultDir = $"{WorkingDirectory}/Results-2.0.0"; - foreach (var file in Directory.GetFiles(resultDir, $"*{GitLastName}.json")) + var files = Directory.GetFiles(resultDir, $"*{GitLastName}.json"); + + List results = new List(); + + foreach (var file in files) { State = E_FetchState.Parsing; Logger.Log($"已经读取到对应文件:{file}"); - var text = File.ReadAllText(file, System.Text.Encoding.UTF8); - var result = JsonUtility.FromJson(text); - AppState.SetFetchResult(result); + try + { + var text = File.ReadAllText(file, System.Text.Encoding.UTF8); + var result = JsonUtility.FromJson(text); + results.Add(result); + } + catch (Exception ex) + { + Logger.LogError($"序列化文件出错:{GitLastName}"); + Logger.LogError(ex.StackTrace); + } } - State = E_FetchState.Sucess; + State = results.Count > 0 ? E_FetchState.Sucess : E_FetchState.Failed; + foreach (var result in results) + AppState.SetFetchResult(result); } private bool IsFetching;