using UnityEditor; using UnityEngine; using UnityEngine.UIElements; namespace Escape_Room_Engine.Engine.Scripts.Editor { public class EngineEditor : EditorWindow { private Button _generateRoomButton; [MenuItem("Window/Engine/Engine Editor")] public static void ShowEditor() { var window = GetWindow(); window.titleContent = new GUIContent("Engine Editor"); } public void CreateGUI() { _generateRoomButton = new Button(GenerateRoom) { text = "Generate Room" }; rootVisualElement.Add(_generateRoomButton); EditorApplication.playModeStateChanged += _ => UpdateUI(); UpdateUI(); } private void GenerateRoom() { if (EditorApplication.isPlaying) { Engine.DefaultEngine.HideOldestRoom(); Engine.DefaultEngine.GenerateRoom(); UpdateUI(); } } private void UpdateUI() { _generateRoomButton.SetEnabled(EditorApplication.isPlaying); } } }