package stray; import stray.conversation.Conversations; import stray.transition.FadeIn; import stray.transition.FadeOut; import stray.transition.GearTransition; import stray.ui.BackButton; import stray.ui.Button; import stray.ui.SettingsButton; import stray.util.version.VersionGetter; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.GL20; public strictfp class MainMenuScreen extends Updateable { public MainMenuScreen(Main m) { super(m); container.elements.add(new Button((Settings.DEFAULT_WIDTH / 2) - 80, 64, 160, 32, "menu.new") { @Override public boolean onLeftClick() { Main.CUTSCENE.prepare(Conversations.instance().convs.get("dev"), new FadeIn(), new FadeOut(), Main.NEWGAME); main.transition(new FadeIn(Color.BLACK, 0.5f), null, Main.CUTSCENE); Runtime.getRuntime().gc(); return true; } }); container.elements.add(new Button((Settings.DEFAULT_WIDTH / 2) - 80, 128, 160, 32, "menu.continue") { @Override public boolean onLeftClick() { if (hasSave) { while (Main.LEVELSELECT.moveNext()) ; //main.transition(new FadeIn(Color.BLACK, 0.5f), new FadeOut(Color.BLACK, 0.5f), Main.LEVELSELECT); main.transition(new GearTransition(1), null, Main.LEVELSELECT); Runtime.getRuntime().gc(); } return true; } @Override public boolean visible() { return hasSave; } }); container.elements.add(new SettingsButton(5, 5)); container.elements.add(new BackButton(Settings.DEFAULT_WIDTH - 37, Gdx.graphics .getHeight() - 37) { @Override public boolean onLeftClick() { Gdx.app.exit(); System.exit(0); return true; } }.useExitTexture()); } boolean hasSave = false; @Override public void render(float delta) { Gdx.gl20.glClearColor(0, 0, 0, 1); Gdx.gl20.glClear(GL20.GL_COLOR_BUFFER_BIT); main.batch.begin(); main.font.setColor(Color.WHITE); main.font.setScale(2.5f); main.drawCentered(Translator.getMsg("gamename").toUpperCase(), Settings.DEFAULT_WIDTH / 2, Main.convertY(200)); main.font.setScale(1); main.drawInverse(Main.version, Settings.DEFAULT_WIDTH - 5, 20); if (Main.serverVersion == null) { main.drawInverse(Translator.getMsg("menu.checkingversion"), Settings.DEFAULT_WIDTH - 5, 35); } else { if(Main.serverVersion.equals(Main.version)){ main.font.setColor(0, 1, 0, 1); main.drawInverse(Translator.getMsg("menu.uptodate"), Settings.DEFAULT_WIDTH - 5, 35); main.font.setColor(1, 1, 1, 1); }else{ main.font.setColor(1, 0, 0, 1); main.drawInverse(Translator.getMsg("menu.newversion") + Main.serverVersion, Settings.DEFAULT_WIDTH - 5, 35); main.font.setColor(1, 1, 1, 1); } } container.render(main); main.font.setColor(Color.WHITE); main.batch.setColor(1, 1, 1, 1); main.batch.end(); } @Override public void tickUpdate() { } @Override public void resize(int width, int height) { } @Override public void show() { hasSave = main.getPref("settings").getBoolean("saveExists", false); } @Override public void hide() { } @Override public void pause() { } @Override public void resume() { } @Override public void dispose() { } @Override public void renderDebug(int starting) { } @Override public void renderUpdate() { } }