diff options
Diffstat (limited to 'src/keyboard_movement_controller.hpp')
-rw-r--r-- | src/keyboard_movement_controller.hpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/keyboard_movement_controller.hpp b/src/keyboard_movement_controller.hpp new file mode 100644 index 0000000..b90d361 --- /dev/null +++ b/src/keyboard_movement_controller.hpp @@ -0,0 +1,31 @@ +#pragma once + +#include "xe_game_object.hpp" +#include "xe_window.hpp" +#include <GLFW/glfw3.h> + +namespace xe { + class KeyboardMovementController { + + public: + struct KeyMappings { + int moveLeft = GLFW_KEY_A; + int moveRight = GLFW_KEY_D; + int moveForward = GLFW_KEY_W; + int moveBackward = GLFW_KEY_S; + int moveUp = GLFW_KEY_E; + int moveDown = GLFW_KEY_Q; + int lookLeft = GLFW_KEY_LEFT; + int lookRight = GLFW_KEY_RIGHT; + int lookUp = GLFW_KEY_UP; + int lookDown = GLFW_KEY_DOWN; + }; + + void moveInPlaneXZ(GLFWwindow* window, float dt, XeGameObject& gameObject); + + KeyMappings keys{}; + float moveSpeed{3.f}; + float lookSpeed{1.5f}; + + }; +}
\ No newline at end of file |