Compare commits

...

3 Commits

Author SHA1 Message Date
ShakeFlower
ffa321a5fc feat:记忆上次被选择的文件夹 2025-07-10 17:48:58 +08:00
ShakeFlower
b9d2b0100a fix:修复装备属性迁移不正确的问题 2025-07-10 17:10:59 +08:00
ShakeFlower
76d441475c fix:修复部分属性迁移不正确的问题 2025-07-10 17:10:31 +08:00
7 changed files with 137 additions and 1 deletions

18
App.config Normal file
View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="H5MotaUpdate.Properties.Settings1" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<H5MotaUpdate.Properties.Settings1>
<setting name="LastSourceFolderPath" serializeAs="String">
<value />
</setting>
<setting name="LastDestFolderPath" serializeAs="String">
<value />
</setting>
</H5MotaUpdate.Properties.Settings1>
</userSettings>
</configuration>

View File

@ -13,4 +13,19 @@
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Compile Update="Properties\Settings.Designer.cs">
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<None Update="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
</Project> </Project>

50
Properties/Settings.Designer.cs generated Normal file
View File

@ -0,0 +1,50 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace H5MotaUpdate.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.11.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string LastSourceFolderPath {
get {
return ((string)(this["LastSourceFolderPath"]));
}
set {
this["LastSourceFolderPath"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string LastDestFolderPath {
get {
return ((string)(this["LastDestFolderPath"]));
}
set {
this["LastDestFolderPath"] = value;
}
}
}
}

View File

@ -0,0 +1,12 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="H5MotaUpdate.Properties" GeneratedClassName="Settings1">
<Profiles />
<Settings>
<Setting Name="LastSourceFolderPath" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="LastDestFolderPath" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
</Settings>
</SettingsFile>

View File

@ -91,10 +91,17 @@ namespace H5MotaUpdate.ViewModels
{ {
using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog()) using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog())
{ {
// 设置初始路径为上一次选择的路径
folderBrowserDialog.SelectedPath = Properties.Settings.Default.LastSourceFolderPath;
if (folderBrowserDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) if (folderBrowserDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{ {
SourceRootDirectory = folderBrowserDialog.SelectedPath; SourceRootDirectory = folderBrowserDialog.SelectedPath;
// 保存本次选择的路径
Properties.Settings.Default.LastSourceFolderPath = SourceRootDirectory;
Properties.Settings.Default.Save();
} }
VersionString = VersionUtils.GetVersion(SourceRootDirectory); VersionString = VersionUtils.GetVersion(SourceRootDirectory);
} }
} }
@ -106,9 +113,15 @@ namespace H5MotaUpdate.ViewModels
{ {
using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog()) using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog())
{ {
// 设置初始路径为上一次选择的路径
folderBrowserDialog.SelectedPath = Properties.Settings.Default.LastDestFolderPath;
if (folderBrowserDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) if (folderBrowserDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{ {
DestRootDirectory = folderBrowserDialog.SelectedPath; DestRootDirectory = folderBrowserDialog.SelectedPath;
// 保存本次选择的路径
Properties.Settings.Default.LastDestFolderPath = DestRootDirectory;
Properties.Settings.Default.Save();
} }
} }
} }

View File

@ -120,6 +120,14 @@ namespace H5MotaUpdate.ViewModels
enemy["breakArmor"] = enemy["defValue"]; enemy["breakArmor"] = enemy["defValue"];
enemy.Remove("defValue"); enemy.Remove("defValue");
break; break;
case 9: //净化
enemy["purify"] = enemy["n"];
enemy.Remove("purify");
break;
case 11://吸血
enemy["vampire"] = enemy["value"];
enemy.Remove("value");
break;
case 15://领域 case 15://领域
enemy["zone"] = enemy["value"]; enemy["zone"] = enemy["value"];
enemy.Remove("value"); enemy.Remove("value");
@ -136,6 +144,9 @@ namespace H5MotaUpdate.ViewModels
enemy["haloRange"] = enemy["range"]; enemy["haloRange"] = enemy["range"];
enemy["haloSquare"] = enemy["zoneSquare"]; enemy["haloSquare"] = enemy["zoneSquare"];
enemy["haloAdd"] = enemy["add"]; enemy["haloAdd"] = enemy["add"];
enemy["hpBuff"] = enemy["value"];
enemy["atkBuff"] = enemy["atkValue"];
enemy["defBuff"] = enemy["defValue"];
enemy.Remove("range"); enemy.Remove("range");
enemy.Remove("zoneSquare"); enemy.Remove("zoneSquare");
enemy.Remove("add"); enemy.Remove("add");
@ -170,6 +181,16 @@ namespace H5MotaUpdate.ViewModels
enemy["breakArmor"] = enemy["defValue"]; enemy["breakArmor"] = enemy["defValue"];
if (!foundSpecialValues.Contains(21)) enemy.Remove("defValue"); if (!foundSpecialValues.Contains(21)) enemy.Remove("defValue");
} }
if (foundSpecialValues.Contains(9))
{
enemy["purify"] = enemy["n"];
if (!foundSpecialValues.Contains(6)) enemy.Remove("purify");
}
if (foundSpecialValues.Contains(11))
{
enemy["vampire"] = enemy["value"];
if (!foundSpecialValues.Contains(21)) enemy.Remove("value");
}
if (foundSpecialValues.Contains(15)) if (foundSpecialValues.Contains(15))
{ {
enemy["zone"] = enemy["value"]; enemy["zone"] = enemy["value"];
@ -190,6 +211,9 @@ namespace H5MotaUpdate.ViewModels
enemy["haloRange"] = enemy["range"]; enemy["haloRange"] = enemy["range"];
enemy["haloSquare"] = enemy["zoneSquare"]; enemy["haloSquare"] = enemy["zoneSquare"];
enemy["haloAdd"] = enemy["add"]; enemy["haloAdd"] = enemy["add"];
enemy["hpBuff"] = enemy["value"];
enemy["atkBuff"] = enemy["atkValue"];
enemy["defBuff"] = enemy["defValue"];
if (!foundSpecialValues.Contains(11)) enemy.Remove("add"); if (!foundSpecialValues.Contains(11)) enemy.Remove("add");
if (!foundSpecialValues.Contains(15)) if (!foundSpecialValues.Contains(15))
{ {

View File

@ -116,7 +116,11 @@ namespace H5MotaUpdate.ViewModels
equipValue.Remove(keyToMove); equipValue.Remove(keyToMove);
} }
} }
equipValue["value"] = valueObj; if (equipValue.ContainsKey("percentage") && equipValue["percentage"].Type == JTokenType.Boolean && (bool)equipValue["percentage"])
{
equipValue["percentage"] = valueObj;
}
else equipValue["value"] = valueObj;
perData["equip"] = equipValue; perData["equip"] = equipValue;
} }
} }