Skip to content

Commit

Permalink
dimforge#592 Adding change check before setting position
Browse files Browse the repository at this point in the history
This prevents excess work from being done in step_simulation
  • Loading branch information
AnthonyTornetta committed Oct 21, 2024
1 parent f17bd5b commit f8cac57
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions src/plugin/systems/collider.rs
Original file line number Diff line number Diff line change
Expand Up @@ -122,10 +122,22 @@ pub fn apply_collider_user_changes(
collider_offset(entity, &context, &parent_query, &transform_query);

if let Some(co) = context.colliders.get_mut(handle.0) {
co.set_position_wrt_parent(utils::transform_to_iso(&collider_position));
let new_pos = utils::transform_to_iso(&collider_position);

if co
.position_wrt_parent()
.map(|pos| *pos != new_pos)
.unwrap_or(true)
{
co.set_position_wrt_parent(new_pos);
}
}
} else if let Some(co) = context.colliders.get_mut(handle.0) {
co.set_position(utils::transform_to_iso(&transform.compute_transform()))
let new_pos = utils::transform_to_iso(&transform.compute_transform());

if *co.position() != new_pos {
co.set_position(utils::transform_to_iso(&transform.compute_transform()));
}
}
}

Expand Down

0 comments on commit f8cac57

Please sign in to comment.