diff options
| author | Sébastien Crozet <developer@crozet.re> | 2021-10-20 16:44:39 +0200 |
|---|---|---|
| committer | Sébastien Crozet <sebastien@crozet.re> | 2021-10-20 16:58:10 +0200 |
| commit | 7cda2f05e2afacd0f1deb6e49a5c6b79bc348f4d (patch) | |
| tree | 3b3334254fd2c6c71fdaba54a69d644a62b876fd | |
| parent | b59e813fd336419fcd44a78adc0b2c88b1d1cdca (diff) | |
| download | rapier-7cda2f05e2afacd0f1deb6e49a5c6b79bc348f4d.tar.gz rapier-7cda2f05e2afacd0f1deb6e49a5c6b79bc348f4d.tar.bz2 rapier-7cda2f05e2afacd0f1deb6e49a5c6b79bc348f4d.zip | |
Testbed: don’t panic when trying to render an unknown custom shape.
| -rw-r--r-- | src_testbed/objects/node.rs | 26 |
1 files 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() + }; + + let mut entity_commands = commands.entity(entity); + entity_commands.insert_bundle(pbr); - if sensor { - entity_commands.insert(Wireframe); + if sensor { + entity_commands.insert(Wireframe); + } } EntityWithGraphics { |
