DEADSOFTWARE

One GameProc object for everything
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / menu / MenuRenderer.java
index 8aaab64c9d97c8a32c2fcf487890495d03b3b0ff..bdaf2b1a1f842eda665444000e363528c77a2b54 100644 (file)
@@ -53,15 +53,16 @@ public class MenuRenderer extends Renderer {
         spriter.draw(Assets.menuBtn[button.getType()], button.getX(), button.getY());
         setFontColor(255, 255, 255);
         drawString(button.getLabel(),
-                (button.getX() + button.getWidth() / 2) - Assets.getStringWidth(button.getLabel()) / 2,
-                (button.getY() + button.getHeight() / 2) - Assets.getStringHeight(button.getLabel()) / 2);
+                (button.getX() + button.getWidth() / 2) - (float) Assets.getStringWidth(button.getLabel()) / 2,
+                (button.getY() + button.getHeight() / 2) - (float) Assets.getStringHeight(button.getLabel()) / 2);
     }
 
-    private void drawMenuMain() {
-        for (Button button : menuMainBtns) {
+    private void drawButtons(Array<Button> buttons) {
+        for (Button button : buttons) {
             if (button.getType() > 0) {
                 if (button.getRect().contains(Gdx.input.getX() * getWidth() / GameScreen.getWidth(),
-                        Gdx.input.getY() * getHeight() / GameScreen.getHeight()))
+                        Gdx.input.getY() * getHeight() / GameScreen.getHeight()) &&
+                        (!CaveGame.TOUCH || Gdx.input.isTouched()))
                     button.setType(2);
                 else button.setType(1);
             }
@@ -69,38 +70,27 @@ public class MenuRenderer extends Renderer {
         }
     }
 
-    private void drawMenuNewGame() {
-        for (Button button : menuNGBtns) {
-            if (button.getType() > 0) {
-                if (button.getRect().contains(Gdx.input.getX() * getWidth() / GameScreen.getWidth(),
-                        Gdx.input.getY() * getHeight() / GameScreen.getHeight()))
-                    button.setType(2);
-                else button.setType(1);
-            }
-            drawButton(button);
-        }
-    }
-
-    public void drawLabel(String str) {
+    private void drawLabel(String str) {
         drawString(str);
     }
 
     @Override
     public void render() {
         spriter.begin();
-        for (int x = 0; x <= getWidth() / 16; x++)
+        for (int x = 0; x <= getWidth() / 16; x++) {
             for (int y = 0; y <= getHeight() / 16; y++) {
                 spriter.draw(Assets.blockTex[GameItems.getBlock(3).getTex()], x * 16, y * 16);
                 spriter.draw(Assets.shade, x * 16, y * 16);
             }
+        }
         spriter.draw(Assets.gameLogo, getWidth() / 2 - Assets.gameLogo.getWidth() / 2, 0);
 
         switch (CaveGame.STATE) {
             case MENU_MAIN:
-                drawMenuMain();
+                drawButtons(menuMainBtns);
                 break;
             case MENU_NEW_GAME:
-                drawMenuNewGame();
+                drawButtons(menuNGBtns);
                 break;
             case GOTO_NEW_GAME:
             case GOTO_LOAD_GAME: