terrain-editor/modules/terrain_editor/layer_editor.h

25 lines
639 B
C++

#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:
public:
void deselect_current();
void select(Ref<TerrainPrimitive> primitive);
void set_inspectors(Dictionary dict);
Dictionary get_inspectors() const;
void set_terrain(TerrainMeshEditor *terrain);
TerrainMeshEditor *get_terrain() const;
private:
HashMap<StringName, Ref<PackedScene>> inspectors{};
Node *current_inspector{ nullptr };
TerrainMeshEditor *terrain{ nullptr };
};