summaryrefslogtreecommitdiff
path: root/modules/csg
diff options
context:
space:
mode:
authorEeli Reilin <rottis@fea.st>2022-03-21 11:43:46 +0200
committerEeli Reilin <rottis@fea.st>2022-04-06 13:36:34 +0300
commit60f3d1d36fc81ec23c88f5414c03ac17993432e9 (patch)
tree8989a8926ae67219e5cc81e3601cac32d2069ed9 /modules/csg
parent72407a9cfbd4f58102972c0910429f3ab7006f07 (diff)
Fix CSG gizmos only working on root shapes
Diffstat (limited to 'modules/csg')
-rw-r--r--modules/csg/editor/csg_gizmos.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/modules/csg/editor/csg_gizmos.cpp b/modules/csg/editor/csg_gizmos.cpp
index be29810252..4d972e46c6 100644
--- a/modules/csg/editor/csg_gizmos.cpp
+++ b/modules/csg/editor/csg_gizmos.cpp
@@ -347,14 +347,12 @@ void CSGShape3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
p_gizmo->add_lines(lines, material);
p_gizmo->add_collision_segments(lines);
- Array csg_meshes = cs->get_meshes();
- if (csg_meshes.size() != 2) {
- return;
- }
-
- Ref<Mesh> csg_mesh = csg_meshes[1];
- if (csg_mesh.is_valid()) {
- p_gizmo->add_collision_triangles(csg_mesh->generate_triangle_mesh());
+ if (cs->is_root_shape()) {
+ Array csg_meshes = cs->get_meshes();
+ Ref<Mesh> csg_mesh = csg_meshes[1];
+ if (csg_mesh.is_valid()) {
+ p_gizmo->add_collision_triangles(csg_mesh->generate_triangle_mesh());
+ }
}
if (p_gizmo->is_selected()) {