#pragma once #include "scene/gui/tab_container.h" #include "terrain_editor/terrain_mesh_editor.h" #include "terrain_primitive.h" class LayerEditor : public TabContainer { GDCLASS(LayerEditor, TabContainer); static void _bind_methods(); protected: void _selected_changed(); public: void deselect_current(); void select(Ref primitive); void set_inspectors(Dictionary dict); Dictionary get_inspectors() const; void set_terrain(TerrainMeshEditor *terrain); TerrainMeshEditor *get_terrain() const; private: Ref selected{}; HashMap> inspectors{}; Node *current_inspector{ nullptr }; TerrainMeshEditor *terrain{ nullptr }; };