DEADSOFTWARE

Add mobs damage and initial spawn
[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;
10 import ru.deadsoftware.cavedroid.misc.utils.AssetLoader;
12 import javax.inject.Inject;
13 import java.util.HashMap;
15 public class MenuMain extends Menu {
17 public MenuMain(float width,
18 float height,
19 ButtonRenderer buttonRenderer,
20 MainConfig mainConfig,
21 MenuProc.Input menuInput,
22 AssetLoader assetLoader) {
23 super(width, height, buttonRenderer, mainConfig, menuInput, assetLoader);
24 }
26 @Override
27 protected HashMap<String, ButtonEventListener> getButtonEventListeners() {
28 HashMap<String, ButtonEventListener> map = new HashMap<>();
29 map.put("new_game", mMenuInput::newGameClicked);
30 map.put("load_game", mMenuInput::loadGameClicked);
31 map.put("options", mMenuInput::optionsClicked);
32 map.put("quit", mMenuInput::quitClicked);
33 return map;
34 }
36 @Override
37 protected void initButtons() {
38 loadButtonsFromJson(mAssetLoader.getAssetHandle("json/menu_main_buttons.json"));
39 if (GameSaver.exists(mMainConfig)) {
40 getButtons().get("load_game").setType(Button.NORMAL);
41 }
42 }
44 public static class Factory {
46 private final MainConfig mMainConfig;
47 private final AssetLoader mAssetLoader;
49 @Inject
50 public Factory(MainConfig mainConfig, AssetLoader assetLoader) {
51 mMainConfig = mainConfig;
52 mAssetLoader = assetLoader;
53 }
55 public MenuMain get(float width, float height, ButtonRenderer buttonRenderer, MenuProc.Input menuInput) {
56 return new MenuMain(width, height, buttonRenderer, mMainConfig, menuInput, mAssetLoader);
57 }
59 }
61 }