mirror of
https://github.com/Caraxi/mare.client.git
synced 2025-12-12 15:37:23 +01:00
add DI, start implementing mediator pattern instead of events
This commit is contained in:
parent
7f2bb9aff7
commit
5e7beb8518
15 changed files with 190 additions and 240 deletions
|
|
@ -9,7 +9,7 @@ using MareSynchronos.FileCache;
|
|||
using Dalamud.Interface;
|
||||
using MareSynchronos.Managers;
|
||||
using MareSynchronos.MareConfiguration;
|
||||
using MareSynchronos.Delegates;
|
||||
using MareSynchronos.Mediator;
|
||||
|
||||
namespace MareSynchronos.UI;
|
||||
|
||||
|
|
@ -19,11 +19,10 @@ internal class IntroUi : Window, IDisposable
|
|||
private readonly ConfigurationService _configService;
|
||||
private readonly PeriodicFileScanner _fileCacheManager;
|
||||
private readonly ServerConfigurationManager _serverConfigurationManager;
|
||||
private readonly MareMediator _mareMediator;
|
||||
private readonly WindowSystem _windowSystem;
|
||||
private bool _readFirstPage;
|
||||
|
||||
public event VoidDelegate? SwitchToMainUi;
|
||||
|
||||
private string[]? _tosParagraphs;
|
||||
|
||||
private Task? _timeoutTask;
|
||||
|
|
@ -40,7 +39,7 @@ internal class IntroUi : Window, IDisposable
|
|||
}
|
||||
|
||||
public IntroUi(WindowSystem windowSystem, UiShared uiShared, ConfigurationService configService,
|
||||
PeriodicFileScanner fileCacheManager, ServerConfigurationManager serverConfigurationManager) : base("Mare Synchronos Setup")
|
||||
PeriodicFileScanner fileCacheManager, ServerConfigurationManager serverConfigurationManager, MareMediator mareMediator) : base("Mare Synchronos Setup")
|
||||
{
|
||||
Logger.Verbose("Creating " + nameof(IntroUi));
|
||||
|
||||
|
|
@ -48,6 +47,7 @@ internal class IntroUi : Window, IDisposable
|
|||
_configService = configService;
|
||||
_fileCacheManager = fileCacheManager;
|
||||
_serverConfigurationManager = serverConfigurationManager;
|
||||
_mareMediator = mareMediator;
|
||||
_windowSystem = windowSystem;
|
||||
IsOpen = false;
|
||||
|
||||
|
|
@ -59,6 +59,9 @@ internal class IntroUi : Window, IDisposable
|
|||
|
||||
GetToSLocalization();
|
||||
|
||||
_mareMediator.Subscribe<SwitchToMainUiMessage>(this, (_) => IsOpen = false);
|
||||
_mareMediator.Subscribe<SwitchToIntroUiMessage>(this, (_) => IsOpen = true);
|
||||
|
||||
_windowSystem.AddWindow(this);
|
||||
}
|
||||
|
||||
|
|
@ -239,7 +242,7 @@ internal class IntroUi : Window, IDisposable
|
|||
}
|
||||
else
|
||||
{
|
||||
SwitchToMainUi?.Invoke();
|
||||
_mareMediator.Publish(new SwitchToMainUiMessage());
|
||||
IsOpen = false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue