aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWBoerenkamps <wrj.boerenkamps@student.avans.nl>2024-12-15 22:43:37 +0100
committerWBoerenkamps <wrj.boerenkamps@student.avans.nl>2024-12-15 22:43:37 +0100
commitff969f4e676d8cb565da1581733a35eb64eb03c6 (patch)
tree7962073482805aad59c6ab8a29362bef7666a021
parent60f8b69876919a4010406f83b6a32e9153af1ad5 (diff)
added keystate
-rw-r--r--src/crepe/api/Script.cpp8
-rw-r--r--src/crepe/api/Script.h8
2 files changed, 16 insertions, 0 deletions
diff --git a/src/crepe/api/Script.cpp b/src/crepe/api/Script.cpp
index 638cca7..4cd59a5 100644
--- a/src/crepe/api/Script.cpp
+++ b/src/crepe/api/Script.cpp
@@ -30,3 +30,11 @@ const keyboard_state_t & Script::get_keyboard_state() const {
SDLContext & sdl_context = this->mediator->sdl_context;
return sdl_context.get_keyboard_state();
}
+bool Script::get_key_state(Keycode key) const{
+ try {
+ return this->get_keyboard_state().at(key);
+ } catch (...) {
+ return false;
+ }
+}
+
diff --git a/src/crepe/api/Script.h b/src/crepe/api/Script.h
index dcecc07..b5d3dd2 100644
--- a/src/crepe/api/Script.h
+++ b/src/crepe/api/Script.h
@@ -143,6 +143,14 @@ protected:
*
*/
const keyboard_state_t & get_keyboard_state() const;
+ /**
+ * \brief Utility function to retrieve a single key state.
+ * \see SDLContext::get_keyboard_state
+ *
+ * \return Keycode state (true if pressed, false if not pressed).
+ *
+ */
+ bool get_key_state(Keycode key) const;
//! \}
private: