diff --git a/core/src/ru/deadsoftware/cavedroid/menu/submenus/MenuMain.java b/core/src/ru/deadsoftware/cavedroid/menu/submenus/MenuMain.java
index d2dedd23c351f3fc8e91626375e55a0f3b3fd90d..6a40fc534b1a5d04e5fb5d6d80c4ae94b8487777 100644 (file)
import ru.deadsoftware.cavedroid.menu.objects.Button;
import ru.deadsoftware.cavedroid.menu.objects.ButtonEventListener;
import ru.deadsoftware.cavedroid.menu.objects.ButtonRenderer;
+import ru.deadsoftware.cavedroid.misc.utils.AssetLoader;
+import javax.inject.Inject;
import java.util.HashMap;
public class MenuMain extends Menu {
- public MenuMain(float width, float height, ButtonRenderer buttonRenderer, MainConfig mainConfig, MenuProc.Input menuInput) {
- super(width, height, buttonRenderer, mainConfig, menuInput);
+ public MenuMain(float width,
+ float height,
+ ButtonRenderer buttonRenderer,
+ MainConfig mainConfig,
+ MenuProc.Input menuInput,
+ AssetLoader assetLoader) {
+ super(width, height, buttonRenderer, mainConfig, menuInput, assetLoader);
}
@Override
HashMap<String, ButtonEventListener> map = new HashMap<>();
map.put("new_game", mMenuInput::newGameClicked);
map.put("load_game", mMenuInput::loadGameClicked);
+ map.put("options", mMenuInput::optionsClicked);
map.put("quit", mMenuInput::quitClicked);
return map;
}
@Override
protected void initButtons() {
- loadButtonsFromJson(Gdx.files.internal("json/menu_main_buttons.json"));
+ loadButtonsFromJson(mAssetLoader.getAssetHandle("json/menu_main_buttons.json"));
if (GameSaver.exists(mMainConfig)) {
getButtons().get("load_game").setType(Button.NORMAL);
}
}
+
+ public static class Factory {
+
+ private final MainConfig mMainConfig;
+ private final AssetLoader mAssetLoader;
+
+ @Inject
+ public Factory(MainConfig mainConfig, AssetLoader assetLoader) {
+ mMainConfig = mainConfig;
+ mAssetLoader = assetLoader;
+ }
+
+ public MenuMain get(float width, float height, ButtonRenderer buttonRenderer, MenuProc.Input menuInput) {
+ return new MenuMain(width, height, buttonRenderer, mMainConfig, menuInput, mAssetLoader);
+ }
+
+ }
+
}