From 0cc32571e699fa0b8afc7b9c720a7f5d9e71c80a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20M=C3=BCller?= Date: Thu, 3 Sep 2020 10:26:36 +0200 Subject: [PATCH 1/3] Add access to pressed/just_pressed to Input --- crates/bevy_input/src/input.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crates/bevy_input/src/input.rs b/crates/bevy_input/src/input.rs index dcdad65b1d12c..bdec09030078b 100644 --- a/crates/bevy_input/src/input.rs +++ b/crates/bevy_input/src/input.rs @@ -51,4 +51,12 @@ where self.just_pressed.clear(); self.just_released.clear(); } + + pub fn get_pressed(&self) -> impl Iterator { + self.pressed.iter() + } + + pub fn get_just_pressed(&self) -> impl Iterator { + self.just_pressed.iter() + } } From 5fd16b8a3bcf9397ece818b8d964eb0436876132 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20M=C3=BCller?= Date: Thu, 3 Sep 2020 11:34:17 +0200 Subject: [PATCH 2/3] Use ExactSizeIterator to lose less information --- crates/bevy_input/src/input.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/bevy_input/src/input.rs b/crates/bevy_input/src/input.rs index bdec09030078b..78ae6208c3d41 100644 --- a/crates/bevy_input/src/input.rs +++ b/crates/bevy_input/src/input.rs @@ -52,11 +52,11 @@ where self.just_released.clear(); } - pub fn get_pressed(&self) -> impl Iterator { + pub fn get_pressed(&self) -> impl ExactSizeIterator { self.pressed.iter() } - pub fn get_just_pressed(&self) -> impl Iterator { + pub fn get_just_pressed(&self) -> impl ExactSizeIterator { self.just_pressed.iter() } } From f84a8324e695c7b02e037db164734f308c7fa9af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20M=C3=BCller?= Date: Thu, 3 Sep 2020 11:34:34 +0200 Subject: [PATCH 3/3] Also expose just_released input --- crates/bevy_input/src/input.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crates/bevy_input/src/input.rs b/crates/bevy_input/src/input.rs index 78ae6208c3d41..d73c6929e7217 100644 --- a/crates/bevy_input/src/input.rs +++ b/crates/bevy_input/src/input.rs @@ -59,4 +59,8 @@ where pub fn get_just_pressed(&self) -> impl ExactSizeIterator { self.just_pressed.iter() } + + pub fn get_just_released(&self) -> impl ExactSizeIterator { + self.just_released.iter() + } }