Run PluginWatcher in lobby and fix accidental Mare API hijacking

This commit is contained in:
Loporrit
2025-08-09 15:04:07 +00:00
parent ec17b32f74
commit e1d54aea43
4 changed files with 46 additions and 12 deletions

View File

@@ -1,5 +1,6 @@
using Dalamud.Plugin;
using MareSynchronos.Services.Mediator;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using CapturedPluginState = (string InternalName, System.Version Version, bool IsLoaded);
@@ -31,7 +32,7 @@ SOFTWARE.
*/
public class PluginWatcherService : MediatorSubscriberBase
public class PluginWatcherService : MediatorSubscriberBase, IHostedService
{
private readonly IDalamudPluginInterface _pluginInterface;
@@ -88,6 +89,17 @@ public class PluginWatcherService : MediatorSubscriberBase
Update(publish: false);
}
public Task StartAsync(CancellationToken cancellationToken)
{
return Task.CompletedTask;
}
public Task StopAsync(CancellationToken cancellationToken)
{
Mediator.UnsubscribeAll(this);
return Task.CompletedTask;
}
public static PluginChangeMessage? GetInitialPluginState(IDalamudPluginInterface pi, string internalName)
{
try