You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
540 B
C
33 lines
540 B
C
3 years ago
|
#pragma once
|
||
|
|
||
|
#include <stack>
|
||
|
#include <memory>
|
||
3 years ago
|
#include <functional>
|
||
3 years ago
|
#include <SFML/Window/Event.hpp>
|
||
|
|
||
3 years ago
|
class GUIState
|
||
3 years ago
|
{
|
||
3 years ago
|
public:
|
||
3 years ago
|
|
||
|
enum Tag {
|
||
|
SPLASH_SCREEN,
|
||
|
MAIN_MENU,
|
||
|
GAME_PICKER,
|
||
|
GAME,
|
||
|
EDITOR_PICKER,
|
||
|
EDITOR,
|
||
|
SETTINGS,
|
||
|
|
||
|
AMOUNT
|
||
|
};
|
||
|
|
||
3 years ago
|
virtual ~GUIState() = default;
|
||
|
|
||
3 years ago
|
virtual void input(const sf::Event& event) = 0;
|
||
3 years ago
|
virtual void update(const sf::Time& dt) = 0;
|
||
3 years ago
|
virtual void draw() const = 0;
|
||
|
|
||
|
virtual void enter() = 0;
|
||
|
virtual void leave() = 0;
|
||
3 years ago
|
};
|