diff --git a/core/src/ru/deadsoftware/cavedroid/menu/MenuProc.java b/core/src/ru/deadsoftware/cavedroid/menu/MenuProc.java
index 0ab0bac0af1bfb6f7f778c3764816c026b9f1586..989a5d1d35bdf431aa0b7354d21711a91934da4a 100644 (file)
public MenuProc(int width) {
super(width, width * GameScreen.getHeight() / GameScreen.getWidth());
- mainMenu = new MenuMain(getWidth(), getHeight());
- newGameMenu = new MenuNewGame(getWidth(), getHeight());
+ mainMenu = new MenuMain(getWidth(), getHeight(), this::drawButton);
+ newGameMenu = new MenuNewGame(getWidth(), getHeight(), this::drawButton);
currentMenu = mainMenu;
}
(button.getY() + button.getHeight() / 2) - (float) getStringHeight(button.getLabel()) / 2);
}
+ private void update() {
+ switch (CaveGame.MENU_STATE) {
+ case MAIN:
+ currentMenu = mainMenu;
+ break;
+ case NEW_GAME:
+ currentMenu = newGameMenu;
+ break;
+ case LOADING:
+ drawString("Generating World...");
+ CaveGame.APP_STATE = AppState.GAME;
+ CaveGame.GAME_STATE = GameState.PLAY;
+ break;
+ case SAVING:
+ drawString("Saving Game...");
+ CaveGame.APP_STATE = AppState.MENU;
+ CaveGame.MENU_STATE = MenuState.MAIN;
+ break;
+ }
+ }
+
@Override
public boolean touchUp(int screenX, int screenY, int pointer, int mb) {
screenX *= getWidth() / GameScreen.getWidth();
@Override
public void render() {
+ update();
spriter.begin();
- switch (CaveGame.MENU_STATE) {
- case MAIN:
- currentMenu = mainMenu;
- break;
- case NEW_GAME:
- currentMenu = newGameMenu;
- break;
- case LOADING:
- drawString("Generating World...");
- CaveGame.APP_STATE = AppState.GAME;
- CaveGame.GAME_STATE = GameState.PLAY;
- break;
- case SAVING:
- drawString("Saving Game...");
- CaveGame.APP_STATE = AppState.MENU;
- CaveGame.MENU_STATE = MenuState.MAIN;
- break;
- }
- currentMenu.draw(spriter, this::drawButton, getWidth(), getHeight());
+ currentMenu.draw(spriter);
drawString("CaveDroid " + CaveGame.VERSION, 0,
getHeight() - getStringHeight("CaveDroid " + CaveGame.VERSION) * 1.5f);
spriter.end();