#pragma once #include "DI/auto_wirable.hpp" #include "interfaces/game.hpp" #include "interfaces/input.hpp" #include "interfaces/scene.hpp" #include "engine/user/cursor.hpp" #include class Game : public IGame, public AutoWirable { public: explicit Game(std::shared_ptr scene, std::shared_ptr input_handler, std::shared_ptr cursor_controller); void run() override; private: std::shared_ptr _scene; std::shared_ptr _input_handler; std::shared_ptr _cursor_controller; };