DEADSOFTWARE

Implement DI for menu and refactor #13
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / menu / submenus / MenuMain.java
1 package ru.deadsoftware.cavedroid.menu.submenus;
3 import com.badlogic.gdx.Gdx;
4 import ru.deadsoftware.cavedroid.MainConfig;
5 import ru.deadsoftware.cavedroid.game.GameSaver;
6 import ru.deadsoftware.cavedroid.menu.MenuProc;
7 import ru.deadsoftware.cavedroid.menu.objects.Button;
8 import ru.deadsoftware.cavedroid.menu.objects.ButtonEventListener;
9 import ru.deadsoftware.cavedroid.menu.objects.ButtonRenderer;
11 import java.util.HashMap;
13 public class MenuMain extends Menu {
15 public MenuMain(float width, float height, ButtonRenderer buttonRenderer, MainConfig mainConfig, MenuProc.Input menuInput) {
16 super(width, height, buttonRenderer, mainConfig, menuInput);
17 }
19 @Override
20 protected HashMap<String, ButtonEventListener> getButtonEventListeners() {
21 HashMap<String, ButtonEventListener> map = new HashMap<>();
22 map.put("new_game", mMenuInput::newGameClicked);
23 map.put("load_game", mMenuInput::loadGameClicked);
24 map.put("quit", mMenuInput::quitClicked);
25 return map;
26 }
28 @Override
29 protected void initButtons() {
30 loadButtonsFromJson(Gdx.files.internal("json/menu_main_buttons.json"));
31 if (GameSaver.exists(mMainConfig)) {
32 getButtons().get("load_game").setType(Button.NORMAL);
33 }
34 }
35 }