From 526f4347a511aeeae3b95ae4231b254039f52378 Mon Sep 17 00:00:00 2001 From: Nolan Darilek Date: Wed, 1 Feb 2023 12:24:29 -0600 Subject: [PATCH] Snapping shouldn't happen continuously. --- src/navigation.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/navigation.rs b/src/navigation.rs index e214918..61de406 100644 --- a/src/navigation.rs +++ b/src/navigation.rs @@ -250,7 +250,7 @@ fn snap( for (entity, actions, mut transform, direction) in &mut query { if snap_timers.contains_key(&entity) { continue; - } else if actions.pressed(NavigationAction::SnapLeft) { + } else if actions.just_pressed(NavigationAction::SnapLeft) { snap_timers.insert(entity, SnapTimer::default()); transform.rotation = Quat::from_rotation_z(match direction { CardinalDirection::North => PI, @@ -258,7 +258,7 @@ fn snap( CardinalDirection::South => 0., CardinalDirection::West => -PI / 2., }); - } else if actions.pressed(NavigationAction::SnapRight) { + } else if actions.just_pressed(NavigationAction::SnapRight) { snap_timers.insert(entity, SnapTimer::default()); transform.rotation = Quat::from_rotation_z(match direction { CardinalDirection::North => 0., @@ -266,10 +266,10 @@ fn snap( CardinalDirection::South => PI, CardinalDirection::West => PI / 2., }); - } else if actions.pressed(NavigationAction::SnapReverse) { + } else if actions.just_pressed(NavigationAction::SnapReverse) { snap_timers.insert(entity, SnapTimer::default()); transform.rotate(Quat::from_rotation_z(PI)); - } else if actions.pressed(NavigationAction::SnapCardinal) { + } else if actions.just_pressed(NavigationAction::SnapCardinal) { let yaw: Angle = direction.into(); let yaw = yaw.radians(); transform.rotation = Quat::from_rotation_z(yaw);