X-Git-Url: http://deadsoftware.ru/gitweb?p=cavedroid.git;a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fmenu%2FMenuProc.java;h=989a5d1d35bdf431aa0b7354d21711a91934da4a;hp=0ab0bac0af1bfb6f7f778c3764816c026b9f1586;hb=7c525620f826997870a05e6c1607bc36c19f3da9;hpb=3f01302aa24daa8b7af3c3a8e5fc127b78530a4f diff --git a/core/src/ru/deadsoftware/cavedroid/menu/MenuProc.java b/core/src/ru/deadsoftware/cavedroid/menu/MenuProc.java index 0ab0bac..989a5d1 100644 --- a/core/src/ru/deadsoftware/cavedroid/menu/MenuProc.java +++ b/core/src/ru/deadsoftware/cavedroid/menu/MenuProc.java @@ -23,8 +23,8 @@ public class MenuProc extends Renderer { 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; } @@ -36,6 +36,27 @@ public class MenuProc extends Renderer { (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(); @@ -54,26 +75,9 @@ public class MenuProc extends Renderer { @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();