From 26987615942b01008ccd2311afdbd8e68635490c Mon Sep 17 00:00:00 2001 From: DismissedLight <1686188646@qq.com> Date: Sat, 6 Jan 2024 20:03:14 +0800 Subject: [PATCH] fix convert game path --- .../LaunchExecutionEnsureGameResourceHandler.cs | 3 +-- .../Service/Game/Launching/LaunchExecutionContext.cs | 11 +++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/Launching/Handler/LaunchExecutionEnsureGameResourceHandler.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/Launching/Handler/LaunchExecutionEnsureGameResourceHandler.cs index f1d2b29e..7b30c8e9 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Game/Launching/Handler/LaunchExecutionEnsureGameResourceHandler.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/Launching/Handler/LaunchExecutionEnsureGameResourceHandler.cs @@ -43,8 +43,7 @@ internal sealed class LaunchExecutionEnsureGameResourceHandler : ILaunchExecutio } await context.TaskContext.SwitchToMainThreadAsync(); - ImmutableList gamePathEntries = context.Options.GetGamePathEntries(out GamePathEntry? selected); - context.ViewModel.SetGamePathEntriesAndSelectedGamePathEntry(gamePathEntries, selected); + context.UpdateGamePathEntry(); } } diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/Launching/LaunchExecutionContext.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/Launching/LaunchExecutionContext.cs index dc0b9bdc..9a3b7286 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Game/Launching/LaunchExecutionContext.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/Launching/LaunchExecutionContext.cs @@ -2,8 +2,10 @@ // Licensed under the MIT license. using Snap.Hutao.Model.Entity; +using Snap.Hutao.Service.Game.PathAbstraction; using Snap.Hutao.Service.Game.Scheme; using Snap.Hutao.ViewModel.Game; +using System.Collections.Immutable; namespace Snap.Hutao.Service.Game.Launching; @@ -68,4 +70,13 @@ internal sealed partial class LaunchExecutionContext this.gameFileSystem = gameFileSystem; return true; } + + public void UpdateGamePathEntry() + { + ImmutableList gamePathEntries = Options.GetGamePathEntries(out GamePathEntry? selectedEntry); + ViewModel.SetGamePathEntriesAndSelectedGamePathEntry(gamePathEntries, selectedEntry); + + // invalidate game file system + gameFileSystem = null; + } } \ No newline at end of file