State.hpp 506 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include <SFML/Window.hpp>
  3. class State {
  4. public:
  5. virtual ~State() {}
  6. virtual void onEvent(sf::Event event) {};
  7. virtual void onUpdate(float dt) {};
  8. virtual void onRender() {};
  9. virtual State* next() const = 0;
  10. bool isReady() const {
  11. return m_ready;
  12. }
  13. bool isFin() const {
  14. return m_fin;
  15. }
  16. bool isDead() const {
  17. return m_dead;
  18. }
  19. protected:
  20. void stateReady();
  21. void stateFin();
  22. void stateDie();
  23. private:
  24. bool m_ready{ false };
  25. bool m_fin{ false };
  26. bool m_dead{ false };
  27. };