feat: implemented point primitive gizmo

This commit is contained in:
Sara Gerretsen 2025-11-18 00:04:00 +01:00
parent 60865b74c7
commit dfbe37a2e7
15 changed files with 330 additions and 60 deletions

View file

@ -1,5 +1,4 @@
#include "terrain_mesh_generator.h"
#include "core/io/resource_saver.h"
#include "core/math/math_funcs.h"
#include "core/math/rect2.h"
#include "core/object/class_db.h"
@ -10,6 +9,7 @@
#include <limits>
String const TerrainMeshGenerator::sig_primitives_changed{ "primitives_changed" };
String const TerrainMeshGenerator::sig_primitive_list_changed{ "primitive_list_changed" };
void TerrainMeshGenerator::_bind_methods() {
BIND_HPROPERTY(Variant::ARRAY, primitives, PROPERTY_HINT_ARRAY_TYPE, vformat("%s/%s:TerrainPrimitive", Variant::OBJECT, PROPERTY_HINT_RESOURCE_TYPE));
@ -17,6 +17,7 @@ void TerrainMeshGenerator::_bind_methods() {
BIND_PROPERTY(Variant::FLOAT, color_gradient_start_height);
BIND_PROPERTY(Variant::FLOAT, color_gradient_end_height);
ADD_SIGNAL(MethodInfo(sig_primitives_changed));
ADD_SIGNAL(MethodInfo(sig_primitive_list_changed, PropertyInfo(Variant::ARRAY, "array", PROPERTY_HINT_ARRAY_TYPE, vformat("%s/%s:TerrainPrimitive", Variant::OBJECT, PROPERTY_HINT_RESOURCE_TYPE))));
ClassDB::bind_method(D_METHOD("generate_grid", "area", "out_mesh", "side_points"), &self_type::generate_grid);
}
@ -105,6 +106,7 @@ void TerrainMeshGenerator::set_primitives(Array primitives) {
primitive->connect_changed(this->generation_changed);
}
}
emit_signal(sig_primitive_list_changed, get_primitives());
on_configuration_changed();
}