diff options
author | Andy Belle-Isle <abelleisle@protonmail.com> | 2022-11-13 13:55:26 -0600 |
---|---|---|
committer | Andy Belle-Isle <abelleisle@protonmail.com> | 2022-11-13 13:55:26 -0600 |
commit | 38e2036d031bdeaea76ef4b6c3c2af5247ed93ec (patch) | |
tree | b1401ba2ef33d08dbc528aadbf61f0d4aedad63d /src/input.hpp | |
parent | 57a1eb6fdccb9023557d0a470796f423f063948a (diff) | |
parent | 57013add5b7c524086272be7d395f9ec5109bde2 (diff) |
Merge remote-tracking branch 'origin/lib-cleanup' into world
Diffstat (limited to 'src/input.hpp')
-rw-r--r-- | src/input.hpp | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/src/input.hpp b/src/input.hpp index fa92c39..6180388 100644 --- a/src/input.hpp +++ b/src/input.hpp @@ -1,5 +1,5 @@ /** - * @file window.hpp + * @file input.hpp * Handles user input received from SDL. * * Copyright (C) 2019 Clyne Sullivan @@ -56,34 +56,23 @@ struct KeyDownEvent { class InputSystem : public entityx::System<InputSystem> { public: + InputSystem(); + /** * Prepares the system for running. */ - void configure([[maybe_unused]] entityx::EntityManager& entities, - [[maybe_unused]] entityx::EventManager& events) final {} + void configure(entityx::EntityManager& entities, + entityx::EventManager& events) final; /** * Updates the system by checking for SDL events. */ - void update([[maybe_unused]] entityx::EntityManager& entities, - [[maybe_unused]] entityx::EventManager& events, - [[maybe_unused]] entityx::TimeDelta dt) final - { - for (SDL_Event event; SDL_PollEvent(&event);) { - switch (event.type) { - case SDL_KEYUP: - if (auto key = event.key; key.repeat == 0) - events.emit<KeyUpEvent>(key.keysym); - break; - case SDL_KEYDOWN: - if (auto key = event.key; key.repeat == 0) - events.emit<KeyDownEvent>(key.keysym); - break; - default: - break; - } - } - } + void update(entityx::EntityManager& entities, + entityx::EventManager& events, + entityx::TimeDelta dt) final; + +private: + bool isMouseDown; }; #endif // SYSTEM_INPUT_HPP_ |