#pragma once #include #include #include #include class GUIState : public sf::Drawable { public: virtual ~GUIState() = default; virtual void input(const sf::Event& event) = 0; virtual void update() = 0; virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const = 0; };