X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fmenu%2Fsubmenus%2FMenuMain.java;h=6a40fc534b1a5d04e5fb5d6d80c4ae94b8487777;hb=ca4dfc9c8252d4222f778db27e7505909420da39;hp=d2dedd23c351f3fc8e91626375e55a0f3b3fd90d;hpb=97fa700baa58d95bd4b655366a35bcdac4bcaac9;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/menu/submenus/MenuMain.java b/core/src/ru/deadsoftware/cavedroid/menu/submenus/MenuMain.java index d2dedd2..6a40fc5 100644 --- a/core/src/ru/deadsoftware/cavedroid/menu/submenus/MenuMain.java +++ b/core/src/ru/deadsoftware/cavedroid/menu/submenus/MenuMain.java @@ -7,13 +7,20 @@ import ru.deadsoftware.cavedroid.menu.MenuProc; 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 @@ -21,15 +28,34 @@ public class MenuMain extends Menu { HashMap 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); + } + + } + }