From d849a0434b2c858a9e01c404bb42cff5d85ea438 Mon Sep 17 00:00:00 2001 From: SpaceManiac Date: Mon, 10 Feb 2025 16:45:52 -0800 Subject: [PATCH] Fix character menu button not untoggling when window closes (#33712) --- .../Character/CharacterUIController.cs | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) 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