X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fmenu%2Fsubmenus%2FMenuNewGame.java;h=33985ff8206d395939c21c54d474e0017e26c5a3;hb=387ad284ceb79b07cba3726fa7350b7e83916815;hp=6e6b66656519dff6449b1aaac54ec616c4349d38;hpb=59d48c1b28c570755327a8fb0827fa57e7fd3914;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/menu/submenus/MenuNewGame.java b/core/src/ru/deadsoftware/cavedroid/menu/submenus/MenuNewGame.java index 6e6b666..33985ff 100644 --- a/core/src/ru/deadsoftware/cavedroid/menu/submenus/MenuNewGame.java +++ b/core/src/ru/deadsoftware/cavedroid/menu/submenus/MenuNewGame.java @@ -1,28 +1,53 @@ package ru.deadsoftware.cavedroid.menu.submenus; -import com.badlogic.gdx.Gdx; +import ru.deadsoftware.cavedroid.MainConfig; +import ru.deadsoftware.cavedroid.menu.MenuProc; 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 MenuNewGame extends Menu { - public MenuNewGame(float width, float height, ButtonRenderer buttonRenderer) { - super(width, height, buttonRenderer); + public MenuNewGame(float width, + float height, + ButtonRenderer buttonRenderer, + MainConfig mainConfig, + MenuProc.Input menuInput, + AssetLoader assetLoader) { + super(width, height, buttonRenderer, mainConfig, menuInput, assetLoader); } @Override protected HashMap getButtonEventListeners() { HashMap map = new HashMap<>(); - map.put("survival", MenuInput::survivalClicked); - map.put("creative", MenuInput::creativeClicked); - map.put("back", MenuInput::backClicked); + map.put("survival", mMenuInput::survivalClicked); + map.put("creative", mMenuInput::creativeClicked); + map.put("back", mMenuInput::backClicked); return map; } @Override protected void initButtons() { - loadButtonsFromJson(Gdx.files.internal("json/menu_new_game_buttons.json")); + loadButtonsFromJson(mAssetLoader.getAssetHandle("json/menu_new_game_buttons.json")); + } + + public static class Factory { + + private final MainConfig mMainConfig; + private final AssetLoader mAssetLoader; + + @Inject + public Factory(MainConfig mainConfig, AssetLoader assetLoader) { + mMainConfig = mainConfig; + mAssetLoader = assetLoader; + } + + public MenuNewGame get(float width, float height, ButtonRenderer buttonRenderer, MenuProc.Input menuInput) { + return new MenuNewGame(width, height, buttonRenderer, mMainConfig, menuInput, mAssetLoader); + } + } }