From b635a61bb45fc6d0d72254c78f42d46142222e12 Mon Sep 17 00:00:00 2001 From: Regalis Date: Mon, 27 Feb 2017 19:59:19 +0200 Subject: [PATCH] Editor UI fixes: UI of the selected item is added to GUIUpdateList in wiring/character mode, save/load/item menus can't be clicked when hidden by wiring/character mode --- Subsurface/Source/Screens/EditMapScreen.cs | 42 +++++++++++++++------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/Subsurface/Source/Screens/EditMapScreen.cs b/Subsurface/Source/Screens/EditMapScreen.cs index 6929e2ae7..7a891a3cc 100644 --- a/Subsurface/Source/Screens/EditMapScreen.cs +++ b/Subsurface/Source/Screens/EditMapScreen.cs @@ -418,6 +418,9 @@ namespace Barotrauma private void CreateSaveScreen() { + if (characterMode) ToggleCharacterMode(); + if (wiringMode) ToggleWiringMode(); + int width = 400, height = 400; int y = 0; @@ -502,6 +505,9 @@ namespace Barotrauma private bool CreateLoadScreen(GUIButton button, object obj) { + if (characterMode) ToggleCharacterMode(); + if (wiringMode) ToggleWiringMode(); + Submarine.RefreshSavedSubs(); int width = 300, height = 400; @@ -596,10 +602,14 @@ namespace Barotrauma private bool SelectTab(GUIButton button, object obj) { + if (characterMode) ToggleCharacterMode(); + if (wiringMode) ToggleWiringMode(); + selectedTab = (int)obj; var searchBox = GUItabs[selectedTab].GetChild(); ClearFilter(searchBox, null); + searchBox.Text = ""; searchBox.AddToGUIUpdateList(); searchBox.Select(); @@ -899,22 +909,28 @@ namespace Barotrauma wiringToolPanel.AddToGUIUpdateList(); } - if (loadFrame != null) - { - loadFrame.AddToGUIUpdateList(); - } - else if (saveFrame != null) - { - saveFrame.AddToGUIUpdateList(); - } - else if (selectedTab > -1) - { - GUItabs[selectedTab].AddToGUIUpdateList(); - } - if ((characterMode || wiringMode) && dummyCharacter != null) { CharacterHUD.AddToGUIUpdateList(dummyCharacter); + if (dummyCharacter.SelectedConstruction != null) + { + dummyCharacter.SelectedConstruction.AddToGUIUpdateList(); + } + } + else + { + if (loadFrame != null) + { + loadFrame.AddToGUIUpdateList(); + } + else if (saveFrame != null) + { + saveFrame.AddToGUIUpdateList(); + } + else if (selectedTab > -1) + { + GUItabs[selectedTab].AddToGUIUpdateList(); + } } GUI.AddToGUIUpdateList();