From 1c8267dd93121911e68147d44b8aab66f4abb5fa Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Sun, 24 Dec 2023 03:44:59 +0100 Subject: [PATCH] add priority framework execution for transient resource manager --- MareSynchronos/FileCache/TransientResourceManager.cs | 2 +- MareSynchronos/Services/DalamudUtilService.cs | 2 ++ MareSynchronos/Services/Mediator/Messages.cs | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/MareSynchronos/FileCache/TransientResourceManager.cs b/MareSynchronos/FileCache/TransientResourceManager.cs index e794413..8e30341 100644 --- a/MareSynchronos/FileCache/TransientResourceManager.cs +++ b/MareSynchronos/FileCache/TransientResourceManager.cs @@ -27,7 +27,7 @@ public sealed class TransientResourceManager : DisposableMediatorSubscriberBase Mediator.Subscribe(this, Manager_PenumbraResourceLoadEvent); Mediator.Subscribe(this, (_) => Manager_PenumbraModSettingChanged()); - Mediator.Subscribe(this, (_) => DalamudUtil_FrameworkUpdate()); + Mediator.Subscribe(this, (_) => DalamudUtil_FrameworkUpdate()); Mediator.Subscribe(this, (msg) => { if (_playerRelatedPointers.Contains(msg.GameObjectHandler)) diff --git a/MareSynchronos/Services/DalamudUtilService.cs b/MareSynchronos/Services/DalamudUtilService.cs index 8578ab1..c4273ee 100644 --- a/MareSynchronos/Services/DalamudUtilService.cs +++ b/MareSynchronos/Services/DalamudUtilService.cs @@ -560,6 +560,8 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber if (!IsInCombat) Mediator.Publish(new FrameworkUpdateMessage()); + Mediator.Publish(new PriorityFrameworkUpdateMessage()); + if (DateTime.Now < _delayedFrameworkUpdateCheck.AddSeconds(1)) return; var localPlayer = _clientState.LocalPlayer; diff --git a/MareSynchronos/Services/Mediator/Messages.cs b/MareSynchronos/Services/Mediator/Messages.cs index 9e17c51..62df5eb 100644 --- a/MareSynchronos/Services/Mediator/Messages.cs +++ b/MareSynchronos/Services/Mediator/Messages.cs @@ -17,6 +17,7 @@ public record SwitchToMainUiMessage : MessageBase; public record OpenSettingsUiMessage : MessageBase; public record DalamudLoginMessage : MessageBase; public record DalamudLogoutMessage : MessageBase; +public record PriorityFrameworkUpdateMessage : SameThreadMessage; public record FrameworkUpdateMessage : SameThreadMessage; public record ClassJobChangedMessage(GameObjectHandler GameObjectHandler) : MessageBase; public record DelayedFrameworkUpdateMessage : SameThreadMessage;