38 lines
890 B
C#
38 lines
890 B
C#
#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
|