aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2021-10-20 16:44:39 +0200
committerSébastien Crozet <sebastien@crozet.re>2021-10-20 16:58:10 +0200
commit7cda2f05e2afacd0f1deb6e49a5c6b79bc348f4d (patch)
tree3b3334254fd2c6c71fdaba54a69d644a62b876fd
parentb59e813fd336419fcd44a78adc0b2c88b1d1cdca (diff)
downloadrapier-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.rs26
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 {