From 2abeb3b08cb9b7386a8bf32c5758101648a26e3c Mon Sep 17 00:00:00 2001 From: Nolan Darilek Date: Tue, 20 Jul 2021 10:53:44 -0500 Subject: [PATCH] Don't sync transforms with a ColliderPosition, and also don't sync if they're already equal. --- src/core.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/core.rs b/src/core.rs index f8c0044..3733868 100644 --- a/src/core.rs +++ b/src/core.rs @@ -548,11 +548,20 @@ fn setup(core_config: Res, mut rapier_config: ResMut, - mut query: Query<(&Coordinates, &mut Transform), Without>, + mut query: Query< + (&Coordinates, &mut Transform), + (Without, Without), + >, ) { for (coordinates, mut transform) in query.iter_mut() { - transform.translation.x = coordinates.0 .0 * config.pixels_per_unit as f32; - transform.translation.y = coordinates.0 .1 * config.pixels_per_unit as f32; + let x = coordinates.0 .0 * config.pixels_per_unit as f32; + if transform.translation.x != x { + transform.translation.x = x; + } + let y = coordinates.0 .1 * config.pixels_per_unit as f32; + if transform.translation.y != y { + transform.translation.y = y; + } } } @@ -589,7 +598,6 @@ impl Plugin for CorePlugin { } app.register_type::() .add_startup_system(setup.system()) - .add_system(copy_coordinates_to_transform.system()) .add_system_to_stage( CoreStage::PostUpdate, copy_coordinates_to_transform