#if TOOLS using Godot; namespace Mr.BrickAdventures.Tools.CaLevelGenerator; [Tool] public partial class CaLevelGeneratorPlugin : EditorPlugin { private EditorDock _editorDock; private CaLevelGeneratorDock _dock; public override void _EnterTree() { _dock = new CaLevelGeneratorDock { Plugin = this }; _editorDock = new EditorDock { Title = "CA Level Generator" }; _editorDock.AddChild(_dock); AddDock(_editorDock); SceneChanged += OnSceneChanged; } public override void _ExitTree() { SceneChanged -= OnSceneChanged; RemoveDock(_editorDock); _editorDock.QueueFree(); _editorDock = null; _dock = null; } private void OnSceneChanged(Node sceneRoot) { _dock?.OnSceneChanged(sceneRoot); } public EditorUndoRedoManager UndoRedo => GetUndoRedo(); } #endif