diff options
| author | Sébastien Crozet <developer@crozet.re> | 2021-05-18 10:52:06 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-18 10:52:06 +0200 |
| commit | 3bac79ecacdeaa18de19127b7a6c82cbfab29d14 (patch) | |
| tree | 0d227def6b11bbfe8e14cd021f01ac54f6500f52 /examples3d/debug_dynamic_collider_add3.rs | |
| parent | 355f7a3a3934043a330763ca985264cdb1375405 (diff) | |
| parent | 47139323e01f978a94ed7aa2c33bbf63b00f4c30 (diff) | |
| download | rapier-3bac79ecacdeaa18de19127b7a6c82cbfab29d14.tar.gz rapier-3bac79ecacdeaa18de19127b7a6c82cbfab29d14.tar.bz2 rapier-3bac79ecacdeaa18de19127b7a6c82cbfab29d14.zip | |
Merge pull request #189 from dimforge/bevy_renderer
Testbed: replace Kiss3d by Bevy
Diffstat (limited to 'examples3d/debug_dynamic_collider_add3.rs')
| -rw-r--r-- | examples3d/debug_dynamic_collider_add3.rs | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/examples3d/debug_dynamic_collider_add3.rs b/examples3d/debug_dynamic_collider_add3.rs index 61c1482..6a4589b 100644 --- a/examples3d/debug_dynamic_collider_add3.rs +++ b/examples3d/debug_dynamic_collider_add3.rs @@ -45,7 +45,7 @@ pub fn init_world(testbed: &mut Testbed) { let mut extra_colliders = Vec::new(); let snapped_frame = 51; - testbed.add_callback(move |mut window, mut graphics, physics, _, _| { + testbed.add_callback(move |mut graphics, physics, _, _| { step += 1; // Add a bigger ball collider @@ -57,8 +57,8 @@ pub fn init_world(testbed: &mut Testbed) { .colliders .insert(collider, ball_handle, &mut physics.bodies); - if let (Some(graphics), Some(window)) = (&mut graphics, &mut window) { - graphics.add_collider(window, new_ball_collider_handle, &physics.colliders); + if let Some(graphics) = &mut graphics { + graphics.add_collider(new_ball_collider_handle, &physics.colliders); } extra_colliders.push(new_ball_collider_handle); @@ -79,6 +79,10 @@ pub fn init_world(testbed: &mut Testbed) { step = snapped_frame; for handle in &extra_colliders { + if let Some(graphics) = &mut graphics { + graphics.remove_collider(*handle, &physics.colliders); + } + physics .colliders .remove(*handle, &mut physics.islands, &mut physics.bodies, true); @@ -102,8 +106,8 @@ pub fn init_world(testbed: &mut Testbed) { .colliders .insert(coll, ground_handle, &mut physics.bodies); - if let (Some(graphics), Some(window)) = (&mut graphics, &mut window) { - graphics.add_collider(window, new_ground_collider_handle, &physics.colliders); + if let Some(graphics) = &mut graphics { + graphics.add_collider(new_ground_collider_handle, &physics.colliders); } extra_colliders.push(new_ground_collider_handle); @@ -115,8 +119,3 @@ pub fn init_world(testbed: &mut Testbed) { testbed.set_world(bodies, colliders, joints); testbed.look_at(Point3::new(10.0, 10.0, 10.0), Point3::origin()); } - -fn main() { - let testbed = Testbed::from_builders(0, vec![("Boxes", init_world)]); - testbed.run() -} |
