From 58276e985d00a39f1a0a0ba9796d7a927c00d097 Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Thu, 26 Oct 2023 17:25:10 +0200 Subject: [PATCH] do not allow to open main ui without finishing setup --- MareSynchronos/Services/CommandManagerService.cs | 10 ++++++++-- MareSynchronos/Services/UiService.cs | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/MareSynchronos/Services/CommandManagerService.cs b/MareSynchronos/Services/CommandManagerService.cs index 1c2688a..6e4034f 100644 --- a/MareSynchronos/Services/CommandManagerService.cs +++ b/MareSynchronos/Services/CommandManagerService.cs @@ -1,6 +1,7 @@ using Dalamud.Game.Command; using Dalamud.Plugin.Services; using MareSynchronos.FileCache; +using MareSynchronos.MareConfiguration; using MareSynchronos.Services.Mediator; using MareSynchronos.Services.ServerConfiguration; using MareSynchronos.UI; @@ -16,13 +17,14 @@ public sealed class CommandManagerService : IDisposable private readonly ApiController _apiController; private readonly ICommandManager _commandManager; private readonly MareMediator _mediator; + private readonly MareConfigService _mareConfigService; private readonly PerformanceCollectorService _performanceCollectorService; private readonly PeriodicFileScanner _periodicFileScanner; private readonly ServerConfigurationManager _serverConfigurationManager; public CommandManagerService(ICommandManager commandManager, PerformanceCollectorService performanceCollectorService, ServerConfigurationManager serverConfigurationManager, PeriodicFileScanner periodicFileScanner, - ApiController apiController, MareMediator mediator) + ApiController apiController, MareMediator mediator, MareConfigService mareConfigService) { _commandManager = commandManager; _performanceCollectorService = performanceCollectorService; @@ -30,6 +32,7 @@ public sealed class CommandManagerService : IDisposable _periodicFileScanner = periodicFileScanner; _apiController = apiController; _mediator = mediator; + _mareConfigService = mareConfigService; _commandManager.AddHandler(_commandName, new CommandInfo(OnCommand) { HelpMessage = "Opens the Mare Synchronos UI" @@ -48,7 +51,10 @@ public sealed class CommandManagerService : IDisposable if (splitArgs == null || splitArgs.Length == 0) { // Interpret this as toggling the UI - _mediator.Publish(new UiToggleMessage(typeof(CompactUi))); + if (_mareConfigService.Current.HasValidSetup()) + _mediator.Publish(new UiToggleMessage(typeof(CompactUi))); + else + _mediator.Publish(new UiToggleMessage(typeof(IntroUi))); return; } diff --git a/MareSynchronos/Services/UiService.cs b/MareSynchronos/Services/UiService.cs index 60565a7..7ae2efb 100644 --- a/MareSynchronos/Services/UiService.cs +++ b/MareSynchronos/Services/UiService.cs @@ -90,6 +90,7 @@ public sealed class UiService : DisposableMediatorSubscriberBase _dalamudPluginInterface.UiBuilder.Draw -= Draw; _dalamudPluginInterface.UiBuilder.OpenConfigUi -= ToggleUi; + _dalamudPluginInterface.UiBuilder.OpenMainUi -= ToggleMainUi; } private void Draw()