aboutsummaryrefslogtreecommitdiff
path: root/src/game/game.cpp
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2022-03-05 13:26:55 +0100
committerHampusM <hampus@hampusmat.com>2022-06-13 17:56:54 +0200
commit6119f1428b3615e4738a121c6acf343942107fd9 (patch)
tree47eb5537674fe58ae8ad388521203b92bfb43529 /src/game/game.cpp
parentd27f1a89266e141a944f88e9080bdeca95c49da3 (diff)
refactor: move input config to own file & improve cleanup
Diffstat (limited to 'src/game/game.cpp')
-rw-r--r--src/game/game.cpp41
1 files changed, 4 insertions, 37 deletions
diff --git a/src/game/game.cpp b/src/game/game.cpp
index 559f9a0..0773f2c 100644
--- a/src/game/game.cpp
+++ b/src/game/game.cpp
@@ -2,46 +2,13 @@
#include <utility>
-Game::Game(std::shared_ptr<CursorController> cursor_controller)
- : _cursor_controller(std::move(cursor_controller))
+Game::Game(std::shared_ptr<IInputConfigurator> input_configurator)
+ : _input_configurator(std::move(input_configurator))
{
}
-void Game::run(IScene &scene, IInputHandler &input_handler)
+void Game::run(IScene & /*scene*/, IInputHandler &input_handler)
{
- input_handler.attach('q',
- [&input_handler, &scene]()
- {
- input_handler.leave_raw_mode();
- scene.leave();
- exit(EXIT_SUCCESS);
- });
-
- auto cursor_controller = _cursor_controller;
-
- input_handler.attach('k',
- [&cursor_controller]()
- {
- cursor_controller->move<Direction::UP>(1U);
- });
-
- input_handler.attach('j',
- [&cursor_controller]()
- {
- cursor_controller->move<Direction::DOWN>(1U);
- });
-
- input_handler.attach('h',
- [&cursor_controller]()
- {
- cursor_controller->move<Direction::LEFT>(1U);
- });
-
- input_handler.attach('l',
- [&cursor_controller]()
- {
- cursor_controller->move<Direction::RIGHT>(1U);
- });
-
+ _input_configurator->configure(input_handler);
input_handler.listen();
}