From 9696489d5f1807a507214d6fcdecac4d47e0356d Mon Sep 17 00:00:00 2001 From: diogo464 Date: Fri, 5 Dec 2025 15:09:09 +0000 Subject: reworked entity storage --- src/entity_button.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/entity_button.rs') diff --git a/src/entity_button.rs b/src/entity_button.rs index baa89a4..35f787f 100644 --- a/src/entity_button.rs +++ b/src/entity_button.rs @@ -36,6 +36,21 @@ impl<'a> Button<'a> { } pub async fn pressed(&mut self) { - self.0.wait_command().await; + loop { + self.0.wait_command().await; + let pressed = self.0.with_data(|data| { + let storage = data.storage.as_button_mut(); + if !storage.consumed && storage.timestamp.is_some() { + storage.consumed = true; + true + } else { + false + } + }); + + if pressed { + break; + } + } } } -- cgit