From 2a84656ffcff6124df91db475ac61fe09d788f1a Mon Sep 17 00:00:00 2001 From: Evan Husted Date: Thu, 20 Feb 2025 19:49:17 -0600 Subject: [PATCH] misc: chore: use new array in LdnGameDataReceivedEventArgs instead of collecting the ldn datas into a list --- src/Ryujinx/UI/Windows/MainWindow.axaml.cs | 9 ++------- src/Ryujinx/Utilities/AppLibrary/LdnGameData.cs | 8 +++++++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs index 20e2ac522..08b2a0585 100644 --- a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs +++ b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs @@ -189,17 +189,12 @@ namespace Ryujinx.Ava.UI.Windows { Dispatcher.UIThread.Post(() => { - List ldnGameDataArray = e.LdnData.ToList(); ViewModel.LdnData.Clear(); foreach (ApplicationData application in ViewModel.Applications.Where(it => it.HasControlHolder)) { ref ApplicationControlProperty controlHolder = ref application.ControlHolder.Value; - - ViewModel.LdnData[application.IdString] = - LdnGameData.GetArrayForApp( - ldnGameDataArray, - ref controlHolder - ); + + ViewModel.LdnData[application.IdString] = e.LdnData.Where(ref controlHolder); UpdateApplicationWithLdnData(application); } diff --git a/src/Ryujinx/Utilities/AppLibrary/LdnGameData.cs b/src/Ryujinx/Utilities/AppLibrary/LdnGameData.cs index 4b9b8fe6c..252c0ecdc 100644 --- a/src/Ryujinx/Utilities/AppLibrary/LdnGameData.cs +++ b/src/Ryujinx/Utilities/AppLibrary/LdnGameData.cs @@ -18,7 +18,7 @@ namespace Ryujinx.Ava.Utilities.AppLibrary public IEnumerable Players { get; set; } public static Array GetArrayForApp( - IEnumerable receivedData, ref ApplicationControlProperty acp) + LdnGameData[] receivedData, ref ApplicationControlProperty acp) { LibHac.Common.FixedArrays.Array8 communicationId = acp.LocalCommunicationId; @@ -40,4 +40,10 @@ namespace Ryujinx.Ava.Utilities.AppLibrary public int GameCount => _ldnDatas.Length; } } + + public static class LdnGameDataHelper + { + public static LdnGameData.Array Where(this LdnGameData[] unfilteredDatas, ref ApplicationControlProperty acp) + => LdnGameData.GetArrayForApp(unfilteredDatas, ref acp); + } }