判断设置损坏而读取备份+不备份损坏设置

This commit is contained in:
ZouJin 2024-07-04 15:31:34 +08:00
parent d5d9804548
commit e90ad87185

View File

@ -241,10 +241,18 @@ namespace VPet_Simulator.Windows
Set.StartRecordLastPoint = new Point(Dispatcher.Invoke(() => Left), Dispatcher.Invoke(() => Top)); Set.StartRecordLastPoint = new Point(Dispatcher.Invoke(() => Left), Dispatcher.Invoke(() => Top));
if (PrefixSave == "" && File.Exists(ExtensionValue.BaseDirectory + @"\Setting.lps")) if (PrefixSave == "" && File.Exists(ExtensionValue.BaseDirectory + @"\Setting.lps"))
{//对于主设置的备份 {//对于主设置的备份
if (new FileInfo(ExtensionValue.BaseDirectory + @"\Setting.lps").Length < 10)
{//文件大小小于10字节,可能是损坏的文件
File.Delete(ExtensionValue.BaseDirectory + @"\Setting.lps");
}
else
{
if (File.Exists(ExtensionValue.BaseDirectory + @"\Setting.bkp")) if (File.Exists(ExtensionValue.BaseDirectory + @"\Setting.bkp"))
File.Delete(ExtensionValue.BaseDirectory + @"\Setting.bkp"); File.Delete(ExtensionValue.BaseDirectory + @"\Setting.bkp");
File.Move(ExtensionValue.BaseDirectory + @"\Setting.lps", ExtensionValue.BaseDirectory + @"\Setting.bkp"); File.Move(ExtensionValue.BaseDirectory + @"\Setting.lps", ExtensionValue.BaseDirectory + @"\Setting.bkp");
} }
}
File.WriteAllText(ExtensionValue.BaseDirectory + @$"\Setting{PrefixSave}.lps", Set.ToString()); File.WriteAllText(ExtensionValue.BaseDirectory + @$"\Setting{PrefixSave}.lps", Set.ToString());
if (!Directory.Exists(ExtensionValue.BaseDirectory + @"\Saves")) if (!Directory.Exists(ExtensionValue.BaseDirectory + @"\Saves"))
@ -1263,8 +1271,8 @@ namespace VPet_Simulator.Windows
{ {
Set = new Setting(this, File.ReadAllText(ExtensionValue.BaseDirectory + @$"\Setting{PrefixSave}.lps")); Set = new Setting(this, File.ReadAllText(ExtensionValue.BaseDirectory + @$"\Setting{PrefixSave}.lps"));
} }
else if (PrefixSave == "" && File.Exists(ExtensionValue.BaseDirectory + @"\Setting.bkp")) if (PrefixSave == "" && !Set["SingleTips"].GetBool("helloworld") && File.Exists(ExtensionValue.BaseDirectory + @"\Setting.bkp"))
{ {//如果设置是损坏的, 读取备份设置
Set = new Setting(this, File.ReadAllText(ExtensionValue.BaseDirectory + @"\Setting.bkp")); Set = new Setting(this, File.ReadAllText(ExtensionValue.BaseDirectory + @"\Setting.bkp"));
} }
else else