summaryrefslogtreecommitdiff
path: root/engine/src/input.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/input.rs')
-rw-r--r--engine/src/input.rs19
1 files changed, 13 insertions, 6 deletions
diff --git a/engine/src/input.rs b/engine/src/input.rs
index d1fb336..f4166f6 100644
--- a/engine/src/input.rs
+++ b/engine/src/input.rs
@@ -49,16 +49,21 @@ impl Keys
#[must_use]
pub fn get_key_state(&self, key: Key) -> KeyState
{
- self.map.get(&key).expect("Key not in key map").state
+ let Some(key_data) = self.map.get(&key) else {
+ unreachable!();
+ };
+
+ key_data.state
}
#[must_use]
pub fn get_prev_key_state(&self, key: Key) -> KeyState
{
- self.map
- .get(&key)
- .expect("Key not in key map")
- .prev_tick_state
+ let Some(key_data) = self.map.get(&key) else {
+ unreachable!();
+ };
+
+ key_data.prev_tick_state
}
pub fn set_key_state(&mut self, key: Key, new_key_state: KeyState)
@@ -67,7 +72,9 @@ impl Keys
return;
}
- let key_data = self.map.get_mut(&key).expect("Key not in key map");
+ let Some(key_data) = self.map.get_mut(&key) else {
+ unreachable!();
+ };
key_data.state = new_key_state;
}