From 72ab6ae1847e540d78a4bc077c3e9d05ab0a7343 Mon Sep 17 00:00:00 2001 From: Evan Husted Date: Tue, 21 Jan 2025 18:00:51 -0600 Subject: [PATCH] UI: Fixed the Amiibo keybind only working when the UI had been updated. --- .../UI/ViewModels/MainWindowViewModel.cs | 45 ++++++++----------- 1 file changed, 19 insertions(+), 26 deletions(-) diff --git a/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs b/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs index d07a69cc2..24072d399 100644 --- a/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs +++ b/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs @@ -2097,12 +2097,27 @@ namespace Ryujinx.Ava.UI.ViewModels }); } + public async Task OpenAmiiboWindow() + { + if (AppHost.Device.System.SearchingForAmiibo(out int deviceId) && IsGameRunning) + { + string titleId = AppHost.Device.Processes.ActiveApplication.ProgramIdText.ToUpper(); + AmiiboWindow window = new(ShowAll, LastScannedAmiiboId, titleId); + + await window.ShowDialog(Window); + + if (window.IsScanned) + { + ShowAll = window.ViewModel.ShowAllAmiibo; + LastScannedAmiiboId = window.ScannedAmiibo.GetId(); + + AppHost.Device.System.ScanAmiibo(deviceId, LastScannedAmiiboId, window.ViewModel.UseRandomUuid); + } + } + } public async Task OpenBinFile() { - if (!IsAmiiboRequested) - return; - - if (AppHost.Device.System.SearchingForAmiibo(out int deviceId)) + if (AppHost.Device.System.SearchingForAmiibo(out _) && IsGameRunning) { var result = await StorageProvider.OpenFilePickerAsync(new FilePickerOpenOptions { @@ -2123,28 +2138,6 @@ namespace Ryujinx.Ava.UI.ViewModels } } - public async Task OpenAmiiboWindow() - { - if (!IsAmiiboRequested) - return; - - if (AppHost.Device.System.SearchingForAmiibo(out int deviceId)) - { - string titleId = AppHost.Device.Processes.ActiveApplication.ProgramIdText.ToUpper(); - AmiiboWindow window = new(ShowAll, LastScannedAmiiboId, titleId); - - await window.ShowDialog(Window); - - if (window.IsScanned) - { - ShowAll = window.ViewModel.ShowAllAmiibo; - LastScannedAmiiboId = window.ScannedAmiibo.GetId(); - - AppHost.Device.System.ScanAmiibo(deviceId, LastScannedAmiiboId, window.ViewModel.UseRandomUuid); - } - } - } - public void ToggleFullscreen() {