aboutsummaryrefslogtreecommitdiff
path: root/src/pipeline/user_changes.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/pipeline/user_changes.rs')
-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;
}
}