diff --git a/MareSynchronos/Interop/Ipc/IpcCallerGlamourer.cs b/MareSynchronos/Interop/Ipc/IpcCallerGlamourer.cs index 81257c4..08de7aa 100644 --- a/MareSynchronos/Interop/Ipc/IpcCallerGlamourer.cs +++ b/MareSynchronos/Interop/Ipc/IpcCallerGlamourer.cs @@ -49,12 +49,6 @@ public sealed class IpcCallerGlamourer : DisposableMediatorSubscriberBase, IIpcC _dalamudUtil = dalamudUtil; _mareMediator = mareMediator; _redrawManager = redrawManager; - CheckAPI(); - - _glamourerStateChanged = StateChanged.Subscriber(pi, GlamourerChanged); - _glamourerStateChanged.Enable(); - - Mediator.Subscribe(this, s => _shownGlamourerUnavailable = false); var plugin = _pi.InstalledPlugins.FirstOrDefault(p => p.InternalName.Equals("Glamourer", StringComparison.Ordinal)); @@ -67,6 +61,13 @@ public sealed class IpcCallerGlamourer : DisposableMediatorSubscriberBase, IIpcC _pluginVersion = msg.Version; CheckAPI(); }); + + CheckAPI(); + + _glamourerStateChanged = StateChanged.Subscriber(pi, GlamourerChanged); + _glamourerStateChanged.Enable(); + + Mediator.Subscribe(this, s => _shownGlamourerUnavailable = false); } protected override void Dispose(bool disposing) diff --git a/MareSynchronos/Interop/Ipc/IpcCallerPenumbra.cs b/MareSynchronos/Interop/Ipc/IpcCallerPenumbra.cs index ba0ae0c..d973421 100644 --- a/MareSynchronos/Interop/Ipc/IpcCallerPenumbra.cs +++ b/MareSynchronos/Interop/Ipc/IpcCallerPenumbra.cs @@ -86,16 +86,6 @@ public sealed class IpcCallerPenumbra : DisposableMediatorSubscriberBase, IIpcCa _penumbraGameObjectResourcePathResolved = GameObjectResourcePathResolved.Subscriber(pi, ResourceLoaded); - CheckAPI(); - CheckModDirectory(); - - Mediator.Subscribe(this, (msg) => - { - _penumbraRedraw.Invoke(msg.Character.ObjectIndex, RedrawType.AfterGPose); - }); - - Mediator.Subscribe(this, (msg) => _shownPenumbraUnavailable = false); - var plugin = _pi.InstalledPlugins.FirstOrDefault(p => p.InternalName.Equals("Penumbra", StringComparison.Ordinal)); _pluginLoaded = plugin?.IsLoaded ?? false; @@ -107,6 +97,16 @@ public sealed class IpcCallerPenumbra : DisposableMediatorSubscriberBase, IIpcCa _pluginVersion = msg.Version; CheckAPI(); }); + + CheckAPI(); + CheckModDirectory(); + + Mediator.Subscribe(this, (msg) => + { + _penumbraRedraw.Invoke(msg.Character.ObjectIndex, RedrawType.AfterGPose); + }); + + Mediator.Subscribe(this, (msg) => _shownPenumbraUnavailable = false); } public bool APIAvailable { get; private set; } = false;