diff options
| author | Sébastien Crozet <sebcrozet@dimforge.com> | 2022-05-31 11:23:46 +0200 |
|---|---|---|
| committer | Sébastien Crozet <sebcrozet@dimforge.com> | 2022-05-31 11:23:46 +0200 |
| commit | 8b3c091ba785d5cba049015c213eb49bb6378762 (patch) | |
| tree | f235c408372aaea9dd4007838e3c51044d310daf /src/pipeline | |
| parent | 31cfce4db30efeb15ccb8c51e6c20ff07406987c (diff) | |
| download | rapier-disabled-flag.tar.gz rapier-disabled-flag.tar.bz2 rapier-disabled-flag.zip | |
Start experimenting with collider/rigid-body disabling.disabled-flag
Diffstat (limited to 'src/pipeline')
| -rw-r--r-- | src/pipeline/user_changes.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/pipeline/user_changes.rs b/src/pipeline/user_changes.rs index 9872208..be2cec3 100644 --- a/src/pipeline/user_changes.rs +++ b/src/pipeline/user_changes.rs @@ -151,15 +151,21 @@ pub(crate) fn handle_user_changes_to_rigid_bodies( if changes.contains(RigidBodyChanges::DOMINANCE) || changes.contains(RigidBodyChanges::TYPE) + || changes.contains(RigidBodyChanges::ENABLED) { + // Propagate the modified flags to the attached colliders. + let flags = if changes.contains(RigidBodyChanges::ENABLED) { + ColliderChanges::ENABLED + } else { + ColliderChanges::PARENT_EFFECTIVE_DOMINANCE + }; for handle in rb.colliders.0.iter() { let co = colliders.index_mut_internal(*handle); if !co.changes.contains(ColliderChanges::MODIFIED) { modified_colliders.push(*handle); } - co.changes |= - ColliderChanges::MODIFIED | ColliderChanges::PARENT_EFFECTIVE_DOMINANCE; + co.changes |= ColliderChanges::MODIFIED | flags; } } |
