diff --git a/Content.Client/Launcher/LauncherConnecting.cs b/Content.Client/Launcher/LauncherConnecting.cs index ff80d1f1c3..744ad92027 100644 --- a/Content.Client/Launcher/LauncherConnecting.cs +++ b/Content.Client/Launcher/LauncherConnecting.cs @@ -52,17 +52,31 @@ namespace Content.Client.Launcher _userInterfaceManager.StateRoot.AddChild(_control); - _clientNetManager.ConnectFailed += (_, args) => - { - ConnectFailReason = args.Reason; - CurrentPage = Page.ConnectFailed; - }; - - _clientNetManager.ClientConnectStateChanged += state => ConnectionStateChanged?.Invoke(state); + _clientNetManager.ConnectFailed += OnConnectFailed; + _clientNetManager.ClientConnectStateChanged += OnConnectStateChanged; CurrentPage = Page.Connecting; } + public override void Shutdown() + { + _control?.Dispose(); + + _clientNetManager.ConnectFailed -= OnConnectFailed; + _clientNetManager.ClientConnectStateChanged -= OnConnectStateChanged; + } + + private void OnConnectFailed(object? _, NetConnectFailArgs args) + { + ConnectFailReason = args.Reason; + CurrentPage = Page.ConnectFailed; + } + + private void OnConnectStateChanged(ClientConnectionState state) + { + ConnectionStateChanged?.Invoke(state); + } + public void RetryConnect() { if (_gameController.LaunchState.ConnectEndpoint != null) @@ -77,11 +91,6 @@ namespace Content.Client.Launcher _gameController.Shutdown("Exit button pressed"); } - public override void Shutdown() - { - _control?.Dispose(); - } - public void SetDisconnected() { CurrentPage = Page.Disconnected;