GameStateManager.java 728 B

12345678910111213141516171819202122232425262728293031323334
  1. package control;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import model.gameState.GameState;
  5. import model.gameState.MenuState;
  6. import model.gameState.TitleState;
  7. import model.gameState.PlayState;
  8. public class GameStateManager {
  9. private List<GameState> gamestates;
  10. public GameState currentState;
  11. private int index = 0;
  12. public GameStateManager(){
  13. gamestates = new ArrayList<GameState>();
  14. gamestates.add(new TitleState(this));
  15. gamestates.add(new MenuState(this));
  16. gamestates.add(new PlayState(this));
  17. currentState = gamestates.get(0);
  18. }
  19. public void next() {
  20. index++;
  21. index %= gamestates.size();
  22. currentState = gamestates.get(index);
  23. }
  24. public void update(){
  25. currentState.update();
  26. }
  27. }