package uk.co.flyingsquirrels.menuoptions; import org.newdawn.slick.Color; import org.newdawn.slick.state.StateBasedGame; import org.newdawn.slick.state.transition.FadeInTransition; import org.newdawn.slick.state.transition.FadeOutTransition; public class EnterStateMenuOption implements MenuOption { private final String text; private final int stateId; private final StateBasedGame game; private final FadeOutTransition leavingTransition; private final FadeInTransition enteringTransition; public EnterStateMenuOption(StateBasedGame game, String text, int stateId) { this(game, text, stateId, true); } public EnterStateMenuOption(StateBasedGame game, String text, int stateId, boolean transition) { this.game = game; this.text = text; this.stateId = stateId; if (transition) { leavingTransition = new FadeOutTransition( Color.black); enteringTransition = new FadeInTransition( Color.black); } else { leavingTransition = null; enteringTransition = null; } } public String getText() { return text; } public void select() { game.enterState(stateId, leavingTransition, enteringTransition); } }