This repository has been archived on 2022-10-01. You can view files and clone it, but cannot push or open issues or pull requests.
EEEEEEEEEEEEEEEAAAAAAAAAA-A.../core/src/com/game/States/StateManager.java

64 lines
1.2 KiB
Java

package com.game.States;
import com.game.Game;
import java.util.HashMap;
import java.util.Stack;
/**
* Created by Ash on 08/02/2016.
*/
public class StateManager {
private Game game;
//private Stack<State> states;
private HashMap<States, State> states = new HashMap<States, State>();
private States currentState;
public enum States
{
MENU,
PAUSE,
PLAY,
}
public StateManager(Game game)
{
this.game = game;
states.put(States.MENU, new Menu(this));
states.put(States.PLAY, new Play(this));
setState(States.PLAY); // TODO, set to MENU
}
public void update(float dt)
{
states.get(currentState).update(dt);
}
public void render()
{
states.get(currentState).render();
}
public void handleInput()
{
states.get(currentState).handleInput();
}
public void dispose()
{
states.get(currentState).dispose();
}
// Accessors
public Game game() { return game; }
// Mutators
public void setState(States state)
{
currentState = state;
System.out.println("Setting state: " + currentState.name());
states.get(currentState).init();
}
}