StateHandler.cpp 696 B

123456789101112131415161718192021222324252627282930313233
  1. #include "StateHandler.h"
  2. StateHandler::StateHandler()
  3. {
  4. StateList.push_back(new InitState()); //INIT_STATE
  5. StateList.push_back(new LoadingState()); //LOADING_STATE
  6. StateList.push_back(new MenuState()); //MENU_STATE
  7. StateList.push_back(new SettingsState()); //SETTINGS_STATE
  8. StateList.push_back(new WorldState()); //WORLD_STATE
  9. //CurrentState = INIT_STATE;
  10. CurrentState = WORLD_STATE;
  11. }
  12. StateHandler::~StateHandler()
  13. {
  14. }
  15. void StateHandler::Navigate(EState state)
  16. {
  17. if (CurrentState == state)
  18. return;
  19. StateList.at(CurrentState)->Exit();
  20. CurrentState = state;
  21. StateList.at(CurrentState)->Entry();
  22. }
  23. State* StateHandler::GetCurrentState()
  24. {
  25. return StateList.at(CurrentState);
  26. }