#if TOOLS [Tool] public partial class TerrainEditingPlugin : EditorPlugin { TerrainEditingControls _controls; public override bool _Handles(GodotObject obj) => obj is Terrain; public override void _EnterTree() { var scene = GD.Load("res://addons/terrain-editing/TerrainEditingControls.tscn"); _controls = scene.Instantiate(); } public override void _ExitTree() { if (_controls == null) return; _controls.QueueFree(); _controls = null; } public override void _MakeVisible(bool visible) { var container = CustomControlContainer.SpatialEditorSideRight; if (visible) AddControlToContainer(container, _controls); else if (_controls != null) RemoveControlFromContainer(container, _controls); } } #endif