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;
}
}