DEADSOFTWARE

Update version script
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / menu / MenuProc.java
diff --git a/core/src/ru/deadsoftware/cavedroid/menu/MenuProc.java b/core/src/ru/deadsoftware/cavedroid/menu/MenuProc.java
deleted file mode 100644 (file)
index 5314809..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-package ru.deadsoftware.cavedroid.menu;
-
-import com.badlogic.gdx.Gdx;
-import com.badlogic.gdx.utils.ObjectMap;
-import ru.deadsoftware.cavedroid.CaveGame;
-import ru.deadsoftware.cavedroid.MainConfig;
-import ru.deadsoftware.cavedroid.menu.objects.Button;
-import ru.deadsoftware.cavedroid.menu.submenus.*;
-import ru.deadsoftware.cavedroid.misc.Renderer;
-
-import javax.inject.Inject;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import static ru.deadsoftware.cavedroid.misc.Assets.*;
-
-@MenuScope
-public class MenuProc extends Renderer {
-
-    public class Input {
-        private void startNewGame(int gameMode) {
-            mMainConfig.getCaveGame().newGame(gameMode);
-        }
-
-        public void newGameClicked() {
-            mCurrentMenu = mMenuNewGame;
-        }
-
-        public void loadGameClicked() {
-            mMainConfig.getCaveGame().loadGame();
-        }
-
-        public void optionsClicked() {
-            mCurrentMenu = mMenuOptions;
-        }
-
-        public void quitClicked() {
-            Gdx.app.exit();
-        }
-
-        public void survivalClicked() {
-            startNewGame(0);
-        }
-
-        public void creativeClicked() {
-            startNewGame(1);
-        }
-
-        public void backClicked() {
-            mCurrentMenu = mMenuMain;
-        }
-
-        public void toggleDynamicCamera() {
-            mMainConfig.setUseDynamicCamera(!mMainConfig.isUseDynamicCamera());
-        }
-    }
-
-    private final MainConfig mMainConfig;
-
-    private final MenuMain mMenuMain;
-    private final MenuNewGame mMenuNewGame;
-    private final MenuOptions mMenuOptions;
-
-    private Menu mCurrentMenu;
-
-    @Inject
-    public MenuProc(
-            MainConfig mainConfig,
-            MenusFactory menusFactory
-    ) {
-        super(mainConfig.getWidth(), mainConfig.getHeight());
-
-        mMainConfig = mainConfig;
-
-        Input menuInput = new Input();
-
-        mMenuMain = menusFactory.getMainMenu(getWidth(), getHeight(), this::drawButton, menuInput);
-        mMenuNewGame = menusFactory.getMenuNewGame(getWidth(), getHeight(), this::drawButton, menuInput);
-        mMenuOptions = menusFactory.getMenuOptions(getWidth(), getHeight(), this::drawButton, menuInput);
-
-        mCurrentMenu = mMenuMain;
-    }
-
-    private String processVariables(String raw) {
-        final Pattern pattern = Pattern.compile("%%([A-Za-z]+)%%", Pattern.CASE_INSENSITIVE);
-        final Matcher matcher = pattern.matcher(raw);
-        while (matcher.find()) {
-            for (int i = 0; i < matcher.groupCount(); i++) {
-                try {
-                    final String group = matcher.group(i);
-                    final String name = group.replaceAll("%%", "");
-                    final Method method = mMainConfig.getClass().getMethod(name);
-                    final String value = method.invoke(mMainConfig).toString();
-                    raw = raw.replace(group, value);
-                } catch (Exception e) {
-                    throw new RuntimeException(e);
-                }
-            }
-        }
-
-        return raw;
-    }
-
-    private void drawButton(Button button) {
-        spriter.draw(textureRegions.get("button_" + button.getType()), button.getX(), button.getY());
-        setFontColor(255, 255, 255);
-
-        String label = processVariables(button.getLabel());
-
-        drawString(label,
-                (button.getX() + button.getWidth() / 2) - (float) getStringWidth(label) / 2,
-                (button.getY() + button.getHeight() / 2) - (float) getStringHeight(label) / 2);
-    }
-
-    @Override
-    public boolean touchUp(int screenX, int screenY, int pointer, int mb) {
-        screenX *= getWidth() / Gdx.graphics.getWidth();
-        screenY *= getHeight() / Gdx.graphics.getHeight();
-        for (ObjectMap.Entry<String, Button> entry : mCurrentMenu.getButtons()) {
-            Button button = entry.value;
-            if (button.getRect().contains(screenX, screenY)) {
-                if (button.getType() > 0) {
-                    button.clicked();
-                }
-                break;
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public void render(float delta) {
-        spriter.begin();
-        mCurrentMenu.draw(spriter);
-        drawString("CaveDroid " + CaveGame.VERSION, 0,
-                getHeight() - getStringHeight("CaveDroid " + CaveGame.VERSION) * 1.5f);
-        spriter.end();
-    }
-
-    public void reset() {
-        mCurrentMenu = mMenuMain;
-    }
-}