fix(lines): fix lines not clearing when having no points

Signed-off-by: Schmarni <marnistromer@gmail.com>
This commit is contained in:
Schmarni
2025-06-28 20:42:28 +02:00
committed by Nova King
parent c93036278f
commit ac2f4a9e27
2 changed files with 22 additions and 11 deletions

View File

@@ -68,6 +68,19 @@ fn build_line_mesh(
let mut vertex_indecies = Vec::<u32>::new();
let lines_data = lines.data.lock();
if lines_data.is_empty() {
*lines.bounds.lock() = Aabb::default();
match lines.entity.get() {
Some(e) => cmds.entity(**e),
None => {
let e = cmds.spawn((
Name::new("LinesNode"),
SpatialNode(Arc::downgrade(&lines.spatial)),
));
_ = lines.entity.set(e.id().into());
e
}
}
.remove::<Mesh3d>();
continue;
}
@@ -158,20 +171,18 @@ fn build_line_mesh(
let e = cmds.spawn((
Name::new("LinesNode"),
SpatialNode(Arc::downgrade(&lines.spatial)),
MeshMaterial3d(materials.add(PbrMaterial {
color: Color::WHITE,
roughness: 1.0,
alpha_mode: AlphaMode::Opaque,
..default()
})),
));
_ = lines.entity.set(e.id().into());
e
}
}
.insert((
Mesh3d(meshes.add(mesh)),
MeshMaterial3d(materials.add(PbrMaterial {
color: Color::WHITE,
roughness: 1.0,
alpha_mode: AlphaMode::Opaque,
..default()
})),
));
.insert(Mesh3d(meshes.add(mesh)));
}
}