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