diff --git a/VPet-Simulator.Windows/App.xaml.cs b/VPet-Simulator.Windows/App.xaml.cs index 0d6b028..43b3680 100644 --- a/VPet-Simulator.Windows/App.xaml.cs +++ b/VPet-Simulator.Windows/App.xaml.cs @@ -30,6 +30,8 @@ namespace VPet_Simulator.Windows public static List MainWindows { get; set; } = new List(); + public static HashSet MODType { get; set; } = new HashSet(); + protected override void OnStartup(StartupEventArgs e) { Args = e.Args; @@ -104,6 +106,19 @@ namespace VPet_Simulator.Windows return; } + foreach (var modname in MODType) + { + if (expt.Contains(modname)) + { + var exptin = modname.Split('.').Last(); + MessageBox.Show("游戏发生错误,可能是".Translate() + $"MOD({modname})" + + "导致的\n如有可能请发送 错误信息截图和引发错误之前的操作给相应MOD作者\n感谢您对MOD开发的支持\n".Translate() + + expt, "游戏发生错误,可能是".Translate() + exptin); + return; + } + } + + string errstr = "游戏发生错误,可能是".Translate() + (string.IsNullOrWhiteSpace(CoreMOD.NowLoading) ? "游戏或者MOD".Translate() : $"MOD({CoreMOD.NowLoading})") + "导致的\n如有可能请发送 错误信息截图和引发错误之前的操作 给开发者:service@exlb.net\n感谢您对游戏开发的支持\n".Translate() diff --git a/VPet-Simulator.Windows/Function/CoreMOD.cs b/VPet-Simulator.Windows/Function/CoreMOD.cs index bbf6034..df44624 100644 --- a/VPet-Simulator.Windows/Function/CoreMOD.cs +++ b/VPet-Simulator.Windows/Function/CoreMOD.cs @@ -348,6 +348,9 @@ namespace VPet_Simulator.Windows { if (exportedType.BaseType == typeof(MainPlugin)) { + var n = exportedType.FullName.ToLower(); + if (!(n.Contains("modmaker") || n.Contains("dlc"))) + App.MODType.Add(exportedType.FullName); mw.Plugins.Add((MainPlugin)Activator.CreateInstance(exportedType, mw)); } }