package uk.co.flyingsquirrels.gamestates; import org.newdawn.slick.Font; import org.newdawn.slick.GameContainer; import org.newdawn.slick.Graphics; import org.newdawn.slick.Input; import org.newdawn.slick.SlickException; import org.newdawn.slick.state.StateBasedGame; import uk.co.flyingsquirrels.menuoptions.EnterStateMenuOption; import uk.co.flyingsquirrels.menuoptions.MenuOption; import uk.co.flyingsquirrels.menuoptions.QuitToDesktopOption; import uk.co.flyingsquirrels.utils.FontFactory; public class MainMenuGameState extends MenuGameState { public static final int ID = 1; private final MenuOption quitOption = new QuitToDesktopOption(); private final Font titleFont; private final Font subtitleFont; public MainMenuGameState() { super(ID); titleFont = FontFactory.loadFont("hiero"); subtitleFont = FontFactory.loadFont("demo"); } public void initInternal(GameContainer container, StateBasedGame game) throws SlickException { addMenuOption(new EnterStateMenuOption(game, "Start New Game", ChooseVehicleGameState.ID)); addMenuOption(quitOption); } public boolean renderInternal(GameContainer container, StateBasedGame game, Graphics g) throws SlickException { drawCentredString(container, titleFont, "Ad Astra", 50); drawCentredString(container, subtitleFont, "By David Dunwoody", 120); return false; } @Override protected boolean keyReleasedInternal(int key, char c) { if (key == Input.KEY_ESCAPE) { quitOption.select(); } return false; } }