StateHandler.cpp 665 B

1234567891011121314151617181920212223242526272829303132
  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. }
  11. StateHandler::~StateHandler()
  12. {
  13. }
  14. void StateHandler::Navigate(EState state)
  15. {
  16. if (CurrentState == state)
  17. return;
  18. StateList.at(CurrentState)->Exit();
  19. CurrentState = state;
  20. StateList.at(CurrentState)->Entry();
  21. }
  22. State* StateHandler::GetCurrentState()
  23. {
  24. return StateList.at(CurrentState);
  25. }