diff options
Diffstat (limited to 'src/game/game.hpp')
-rw-r--r-- | src/game/game.hpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/game/game.hpp b/src/game/game.hpp index 2493a42..5894a01 100644 --- a/src/game/game.hpp +++ b/src/game/game.hpp @@ -2,7 +2,10 @@ #include "interfaces/cursor.hpp" #include "interfaces/game.hpp" +#include "interfaces/generation_tracker.hpp" #include "interfaces/scene.hpp" +#include "interfaces/status_updater.hpp" +#include "interfaces/statusline.hpp" #include "interfaces/window.hpp" #include <memory> @@ -10,18 +13,26 @@ class Game : public IGame { public: - Game(const std::shared_ptr<IWindow> &window, const std::shared_ptr<IScene> &scene, - const std::shared_ptr<ICursorController> &cursor_controller) noexcept; + Game(std::shared_ptr<IWindow> window, std::shared_ptr<IScene> scene, + std::shared_ptr<ICursorController> cursor_controller, + std::shared_ptr<IStatusLine> statusline, + std::shared_ptr<IGenerationTracker> generation_tracker, + std::shared_ptr<IStatusUpdater> status_updater) noexcept; void on_start() noexcept override; + void on_update() noexcept override; + void on_exit() const noexcept override; [[nodiscard]] std::unordered_map<char, std::shared_ptr<ICommand>> get_input_config() const noexcept override; private: - const std::shared_ptr<IWindow> &_window; - const std::shared_ptr<IScene> &_scene; - const std::shared_ptr<ICursorController> &_cursor_controller; + std::shared_ptr<IWindow> _window; + std::shared_ptr<IScene> _scene; + std::shared_ptr<ICursorController> _cursor_controller; + std::shared_ptr<IStatusLine> _statusline; + std::shared_ptr<IGenerationTracker> _generation_tracker; + std::shared_ptr<IStatusUpdater> _status_updater; }; |