aboutsummaryrefslogtreecommitdiff
path: root/src_testbed/testbed.rs
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2020-10-05 19:04:18 +0200
committerCrozet Sébastien <developer@crozet.re>2020-10-05 19:04:18 +0200
commit93aa7b6e1e8cbfd73542ed10ad5c26ae0a8b9848 (patch)
tree5d602450c5b5e1c0c08eeffd3196b373b4312a08 /src_testbed/testbed.rs
parent2d0a888484dd296cc785caf978252dd97b58e10a (diff)
downloadrapier-93aa7b6e1e8cbfd73542ed10ad5c26ae0a8b9848.tar.gz
rapier-93aa7b6e1e8cbfd73542ed10ad5c26ae0a8b9848.tar.bz2
rapier-93aa7b6e1e8cbfd73542ed10ad5c26ae0a8b9848.zip
Use the publish-subscribe mechanism to handle collider removals across pipelines.
Diffstat (limited to 'src_testbed/testbed.rs')
-rw-r--r--src_testbed/testbed.rs15
1 files changed, 4 insertions, 11 deletions
diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs
index 9f63438..869fa41 100644
--- a/src_testbed/testbed.rs
+++ b/src_testbed/testbed.rs
@@ -813,13 +813,9 @@ impl Testbed {
let num_to_delete = (colliders.len() / 10).max(1);
for to_delete in &colliders[..num_to_delete] {
- self.physics.pipeline.remove_collider(
- to_delete[0],
- &mut self.physics.broad_phase,
- &mut self.physics.narrow_phase,
- &mut self.physics.bodies,
- &mut self.physics.colliders,
- );
+ self.physics
+ .colliders
+ .remove(to_delete[0], &mut self.physics.bodies);
}
}
WindowEvent::Key(Key::D, Action::Release, _) => {
@@ -833,11 +829,8 @@ impl Testbed {
.collect();
let num_to_delete = (dynamic_bodies.len() / 10).max(1);
for to_delete in &dynamic_bodies[..num_to_delete] {
- self.physics.pipeline.remove_rigid_body(
+ self.physics.bodies.remove(
*to_delete,
- &mut self.physics.broad_phase,
- &mut self.physics.narrow_phase,
- &mut self.physics.bodies,
&mut self.physics.colliders,
&mut self.physics.joints,
);