From 7cda2f05e2afacd0f1deb6e49a5c6b79bc348f4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Crozet?= Date: Wed, 20 Oct 2021 16:44:39 +0200 Subject: [PATCH] =?UTF-8?q?Testbed:=20don=E2=80=99t=20panic=20when=20tryin?= =?UTF-8?q?g=20to=20render=20an=20unknown=20custom=20shape.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src_testbed/objects/node.rs | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src_testbed/objects/node.rs b/src_testbed/objects/node.rs index 9bbece2..aea11d8 100644 --- a/src_testbed/objects/node.rs +++ b/src_testbed/objects/node.rs @@ -48,8 +48,7 @@ impl EntityWithGraphics { let mesh = prefab_meshs .get(&shape.shape_type()) .cloned() - .or_else(|| generate_collider_mesh(shape).map(|m| meshes.add(m))) - .expect("Could not build the collider's render mesh"); + .or_else(|| generate_collider_mesh(shape).map(|m| meshes.add(m))); let opacity = 1.0; let bevy_color = Color::rgba(color.x, color.y, color.z, opacity); @@ -83,18 +82,21 @@ impl EntityWithGraphics { }; let material_handle = materials.add(material); let material_weak_handle = material_handle.clone_weak(); - let pbr = PbrBundle { - mesh, - material: material_handle, - transform, - ..Default::default() - }; - let mut entity_commands = commands.entity(entity); - entity_commands.insert_bundle(pbr); + if let Some(mesh) = mesh { + let pbr = PbrBundle { + mesh, + material: material_handle, + transform, + ..Default::default() + }; - if sensor { - entity_commands.insert(Wireframe); + let mut entity_commands = commands.entity(entity); + entity_commands.insert_bundle(pbr); + + if sensor { + entity_commands.insert(Wireframe); + } } EntityWithGraphics {