aboutsummaryrefslogtreecommitdiff
path: root/src/pipeline
diff options
context:
space:
mode:
authorSébastien Crozet <sebcrozet@dimforge.com>2022-05-31 11:23:46 +0200
committerSébastien Crozet <sebcrozet@dimforge.com>2022-05-31 11:23:46 +0200
commit8b3c091ba785d5cba049015c213eb49bb6378762 (patch)
treef235c408372aaea9dd4007838e3c51044d310daf /src/pipeline
parent31cfce4db30efeb15ccb8c51e6c20ff07406987c (diff)
downloadrapier-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.rs10
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;
}
}