diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
index d449981a..e7ec6e09 100644
--- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
+++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
@@ -1334,6 +1334,9 @@
为账号命名
+
+ 请选择当前游戏路径对应的游戏服务器
+
正在修复配置文件
diff --git a/src/Snap.Hutao/Snap.Hutao/View/Dialog/LaunchGameConfigurationFixDialog.xaml b/src/Snap.Hutao/Snap.Hutao/View/Dialog/LaunchGameConfigurationFixDialog.xaml
index 96db982f..b3df3a39 100644
--- a/src/Snap.Hutao/Snap.Hutao/View/Dialog/LaunchGameConfigurationFixDialog.xaml
+++ b/src/Snap.Hutao/Snap.Hutao/View/Dialog/LaunchGameConfigurationFixDialog.xaml
@@ -1,4 +1,4 @@
-
-
+
+
+
+
\ No newline at end of file
diff --git a/src/Snap.Hutao/Snap.Hutao/View/Dialog/LaunchGameConfigurationFixDialog.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Dialog/LaunchGameConfigurationFixDialog.xaml.cs
index 8aa3c7d8..fe1822a0 100644
--- a/src/Snap.Hutao/Snap.Hutao/View/Dialog/LaunchGameConfigurationFixDialog.xaml.cs
+++ b/src/Snap.Hutao/Snap.Hutao/View/Dialog/LaunchGameConfigurationFixDialog.xaml.cs
@@ -10,15 +10,19 @@ namespace Snap.Hutao.View.Dialog;
[DependencyProperty("SelectedScheme", typeof(LaunchScheme))]
internal sealed partial class LaunchGameConfigurationFixDialog : ContentDialog
{
- public LaunchGameConfigurationFixDialog()
+ private readonly ITaskContext taskContext;
+
+ public LaunchGameConfigurationFixDialog(IServiceProvider serviceProvider)
{
InitializeComponent();
+
+ taskContext = serviceProvider.GetRequiredService();
}
public async ValueTask> GetLaunchSchemeAsync()
{
+ await taskContext.SwitchToMainThreadAsync();
ContentDialogResult result = await ShowAsync();
-
return new(result == ContentDialogResult.Primary, SelectedScheme);
}
}
diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/Game/LaunchGameShared.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/Game/LaunchGameShared.cs
index 201c4f60..0a73f88c 100644
--- a/src/Snap.Hutao/Snap.Hutao/ViewModel/Game/LaunchGameShared.cs
+++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/Game/LaunchGameShared.cs
@@ -75,15 +75,15 @@ internal sealed partial class LaunchGameShared
if (isOk)
{
ArgumentNullException.ThrowIfNull(launchScheme);
-
+ string gameBiz = launchScheme.IsOversea ? "hk4e_global" : "hk4e_cn";
string content = $"""
[General]
- channel={(int)launchScheme.Channel}
+ channel={launchScheme.Channel:D}
cps=mihoyo
game_version={version}
- sub_channel={(int)launchScheme.SubChannel}
+ sub_channel={launchScheme.SubChannel:D}
sdk_version=
- game_biz=hk4e_{(launchScheme.IsOversea ? "global" : "cn")}
+ game_biz={gameBiz}
""";
await File.WriteAllTextAsync(gameFileSystem.GameConfigFilePath, content).ConfigureAwait(false);