diff options
Diffstat (limited to 'src/interfaces/scene.hpp')
-rw-r--r-- | src/interfaces/scene.hpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/interfaces/scene.hpp b/src/interfaces/scene.hpp index ca494cb..47df5fa 100644 --- a/src/interfaces/scene.hpp +++ b/src/interfaces/scene.hpp @@ -5,16 +5,19 @@ #include "interfaces/window.hpp" #include <memory> -#include <string_view> class IScene { public: - virtual ~IScene() = default; + virtual ~IScene() noexcept = default; - virtual void enter() = 0; + virtual void enter() noexcept = 0; - virtual void leave() = 0; + virtual void leave() noexcept = 0; + + virtual void write_status(const std::string_view &str) noexcept = 0; }; -using ISceneFactory = std::shared_ptr<IScene> (*)(); +using ISceneFactory = std::shared_ptr<IScene> (*)( + const std::shared_ptr<ICursorController> &cursor_controller, + const std::shared_ptr<IWindow> &window); |