summaryrefslogtreecommitdiff
path: root/dungeon/src/player_input.rs
diff options
context:
space:
mode:
Diffstat (limited to 'dungeon/src/player_input.rs')
-rw-r--r--dungeon/src/player_input.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/dungeon/src/player_input.rs b/dungeon/src/player_input.rs
new file mode 100644
index 0000000..643b014
--- /dev/null
+++ b/dungeon/src/player_input.rs
@@ -0,0 +1,16 @@
+use crate::pos::*;
+
+/// Carries information on the player's inputs.
+/// Allows the game to retrieve player input commands,
+/// without tightly binding to a specific GUI or keybinds.
+/// This way, game logic can focus on "what the inputs do"
+/// as opposed to "what do the key presses mean".
+#[derive(Copy, Clone, Default, Debug)]
+pub struct PlayerInput {
+ /// The direction that the player wants to move in.
+ /// The creator is responsible for resolving to just one direction
+ /// (eg if the player is holding multiple keys at once,
+ /// or a joystick)
+ pub direction: Option<Direction>,
+ // other player actions are to be added later
+}