#pragma once #include "interfaces/cursor.hpp" #include "interfaces/game.hpp" #include "interfaces/scene.hpp" #include "interfaces/window.hpp" #include class Game : public IGame { public: Game(const std::shared_ptr &window, const std::shared_ptr &scene, const std::shared_ptr &cursor_controller) noexcept; void on_start() noexcept override; void on_exit() const noexcept override; [[nodiscard]] std::unordered_map> get_input_config() const noexcept override; private: const std::shared_ptr &_window; const std::shared_ptr &_scene; const std::shared_ptr &_cursor_controller; };