From fd0e39482757e8fda74663dc229e1846fc19159d Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Wed, 3 Apr 2019 16:24:34 +0300 Subject: [PATCH] (04facf9b6) Gray out the text in disabled buttons if the button has no visible sprite (the buttons in the main menu for example looked the same when disabled) --- .../BarotraumaClient/Source/GUI/GUIButton.cs | 9 ++++++++- .../BarotraumaClient/Source/GameSettings.cs | 19 +++++++++++++++++++ .../Items/Components/Signal/LightComponent.cs | 4 ---- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIButton.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIButton.cs index eec9c180b..7917d904f 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIButton.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIButton.cs @@ -20,6 +20,8 @@ namespace Barotrauma public OnButtonDownHandler OnButtonDown; public bool CanBeSelected = true; + + private Color? defaultTextColor; public override bool Enabled { @@ -30,8 +32,13 @@ namespace Barotrauma set { - if (value == enabled) return; + if (value == enabled) { return; } enabled = value; + if (color.A == 0) + { + if (defaultTextColor == null) { defaultTextColor = TextBlock.TextColor; } + TextBlock.TextColor = enabled ? defaultTextColor.Value : defaultTextColor.Value * 0.5f; + } frame.Color = enabled ? color : Color.Gray * 0.7f; } } diff --git a/Barotrauma/BarotraumaClient/Source/GameSettings.cs b/Barotrauma/BarotraumaClient/Source/GameSettings.cs index d46d171a6..874608100 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSettings.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSettings.cs @@ -682,6 +682,25 @@ namespace Barotrauma } }; + //spacing + new GUIFrame(new RectTransform(new Vector2(1.0f, 0.02f), generalLayoutGroup.RectTransform), style: null); + + new GUIButton(new RectTransform(new Vector2(0.4f, 1.0f), buttonArea.RectTransform, Anchor.BottomLeft), + TextManager.Get("Cancel"), style: "GUIButtonLarge") + { + IgnoreLayoutGroups = true, + OnClicked = (x, y) => + { + if (UnsavedSettings) + { + LoadPlayerConfig(); + } + if (Screen.Selected == GameMain.MainMenuScreen) GameMain.MainMenuScreen.ReturnToMainMenu(null, null); + GUI.SettingsMenuOpen = false; + return true; + } + }; + applyButton = new GUIButton(new RectTransform(new Vector2(0.4f, 1.0f), buttonArea.RectTransform, Anchor.BottomRight), TextManager.Get("ApplySettingsButton"), style: "GUIButtonLarge") { diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs index eebf1146a..7845f609c 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs @@ -26,10 +26,6 @@ namespace Barotrauma.Items.Components private float blinkTimer; - private bool itemLoaded; - - private float blinkTimer; - public PhysicsBody ParentBody; [Editable(MinValueFloat = 0.0f, MaxValueFloat = 2048.0f), Serialize(100.0f, true)]