fix minions/mounts for 6.2, todo: remove penumbra redraw once glamourer is available

This commit is contained in:
Stanley Dimant
2022-08-24 22:02:56 +02:00
parent 0d3fbc245b
commit 5cdb9e6dfa
8 changed files with 72 additions and 69 deletions

View File

@@ -124,12 +124,24 @@ namespace MareSynchronos.WebAPI
private string ApiUri => _pluginConfiguration.ApiUri;
public int OnlineUsers => SystemInfoDto.OnlineUsers;
public ServerState ServerState { get; private set; }
private ServerState _serverState;
public ServerState ServerState
{
get => _serverState;
private set
{
Logger.Debug($"New ServerState: {value}, prev ServerState: {_serverState}");
_serverState = value;
}
}
public async Task CreateConnections()
{
await StopConnection(_connectionCancellationTokenSource.Token);
if (_pluginConfiguration.FullPause)
{
Logger.Info("Not recreating Connection, paused");
ServerState = ServerState.Disconnected;
_connectionDto = null;
return;
@@ -137,8 +149,6 @@ namespace MareSynchronos.WebAPI
Logger.Info("Recreating Connection");
await StopConnection(_connectionCancellationTokenSource.Token);
_connectionCancellationTokenSource.Cancel();
_connectionCancellationTokenSource = new CancellationTokenSource();
var token = _connectionCancellationTokenSource.Token;
@@ -298,9 +308,9 @@ namespace MareSynchronos.WebAPI
CurrentUploads.Clear();
CurrentDownloads.Clear();
_uploadCancellationTokenSource?.Cancel();
Logger.Info("Connection closed");
Disconnected?.Invoke();
ServerState = ServerState.Offline;
Logger.Info("Connection closed");
return Task.CompletedTask;
}
@@ -337,6 +347,14 @@ namespace MareSynchronos.WebAPI
await _mareHub.DisposeAsync();
_mareHub = null;
}
if (ServerState != ServerState.Disconnected)
{
while (ServerState != ServerState.Offline)
{
await Task.Delay(16);
}
}
}
}
}