From 4605f055da8d1498d3d989fdd3ccbed2252e8f31 Mon Sep 17 00:00:00 2001 From: Troels Jessen Date: Mon, 4 Apr 2022 20:09:55 +0000 Subject: [PATCH] Added pressed state to input clear so it clears everything (#4410) # Objective Adds `pressed` state to Input::clear(). Fixes #3383 --- crates/bevy_input/src/input.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/crates/bevy_input/src/input.rs b/crates/bevy_input/src/input.rs index 2ed7b7a6349f1c..34a80eb308b9da 100644 --- a/crates/bevy_input/src/input.rs +++ b/crates/bevy_input/src/input.rs @@ -116,10 +116,11 @@ where self.just_released.remove(&input); } - /// Clear just pressed and just released information. + /// Clear pressed, just pressed and just released information. pub fn clear(&mut self) { self.just_pressed.clear(); self.just_released.clear(); + self.pressed.clear(); } /// List all inputs that are pressed. @@ -166,7 +167,7 @@ mod test { assert!(input.pressed(DummyInput::Input1)); assert!(input.pressed(DummyInput::Input2)); - // Clear the `input`, removing just pressed and just released + // Clear the `input`, removing pressed, just pressed and just released input.clear(); // Check if they're marked "just pressed" @@ -174,8 +175,12 @@ mod test { assert!(!input.just_pressed(DummyInput::Input2)); // Check if they're marked as pressed - assert!(input.pressed(DummyInput::Input1)); - assert!(input.pressed(DummyInput::Input2)); + assert!(!input.pressed(DummyInput::Input1)); + assert!(!input.pressed(DummyInput::Input2)); + + // Test pressing + input.press(DummyInput::Input1); + input.press(DummyInput::Input2); // Release the inputs and check state