1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#pragma once #include "interfaces/input.hpp" #include "interfaces/scene.hpp" #include <memory> class IGame { public: virtual ~IGame() = default; virtual void run(IScene &scene, IInputHandler &input_handler) = 0; }; using IGameFactory = std::shared_ptr<IGame> (*)();