blob: ddaad9fcc7f14a339e070892e4c788e332fa4173 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
use crate::pos::Direction;
/// 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>,
/// If the player is currently attempting to interact
/// with some object, entity, etc.
pub interact: bool,
// other player actions are to be added later
}
|