From a283216ab4f8214466b4398000c655f1e64fdfe9 Mon Sep 17 00:00:00 2001 From: ZouJin Date: Sat, 12 Aug 2023 19:58:57 +1000 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=A4=87=E4=BB=BD=E7=9B=AE?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VPet-Simulator.Windows/App.xaml.cs | 8 +++- VPet-Simulator.Windows/Function/CoreMOD.cs | 4 +- VPet-Simulator.Windows/MainWindow.cs | 12 +++--- VPet-Simulator.Windows/MainWindow.xaml.cs | 41 +++++++++++-------- .../VPet-Simulator.Windows.csproj | 8 ++-- .../WinDesign/winGameSetting.xaml.cs | 6 +-- 6 files changed, 47 insertions(+), 32 deletions(-) diff --git a/VPet-Simulator.Windows/App.xaml.cs b/VPet-Simulator.Windows/App.xaml.cs index 203b72a..72653ee 100644 --- a/VPet-Simulator.Windows/App.xaml.cs +++ b/VPet-Simulator.Windows/App.xaml.cs @@ -1,4 +1,5 @@ -using System.Windows; +using LinePutScript.Localization.WPF; +using System.Windows; namespace VPet_Simulator.Windows { @@ -18,7 +19,10 @@ namespace VPet_Simulator.Windows private void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) { e.Handled = true; - string errstr = "游戏发生错误,可能是" + (string.IsNullOrWhiteSpace(CoreMOD.NowLoading) ? "游戏或者MOD" : $"MOD({CoreMOD.NowLoading})") + "导致的\n如有可能请发送 错误信息截图和引发错误之前的操作 给开发者:service@exlb.net\n感谢您对游戏开发的支持\n" + e.Exception.ToString(); + string errstr = "游戏发生错误,可能是".Translate() + (string.IsNullOrWhiteSpace(CoreMOD.NowLoading) ? + "游戏或者MOD".Translate() : $"MOD({CoreMOD.NowLoading})") + + "导致的\n如有可能请发送 错误信息截图和引发错误之前的操作 给开发者:service@exlb.net\n感谢您对游戏开发的支持\n".Translate() + + e.Exception.ToString(); if (MainWindow == null) { MessageBox.Show(errstr, "游戏致命性错误"); diff --git a/VPet-Simulator.Windows/Function/CoreMOD.cs b/VPet-Simulator.Windows/Function/CoreMOD.cs index 99dd44c..c38d3f0 100644 --- a/VPet-Simulator.Windows/Function/CoreMOD.cs +++ b/VPet-Simulator.Windows/Function/CoreMOD.cs @@ -231,9 +231,11 @@ namespace VPet_Simulator.Windows } } } - catch + catch (Exception Exception) { SuccessLoad = false; + string errstr = "MOD加载错误,是MOD({0})导致的\n如有可能请发送 错误信息截图和引发错误之前的操作 给开发者:service@exlb.net\n感谢您对游戏开发的支持\n".Translate() + Exception.ToString(); + new winReport(mw, errstr).Show(); } } break; diff --git a/VPet-Simulator.Windows/MainWindow.cs b/VPet-Simulator.Windows/MainWindow.cs index 1acbd56..e255f80 100644 --- a/VPet-Simulator.Windows/MainWindow.cs +++ b/VPet-Simulator.Windows/MainWindow.cs @@ -91,22 +91,22 @@ namespace VPet_Simulator.Windows } File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + @"\Setting.lps", Set.ToString()); - if (!Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + @"\UserData")) - Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + @"\UserData"); + if (!Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + @"\BackUP")) + Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + @"\BackUP"); if (Core != null && Core.Save != null) { - var ds = new List(Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + @"\UserData")); + var ds = new List(Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + @"\BackUP")); while (ds.Count > Set.BackupSaveMaxNum) { File.Delete(ds[0]); ds.RemoveAt(0); } - if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + $"\\UserData\\Save_{st}.lps")) - File.Delete(AppDomain.CurrentDomain.BaseDirectory + $"\\UserData\\Save_{st}.lps"); + if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + $"\\BackUP\\Save_{st}.lps")) + File.Delete(AppDomain.CurrentDomain.BaseDirectory + $"\\BackUP\\Save_{st}.lps"); if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + @"\Save.lps")) - File.Move(AppDomain.CurrentDomain.BaseDirectory + @"\Save.lps", AppDomain.CurrentDomain.BaseDirectory + $"\\UserData\\Save_{st}.lps"); + File.Move(AppDomain.CurrentDomain.BaseDirectory + @"\Save.lps", AppDomain.CurrentDomain.BaseDirectory + $"\\BackUP\\Save_{st}.lps"); var l = Core.Save.ToLine(); if (HashCheck) { diff --git a/VPet-Simulator.Windows/MainWindow.xaml.cs b/VPet-Simulator.Windows/MainWindow.xaml.cs index fc2e25c..decd3a1 100644 --- a/VPet-Simulator.Windows/MainWindow.xaml.cs +++ b/VPet-Simulator.Windows/MainWindow.xaml.cs @@ -159,9 +159,9 @@ namespace VPet_Simulator.Windows public void LoadLatestSave(string petname) { - if (Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + @"\UserData")) + if (Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + @"\BackUP")) { - var latestsave = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + @"\UserData") + var latestsave = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + @"\BackUP") .GetFiles("*.lps").OrderByDescending(x => x.LastWriteTime).FirstOrDefault(); if (latestsave != null) { @@ -229,12 +229,33 @@ namespace VPet_Simulator.Windows else LocalizeCore.LoadCulture(Set.Language); + //旧版本设置兼容 + var cgpteb = Set["CGPT"].Find("enable"); + if (cgpteb != null) + { + if (Set["CGPT"][(gbol)"enable"]) + { + Set["CGPT"][(gstr)"type"] = "API"; + } + else + { + Set["CGPT"][(gstr)"type"] = "LB"; + } + Set["CGPT"].Remove(cgpteb); + } + if (Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + @"\UserData") && !Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + @"\BackUP")) + { + Directory.Move(AppDomain.CurrentDomain.BaseDirectory + @"\UserData", AppDomain.CurrentDomain.BaseDirectory + @"\BackUP"); + } + + Dispatcher.BeginInvoke(new Action(() => LoadingText.Content = "尝试加载游戏MOD".Translate())); + //当前桌宠动画 var petloader = Pets.Find(x => x.Name == Set.PetGraph); petloader ??= Pets[0]; - //加载游戏内容 + //加载存档 Core.Controller = new MWController(this); if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + @"\Save.lps") && !GameLoad(new LpsDocument(File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + @"\Save.lps")).First())) @@ -274,20 +295,6 @@ namespace VPet_Simulator.Windows rndtext.Add("关注 {0} 谢谢喵".Translate(Environment.UserName)); } - //旧版本设置兼容 - var cgpteb = Set["CGPT"].Find("enable"); - if (cgpteb != null) - { - if (Set["CGPT"][(gbol)"enable"]) - { - Set["CGPT"][(gstr)"type"] = "API"; - } - else - { - Set["CGPT"][(gstr)"type"] = "LB"; - } - Set["CGPT"].Remove(cgpteb); - } //音乐识别timer加载 MusicTimer = new System.Timers.Timer(100) { diff --git a/VPet-Simulator.Windows/VPet-Simulator.Windows.csproj b/VPet-Simulator.Windows/VPet-Simulator.Windows.csproj index bf573de..7d0feb2 100644 --- a/VPet-Simulator.Windows/VPet-Simulator.Windows.csproj +++ b/VPet-Simulator.Windows/VPet-Simulator.Windows.csproj @@ -62,7 +62,7 @@ bin\x64\Release\ - TRACE;X64,DEMO + TRACE;X64;DEMO true pdbonly x64 @@ -96,7 +96,7 @@ ..\packages\CSCore.1.2.1.2\lib\net35-client\CSCore.dll - + ..\packages\LinePutScript.1.9.2\lib\net462\LinePutScript.dll @@ -312,7 +312,9 @@ - + + PreserveNewest + \ No newline at end of file diff --git a/VPet-Simulator.Windows/WinDesign/winGameSetting.xaml.cs b/VPet-Simulator.Windows/WinDesign/winGameSetting.xaml.cs index aba1646..e8f090c 100644 --- a/VPet-Simulator.Windows/WinDesign/winGameSetting.xaml.cs +++ b/VPet-Simulator.Windows/WinDesign/winGameSetting.xaml.cs @@ -972,9 +972,9 @@ namespace VPet_Simulator.Windows reloadid = mw.Set.Statistics[(gint)"savetimes"]; CBSaveReLoad.SelectedItem = null; CBSaveReLoad.Items.Clear(); - if (Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + @"\UserData")) + if (Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + @"\BackUP")) { - foreach (var file in new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + @"\UserData") + foreach (var file in new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + @"\BackUP") .GetFiles().OrderByDescending(x => x.LastWriteTime)) { if (file.Extension.ToLower() == ".lps") @@ -992,7 +992,7 @@ namespace VPet_Simulator.Windows if (CBSaveReLoad.SelectedItem != null) { string txt = (string)CBSaveReLoad.SelectedItem; - string path = AppDomain.CurrentDomain.BaseDirectory + @"\UserData\" + txt + ".lps"; + string path = AppDomain.CurrentDomain.BaseDirectory + @"\BackUP\" + txt + ".lps"; if (File.Exists(path)) { var l = new Line(File.ReadAllText(path));