DEADSOFTWARE

Remove unnecessary arguments
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / menu / MenuProc.java
1 package ru.deadsoftware.cavedroid.menu;
3 import com.badlogic.gdx.utils.ObjectMap;
4 import ru.deadsoftware.cavedroid.CaveGame;
5 import ru.deadsoftware.cavedroid.GameScreen;
6 import ru.deadsoftware.cavedroid.menu.objects.Button;
7 import ru.deadsoftware.cavedroid.menu.submenus.Menu;
8 import ru.deadsoftware.cavedroid.menu.submenus.MenuMain;
9 import ru.deadsoftware.cavedroid.menu.submenus.MenuNewGame;
10 import ru.deadsoftware.cavedroid.misc.Renderer;
11 import ru.deadsoftware.cavedroid.misc.states.AppState;
12 import ru.deadsoftware.cavedroid.misc.states.GameState;
13 import ru.deadsoftware.cavedroid.misc.states.MenuState;
15 import static ru.deadsoftware.cavedroid.misc.Assets.*;
17 public class MenuProc extends Renderer {
19 private MenuMain mainMenu;
20 private MenuNewGame newGameMenu;
22 private Menu currentMenu;
24 public MenuProc(int width) {
25 super(width, width * GameScreen.getHeight() / GameScreen.getWidth());
26 mainMenu = new MenuMain(getWidth(), getHeight(), this::drawButton);
27 newGameMenu = new MenuNewGame(getWidth(), getHeight(), this::drawButton);
28 currentMenu = mainMenu;
29 }
31 private void drawButton(Button button) {
32 spriter.draw(textureRegions.get("button_" + button.getType()), button.getX(), button.getY());
33 setFontColor(255, 255, 255);
34 drawString(button.getLabel(),
35 (button.getX() + button.getWidth() / 2) - (float) getStringWidth(button.getLabel()) / 2,
36 (button.getY() + button.getHeight() / 2) - (float) getStringHeight(button.getLabel()) / 2);
37 }
39 private void update() {
40 switch (CaveGame.MENU_STATE) {
41 case MAIN:
42 currentMenu = mainMenu;
43 break;
44 case NEW_GAME:
45 currentMenu = newGameMenu;
46 break;
47 case LOADING:
48 drawString("Generating World...");
49 CaveGame.APP_STATE = AppState.GAME;
50 CaveGame.GAME_STATE = GameState.PLAY;
51 break;
52 case SAVING:
53 drawString("Saving Game...");
54 CaveGame.APP_STATE = AppState.MENU;
55 CaveGame.MENU_STATE = MenuState.MAIN;
56 break;
57 }
58 }
60 @Override
61 public boolean touchUp(int screenX, int screenY, int pointer, int mb) {
62 screenX *= getWidth() / GameScreen.getWidth();
63 screenY *= getHeight() / GameScreen.getHeight();
64 for (ObjectMap.Entry<String, Button> entry : currentMenu.getButtons()) {
65 Button button = entry.value;
66 if (button.getRect().contains(screenX, screenY)) {
67 if (button.getType() > 0) {
68 button.clicked();
69 }
70 break;
71 }
72 }
73 return false;
74 }
76 @Override
77 public void render() {
78 update();
79 spriter.begin();
80 currentMenu.draw(spriter);
81 drawString("CaveDroid " + CaveGame.VERSION, 0,
82 getHeight() - getStringHeight("CaveDroid " + CaveGame.VERSION) * 1.5f);
83 spriter.end();
84 }
85 }