#pragma once #include "interfaces/cursor.hpp" #include "interfaces/matrix.hpp" #include "interfaces/window.hpp" #include #include class IScene { public: virtual ~IScene() = default; virtual void enter() = 0; virtual void leave() = 0; }; using ISceneFactory = std::shared_ptr (*)();