From b3162052da99eb4a5bed9e759b846b7a44670b23 Mon Sep 17 00:00:00 2001 From: HolographicHat Date: Tue, 6 Feb 2024 21:31:14 +0800 Subject: [PATCH] refactor --- src/Program.cs | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/src/Program.cs b/src/Program.cs index 958a756..dde563b 100644 --- a/src/Program.cs +++ b/src/Program.cs @@ -29,29 +29,27 @@ new EventLog("AppInit") { { "SystemVersion", DeviceHelper.GetSystemVersion() } } }.Enqueue(); -var usePreviousData = false; + var historyCache = new CacheFile("ExportData"); -if (historyCache.LastWriteTime.AddMinutes(10) > DateTime.UtcNow) { + +AchievementAllDataNotify? data = null; +try { + data = AchievementAllDataNotify.Parser.ParseFrom(historyCache.Read().Content); +} catch (Exception) { /* ignored */ } + +if (historyCache.LastWriteTime.AddMinutes(10) > DateTime.UtcNow && data != null) { Console.WriteLine(App.UsePreviousData); - usePreviousData = Console.ReadLine() == "yes"; -} -Export: -if(usePreviousData) { - AchievementAllDataNotify data; - try { - data = AchievementAllDataNotify.Parser.ParseFrom(historyCache.Read().Content); - } catch (Exception) { - usePreviousData = false; - goto Export; + if (Console.ReadLine() == "yes") { + Export.Choose(data); + return; } - Export.Choose(data); -} else { - StartAndWaitResult(AppConfig.GamePath, str => { - GlobalVars.UnexpectedExit = false; - var data = Convert.FromBase64String(str); - var list = AchievementAllDataNotify.Parser.ParseFrom(data); - historyCache.Write(data); - Export.Choose(list); - return true; - }); -} \ No newline at end of file +} + +StartAndWaitResult(AppConfig.GamePath, str => { + GlobalVars.UnexpectedExit = false; + var bytes = Convert.FromBase64String(str); + var list = AchievementAllDataNotify.Parser.ParseFrom(bytes); + historyCache.Write(bytes); + Export.Choose(list); + return true; +});