Files
SDL-Playground/include/components/PlayerInput.h
2025-08-13 22:21:37 -06:00

31 lines
869 B
C++

#include "components/InputComponent.h"
#include "GameState.h"
#include <SDL3/SDL_keycode.h>
class PlayerInput : public InputComponent {
GameState update(SDL_Event const* event) {
if (SDL_EVENT_QUIT == event->type || SDLK_ESCAPE == event->key.key) {
return GameState::STOPPING;
}
// currently dont care about anything other than down
if (SDL_EVENT_KEY_DOWN != event->type) {
return GameState::RUNNING;
}
if (SDLK_W == event->key.key) {
moveUp = event->key.type == SDL_EVENT_KEY_DOWN;
}
if (SDLK_S == event->key.key) {
moveDown = event->key.type == SDL_EVENT_KEY_DOWN;
}
if (SDLK_A == event->key.key) {
moveLeft = event->key.type == SDL_EVENT_KEY_DOWN;
}
if (SDLK_D == event->key.key) {
moveRight = event->key.type == SDL_EVENT_KEY_DOWN;
}
return GameState::RUNNING;
}
};