From 43ff44eed9bd3b6126530a9188ca2ff62c5cf9b1 Mon Sep 17 00:00:00 2001 From: Laurent Senta Date: Sat, 25 Jan 2025 19:29:59 +0100 Subject: [PATCH] feat: expose mesh count in inspector --- src/terrain_3d_mesh_asset.cpp | 2 ++ src/terrain_3d_mesh_asset.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/terrain_3d_mesh_asset.cpp b/src/terrain_3d_mesh_asset.cpp index c8590f7c..947e8fd5 100644 --- a/src/terrain_3d_mesh_asset.cpp +++ b/src/terrain_3d_mesh_asset.cpp @@ -442,6 +442,7 @@ void Terrain3DMeshAsset::_bind_methods() { ClassDB::bind_method(D_METHOD("get_generated_size"), &Terrain3DMeshAsset::get_generated_size); ClassDB::bind_method(D_METHOD("get_mesh", "index"), &Terrain3DMeshAsset::get_mesh, DEFVAL(0)); ClassDB::bind_method(D_METHOD("get_mesh_count"), &Terrain3DMeshAsset::get_mesh_count); + ClassDB::bind_method(D_METHOD("set_mesh_count", "count"), &Terrain3DMeshAsset::set_mesh_count); ClassDB::bind_method(D_METHOD("get_thumbnail"), &Terrain3DMeshAsset::get_thumbnail); ADD_PROPERTY(PropertyInfo(Variant::STRING, "name", PROPERTY_HINT_NONE), "set_name", "get_name"); @@ -457,6 +458,7 @@ void Terrain3DMeshAsset::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "lod_1_visibility_range", PROPERTY_HINT_RANGE, "0.,4096.0,.05,or_greater"), "set_lod_1_visibility_range", "get_lod_1_visibility_range"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "lod_2_visibility_range", PROPERTY_HINT_RANGE, "0.,4096.0,.05,or_greater"), "set_lod_2_visibility_range", "get_lod_2_visibility_range"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "lod_3_visibility_range", PROPERTY_HINT_RANGE, "0.,4096.0,.05,or_greater"), "set_lod_3_visibility_range", "get_lod_3_visibility_range"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "mesh count (lods)", PROPERTY_HINT_NONE), "set_mesh_count", "get_mesh_count"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "scene_file", PROPERTY_HINT_RESOURCE_TYPE, "PackedScene"), "set_scene_file", "get_scene_file"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "material_override", PROPERTY_HINT_RESOURCE_TYPE, "BaseMaterial3D,ShaderMaterial"), "set_material_override", "get_material_override"); ADD_PROPERTY(PropertyInfo(Variant::INT, "generated_type", PROPERTY_HINT_ENUM, "None,Texture Card"), "set_generated_type", "get_generated_type"); diff --git a/src/terrain_3d_mesh_asset.h b/src/terrain_3d_mesh_asset.h index 18d0795c..ce61c199 100644 --- a/src/terrain_3d_mesh_asset.h +++ b/src/terrain_3d_mesh_asset.h @@ -112,6 +112,7 @@ class Terrain3DMeshAsset : public Terrain3DAssetResource { Ref get_mesh(const int p_index = 0); int get_mesh_count() const { return _meshes.size(); } + void set_mesh_count(const int p_count) {} // no-op, used to expose the property in the editor Ref get_thumbnail() const { return _thumbnail; } protected: