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 d67fa43..71b78b6 100644 --- a/MareSynchronos/Services/DalamudUtilService.cs +++ b/MareSynchronos/Services/DalamudUtilService.cs @@ -520,6 +520,8 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber if (!IsInCombatOrPerforming) 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 210c830..0e64367 100644 --- a/MareSynchronos/Services/Mediator/Messages.cs +++ b/MareSynchronos/Services/Mediator/Messages.cs @@ -18,6 +18,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;