#pragma once #include "DI/auto_wirable.hpp" #include "interfaces/game.hpp" #include "interfaces/game_initializer.hpp" #include "interfaces/input.hpp" #include "interfaces/scene.hpp" #include class GameInitializer : public IGameInitializer, public AutoWirable { public: GameInitializer(std::shared_ptr scene, std::shared_ptr input_handler, IGameFactory game_factory); void initialize() override; private: std::shared_ptr _scene; std::shared_ptr _input_handler; IGameFactory _game_factory; };