fix ui updates
This commit is contained in:
@@ -6,6 +6,8 @@ namespace Escape_Room_Engine.Engine.Scripts.Editor
|
|||||||
{
|
{
|
||||||
public class EngineEditor : EditorWindow
|
public class EngineEditor : EditorWindow
|
||||||
{
|
{
|
||||||
|
private Button _generateRoomButton;
|
||||||
|
|
||||||
[MenuItem("Window/Engine/Engine Editor")]
|
[MenuItem("Window/Engine/Engine Editor")]
|
||||||
public static void ShowEditor()
|
public static void ShowEditor()
|
||||||
{
|
{
|
||||||
@@ -15,20 +17,29 @@ namespace Escape_Room_Engine.Engine.Scripts.Editor
|
|||||||
|
|
||||||
public void CreateGUI()
|
public void CreateGUI()
|
||||||
{
|
{
|
||||||
var generateRoom = new Button(GenerateRoom)
|
_generateRoomButton = new Button(GenerateRoom);
|
||||||
{
|
|
||||||
text = Engine.DefaultEngine.NumberOfRooms == 0 ? "Generate Room" : "Regenerate Room"
|
|
||||||
};
|
|
||||||
generateRoom.SetEnabled(EditorApplication.isPlaying);
|
|
||||||
|
|
||||||
rootVisualElement.Add(generateRoom);
|
rootVisualElement.Add(_generateRoomButton);
|
||||||
|
|
||||||
|
EditorApplication.playModeStateChanged += _ => UpdateUI();
|
||||||
|
UpdateUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GenerateRoom()
|
private void GenerateRoom()
|
||||||
{
|
{
|
||||||
Debug.Log("Generating new room...");
|
if (EditorApplication.isPlaying)
|
||||||
Engine.DefaultEngine.DisposeOldestRoom();
|
{
|
||||||
Engine.DefaultEngine.GenerateRoom();
|
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