From 484244c249228f945cc6f851bdf4ae08d992fb85 Mon Sep 17 00:00:00 2001 From: milan Date: Tue, 1 Nov 2022 07:36:17 +0100 Subject: [PATCH] fix ui updates --- .../Engine/Scripts/Editor/EngineEditor.cs | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/Assets/Escape Room Engine/Engine/Scripts/Editor/EngineEditor.cs b/Assets/Escape Room Engine/Engine/Scripts/Editor/EngineEditor.cs index bef3a1c..1f89c17 100644 --- a/Assets/Escape Room Engine/Engine/Scripts/Editor/EngineEditor.cs +++ b/Assets/Escape Room Engine/Engine/Scripts/Editor/EngineEditor.cs @@ -6,6 +6,8 @@ namespace Escape_Room_Engine.Engine.Scripts.Editor { public class EngineEditor : EditorWindow { + private Button _generateRoomButton; + [MenuItem("Window/Engine/Engine Editor")] public static void ShowEditor() { @@ -15,20 +17,29 @@ namespace Escape_Room_Engine.Engine.Scripts.Editor public void CreateGUI() { - var generateRoom = new Button(GenerateRoom) - { - text = Engine.DefaultEngine.NumberOfRooms == 0 ? "Generate Room" : "Regenerate Room" - }; - generateRoom.SetEnabled(EditorApplication.isPlaying); + _generateRoomButton = new Button(GenerateRoom); - rootVisualElement.Add(generateRoom); + rootVisualElement.Add(_generateRoomButton); + + EditorApplication.playModeStateChanged += _ => UpdateUI(); + UpdateUI(); } private void GenerateRoom() { - Debug.Log("Generating new room..."); - Engine.DefaultEngine.DisposeOldestRoom(); - Engine.DefaultEngine.GenerateRoom(); + if (EditorApplication.isPlaying) + { + Debug.Log("Generating new room..."); + Engine.DefaultEngine.DisposeOldestRoom(); + Engine.DefaultEngine.GenerateRoom(); + UpdateUI(); + } + } + + private void UpdateUI() + { + _generateRoomButton.SetEnabled(EditorApplication.isPlaying); + _generateRoomButton.text = Engine.DefaultEngine.NumberOfRooms == 0 ? "Generate Room" : "Regenerate Room"; } } } \ No newline at end of file