fix ui updates
This commit is contained in:
@@ -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";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user