diff --git a/Content.Client/UserInterface/Systems/Character/CharacterUIController.cs b/Content.Client/UserInterface/Systems/Character/CharacterUIController.cs index c9251000a3..e69f577407 100644 --- a/Content.Client/UserInterface/Systems/Character/CharacterUIController.cs +++ b/Content.Client/UserInterface/Systems/Character/CharacterUIController.cs @@ -56,19 +56,20 @@ public sealed class CharacterUIController : UIController, IOnStateEntered(); LayoutContainer.SetAnchorPreset(_window, LayoutContainer.LayoutPreset.CenterTop); - + _window.OnClose += DeactivateButton; + _window.OnOpen += ActivateButton; CommandBinds.Builder .Bind(ContentKeyFunctions.OpenCharacterMenu, - InputCmdHandler.FromDelegate(_ => ToggleWindow())) - .Register(); + InputCmdHandler.FromDelegate(_ => ToggleWindow())) + .Register(); } public void OnStateExited(GameplayState state) { if (_window != null) { - _window.Dispose(); + _window.Close(); _window = null; } @@ -105,18 +106,27 @@ public sealed class CharacterUIController : UIController, IOnStateEntered CharacterButton!.Pressed = false; - private void ActivateButton() => CharacterButton!.Pressed = true; + private void ActivateButton() + { + if (CharacterButton == null) + { + return; + } + + CharacterButton.Pressed = true; + } private void CharacterUpdated(CharacterData data) { @@ -150,7 +160,7 @@ public sealed class CharacterUIController : UIController, IOnStateEntered