From db835ac7b8029224c72cd1da5a876ae084d1fed0 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Thu, 2 Feb 2023 22:13:26 +0100 Subject: [PATCH] fix: ensure lower allocation amounts in NosTale processes --- src/PacketLogger/Models/NostaleProcesses.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/PacketLogger/Models/NostaleProcesses.cs b/src/PacketLogger/Models/NostaleProcesses.cs index 6e76987..803f622 100644 --- a/src/PacketLogger/Models/NostaleProcesses.cs +++ b/src/PacketLogger/Models/NostaleProcesses.cs @@ -66,12 +66,12 @@ public class NostaleProcesses : IDisposable private async Task Refresh() { - var nosTaleProcesses = CommsInjector.FindNosTaleProcesses().ToArray(); + var nosTaleProcesses = CommsInjector.FindNosTaleProcesses().Select(x => x.Id).ToArray(); var toRemove = new List(); foreach (var currentProcess in Processes) { - if (nosTaleProcesses.All(x => x.Id != currentProcess.Process.Id)) + if (nosTaleProcesses.All(x => x != currentProcess.Process.Id)) { toRemove.Add(currentProcess); } @@ -88,11 +88,12 @@ public class NostaleProcesses : IDisposable foreach (var openProcess in nosTaleProcesses) { - if (Processes.All(x => x.Process.Id != openProcess.Id) && !_errorfulProcesses.Contains(openProcess.Id)) + if (Processes.All(x => x.Process.Id != openProcess) && !_errorfulProcesses.Contains(openProcess)) { + var process = Process.GetProcessById(openProcess); NosBrowserManager nosBrowserManager = new NosBrowserManager ( - openProcess, + process, new PlayerManagerOptions(), new SceneManagerOptions(), new PetManagerOptions(), @@ -103,11 +104,11 @@ public class NostaleProcesses : IDisposable if (result.IsSuccess) { RxApp.MainThreadScheduler.Schedule - (() => Processes.Add(new NostaleProcess(openProcess, nosBrowserManager))); + (() => Processes.Add(new NostaleProcess(process, nosBrowserManager))); } else { - _errorfulProcesses.Add(openProcess.Id); + _errorfulProcesses.Add(openProcess); Console.WriteLine(result.ToFullString()); } } @@ -117,7 +118,7 @@ public class NostaleProcesses : IDisposable foreach (var errorfulProcess in _errorfulProcesses) { - if (nosTaleProcesses.All(x => x.Id != errorfulProcess)) + if (nosTaleProcesses.All(x => x != errorfulProcess)) { errorfulToRemove.Add(errorfulProcess); } -- 2.49.0