From b0b77f4c88b5d2686ea45101dcc69873f05a7f08 Mon Sep 17 00:00:00 2001 From: Grimm Date: Mon, 26 Sep 2022 01:15:49 +0200 Subject: [PATCH] moved controller support to UIScene and abstract it uses focus for keyboard and controller added Keyboard support Show key hint for buttons added voice line for dialogs fixed missing items rewards fixed some maps adjusted pile decks --- forge-gui-mobile/src/forge/Forge.java | 18 +- .../src/forge/adventure/data/DialogData.java | 3 + .../adventure/player/AdventurePlayer.java | 3 +- .../src/forge/adventure/scene/ArenaScene.java | 51 +- .../adventure/scene/DeckSelectScene.java | 56 +- .../src/forge/adventure/scene/GameScene.java | 2 + .../src/forge/adventure/scene/HudScene.java | 28 +- .../src/forge/adventure/scene/InnScene.java | 30 - .../forge/adventure/scene/InventoryScene.java | 87 +- .../forge/adventure/scene/NewGameScene.java | 170 +- .../adventure/scene/PlayerStatisticScene.java | 30 +- .../forge/adventure/scene/RewardScene.java | 98 +- .../forge/adventure/scene/SaveLoadScene.java | 279 +- .../src/forge/adventure/scene/Scene.java | 76 +- .../forge/adventure/scene/SettingsScene.java | 34 +- .../src/forge/adventure/scene/StartScene.java | 265 +- .../src/forge/adventure/scene/UIScene.java | 1176 +++--- .../stage/ConsoleCommandInterpreter.java | 20 +- .../src/forge/adventure/stage/GameHUD.java | 145 +- .../src/forge/adventure/stage/GameStage.java | 51 +- .../src/forge/adventure/stage/MapStage.java | 102 +- .../src/forge/adventure/util/Controls.java | 57 +- .../src/forge/adventure/util/Current.java | 9 - .../src/forge/adventure/util/KeyBinding.java | 84 + .../forge/adventure/util/KeyBoardDialog.java | 193 + .../src/forge/adventure/util/MapDialog.java | 12 + .../src/forge/adventure/util/Paths.java | 2 +- .../src/forge/adventure/util/RewardActor.java | 16 +- .../src/forge/adventure/util/Selector.java | 62 +- .../adventure/util/TemplateTmxMapLoader.java | 2 +- .../src/forge/adventure/util/UIActor.java | 120 +- .../res/adventure/Shandalar/audio/WizPAR1.mp3 | Bin 0 -> 260286 bytes .../res/adventure/Shandalar/audio/WizPAR2.mp3 | Bin 0 -> 351812 bytes .../res/adventure/Shandalar/audio/WizPAR3.mp3 | Bin 0 -> 184003 bytes .../res/adventure/Shandalar/audio/WizPAR4.mp3 | Bin 0 -> 235401 bytes forge-gui/res/adventure/Shandalar/config.json | 3 +- .../Shandalar/decks/starter/pile_black_e.json | 14 +- .../Shandalar/decks/starter/pile_black_h.json | 16 +- .../Shandalar/decks/starter/pile_black_n.json | 16 +- .../Shandalar/decks/starter/pile_blue_e.json | 14 +- .../Shandalar/decks/starter/pile_blue_h.json | 16 +- .../Shandalar/decks/starter/pile_blue_n.json | 16 +- .../Shandalar/decks/starter/pile_green_e.json | 14 +- .../Shandalar/decks/starter/pile_green_h.json | 16 +- .../Shandalar/decks/starter/pile_green_n.json | 16 +- .../Shandalar/decks/starter/pile_red_e.json | 14 +- .../Shandalar/decks/starter/pile_red_h.json | 16 +- .../Shandalar/decks/starter/pile_red_n.json | 16 +- .../Shandalar/decks/starter/pile_white_e.json | 14 +- .../Shandalar/decks/starter/pile_white_h.json | 16 +- .../Shandalar/decks/starter/pile_white_n.json | 16 +- .../Shandalar/maps/main.tiled-session | 304 +- .../adventure/Shandalar/maps/map/aerie_1.tmx | 9 +- .../adventure/Shandalar/maps/map/aerie_1B.tmx | 13 +- .../adventure/Shandalar/maps/map/aerie_1C.tmx | 11 +- .../Shandalar/maps/map/barbariancamp_4.tmx | 11 +- .../Shandalar/maps/map/catlair_1.tmx | 9 +- .../Shandalar/maps/map/catlair_2.tmx | 9 +- .../Shandalar/maps/map/catlair_3.tmx | 13 +- .../adventure/Shandalar/maps/map/cave_1..tmx | 112 + .../adventure/Shandalar/maps/map/cave_1.tmx | 8 +- .../maps/map/main_story/colorless_castle.tmx | 6 +- .../maps/map/main_story/final_castle.tmx | 12 +- .../Shandalar/maps/map/main_story/spawn.tmx | 58 +- .../Shandalar/maps/tileset/buildings.png | Bin 237464 -> 233827 bytes .../Shandalar/maps/tileset/buildings.tsx | 4 +- .../adventure/Shandalar/maps/tileset/main.png | Bin 607032 -> 506381 bytes .../res/adventure/Shandalar/skin/keys.atlas | 576 +++ .../res/adventure/Shandalar/skin/keys.png | Bin 0 -> 18020 bytes .../adventure/Shandalar/skin/ui_skin.atlas | 101 +- .../res/adventure/Shandalar/skin/ui_skin.json | 50 +- .../res/adventure/Shandalar/skin/ui_skin.png | Bin 17003 -> 18228 bytes .../res/adventure/Shandalar/ui/arena.json | 4 + .../Shandalar/ui/arena_portrait.json | 2 + .../adventure/Shandalar/ui/deck_selector.json | 2 + .../Shandalar/ui/deck_selector_portrait.json | 3 + forge-gui/res/adventure/Shandalar/ui/hud.json | 20 +- .../adventure/Shandalar/ui/hud_landscape.json | 4 + .../adventure/Shandalar/ui/hud_portrait.json | 4 + forge-gui/res/adventure/Shandalar/ui/inn.json | 5 +- .../adventure/Shandalar/ui/inn_portrait.json | 5 +- .../res/adventure/Shandalar/ui/inventory.json | 4 + .../Shandalar/ui/inventory_portrait.json | 18 +- .../res/adventure/Shandalar/ui/items.json | 11 + .../Shandalar/ui/items_portrait.json | 11 + forge-gui/res/adventure/Shandalar/ui/map.json | 1 + .../adventure/Shandalar/ui/map_portrait.json | 1 + .../res/adventure/Shandalar/ui/new_game.json | 12 + .../Shandalar/ui/new_game_portrait.json | 20 +- .../res/adventure/Shandalar/ui/save_load.json | 4 +- .../Shandalar/ui/save_load_portrait.json | 4 +- .../res/adventure/Shandalar/ui/settings.json | 1 + .../Shandalar/ui/settings_portrait.json | 1 + .../adventure/Shandalar/ui/spellsmith.json | 24 +- .../Shandalar/ui/spellsmith_portrait.json | 24 +- .../adventure/Shandalar/ui/start_menu.json | 10 + .../Shandalar/ui/start_menu_portrait.json | 10 + .../res/adventure/Shandalar/ui/statistic.json | 1 + .../Shandalar/ui/statistic_portrait.json | 1 + .../adventure/Shandalar/world/enemies.json | 3722 ++++++++++++++++- .../res/adventure/Shandalar/world/items.json | 13 +- 101 files changed, 6262 insertions(+), 2500 deletions(-) create mode 100644 forge-gui-mobile/src/forge/adventure/util/KeyBinding.java create mode 100644 forge-gui-mobile/src/forge/adventure/util/KeyBoardDialog.java create mode 100644 forge-gui/res/adventure/Shandalar/audio/WizPAR1.mp3 create mode 100644 forge-gui/res/adventure/Shandalar/audio/WizPAR2.mp3 create mode 100644 forge-gui/res/adventure/Shandalar/audio/WizPAR3.mp3 create mode 100644 forge-gui/res/adventure/Shandalar/audio/WizPAR4.mp3 create mode 100644 forge-gui/res/adventure/Shandalar/maps/map/cave_1..tmx create mode 100644 forge-gui/res/adventure/Shandalar/skin/keys.atlas create mode 100644 forge-gui/res/adventure/Shandalar/skin/keys.png diff --git a/forge-gui-mobile/src/forge/Forge.java b/forge-gui-mobile/src/forge/Forge.java index 4428a81b5f2..e3968130e48 100644 --- a/forge-gui-mobile/src/forge/Forge.java +++ b/forge-gui-mobile/src/forge/Forge.java @@ -9,26 +9,17 @@ import com.badlogic.gdx.controllers.Controller; import com.badlogic.gdx.controllers.ControllerAdapter; import com.badlogic.gdx.controllers.ControllerListener; import com.badlogic.gdx.controllers.Controllers; -import com.badlogic.gdx.graphics.Cursor; -import com.badlogic.gdx.graphics.GL20; -import com.badlogic.gdx.graphics.Pixmap; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.graphics.TextureData; +import com.badlogic.gdx.graphics.*; import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Clipboard; import forge.adventure.scene.*; -import forge.adventure.stage.MapStage; import forge.adventure.util.Config; import forge.adventure.world.WorldSave; import forge.animation.ForgeAnimation; -import forge.assets.Assets; -import forge.assets.AssetsDownloader; -import forge.assets.FSkin; -import forge.assets.FSkinFont; -import forge.assets.ImageCache; +import forge.assets.*; import forge.error.ExceptionHandler; import forge.gamemodes.limited.BoosterDraft; import forge.gui.FThreads; @@ -1003,8 +994,6 @@ public class Forge implements ApplicationListener { } storeScreen(); sceneWasSwapped = true; - if (newScene instanceof GameScene) - MapStage.getInstance().clearIsInMap(); currentScene = newScene; currentScene.enter(); @@ -1420,9 +1409,6 @@ public class Forge implements ApplicationListener { hasGamepad = true; if (controller.canVibrate()) controller.startVibration(200,1); - if (Forge.isMobileAdventureMode && Forge.currentScene instanceof UIScene) { - ((UIScene) Forge.currentScene).selectCurrent(); - } } @Override public void disconnected(Controller controller) { diff --git a/forge-gui-mobile/src/forge/adventure/data/DialogData.java b/forge-gui-mobile/src/forge/adventure/data/DialogData.java index 000a44c47bc..ce4810fc68f 100644 --- a/forge-gui-mobile/src/forge/adventure/data/DialogData.java +++ b/forge-gui-mobile/src/forge/adventure/data/DialogData.java @@ -13,6 +13,9 @@ public class DialogData { public String loctext; //References a localized string for the text body. public DialogData[] options; //List of sub-dialogs. Show up as options in the current one. + + public String voiceFile; + static public class ActionData { static public class QuestFlag { public String key; diff --git a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java index 39d63041b0a..fd1f48855db 100644 --- a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java +++ b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java @@ -412,7 +412,8 @@ public class AdventurePlayer implements Serializable, SaveFileContent { addGold(reward.getCount()); break; case Item: - inventoryItems.add(reward.getItem().name); + if(reward.getItem()!=null) + inventoryItems.add(reward.getItem().name); break; case Life: addMaxLife(reward.getCount()); diff --git a/forge-gui-mobile/src/forge/adventure/scene/ArenaScene.java b/forge-gui-mobile/src/forge/adventure/scene/ArenaScene.java index 283b397d5dc..71d32fdf5d4 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/ArenaScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/ArenaScene.java @@ -1,6 +1,5 @@ package forge.adventure.scene; -import com.badlogic.gdx.Input; import com.badlogic.gdx.graphics.g2d.Sprite; import com.badlogic.gdx.graphics.g2d.TextureAtlas; import com.badlogic.gdx.scenes.scene2d.Actor; @@ -38,8 +37,6 @@ public class ArenaScene extends UIScene implements IAfterMatch { } private final TextraButton doneButton; - Dialog startDialog; - Dialog areYouSureDialog; private final TextraLabel goldLabel; private final Group arenaPlane; @@ -81,7 +78,7 @@ public class ArenaScene extends UIScene implements IAfterMatch { if(!arenaStarted) ArenaScene.this.done(); else - areYouSureDialog.show(stage); + showAreYouSure(); }); ui.onButtonPress("start", () -> startButton()); doneButton = ui.findActor("done"); @@ -91,38 +88,15 @@ public class ArenaScene extends UIScene implements IAfterMatch { startButton=ui.findActor("start"); - startDialog = new Dialog(Forge.getLocalizer().getMessage("lblStart"), Controls.getSkin()) - { - protected void result(Object object) - { - if(object!=null&&object.equals(true)) - startArena(); - startDialog.hide(); - } - }; - startDialog.text("Do you want to go into the Arena?"); - startDialog.button(Forge.getLocalizer().getMessage("lblYes"), true); - startDialog.button(Forge.getLocalizer().getMessage("lblNo"), false); - ui.addActor(startDialog); - startDialog.hide(); - startDialog.getColor().a = 0; - areYouSureDialog= new Dialog(Forge.getLocalizer().getMessage("lblConcedeTitle"), Controls.getSkin()) - { - protected void result(Object object) - { - if(object!=null&&object.equals(true)) - loose(); - startDialog.hide(); - } - }; + } + + private void showAreYouSure() { + + Dialog areYouSureDialog= prepareDialog(Forge.getLocalizer().getMessage("lblConcedeTitle"),ButtonYes|ButtonNo,()->loose()); areYouSureDialog.text(Forge.getLocalizer().getMessage("lblConcedeCurrentGame")); - areYouSureDialog.button(Forge.getLocalizer().getMessage("lblYes"), true); - areYouSureDialog.button(Forge.getLocalizer().getMessage("lblNo"), false); - ui.addActor(areYouSureDialog); - areYouSureDialog.hide(); - areYouSureDialog.getColor().a = 0; + showDialog(areYouSureDialog); } private void loose() { @@ -134,7 +108,9 @@ public class ArenaScene extends UIScene implements IAfterMatch { private void startButton() { if(roundsWon ==0) { - startDialog.show(stage); + Dialog startDialog = prepareDialog(Forge.getLocalizer().getMessage("lblStart"), ButtonYes|ButtonNo,()->startArena()); + startDialog.text("Do you want to go into the Arena?"); + showDialog(startDialog); } else { @@ -271,13 +247,6 @@ public class ArenaScene extends UIScene implements IAfterMatch { } - @Override - public boolean keyPressed(int keycode) { - if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) { - done(); - } - return true; - } Array enemies = new Array<>(); Array fighters = new Array<>(); diff --git a/forge-gui-mobile/src/forge/adventure/scene/DeckSelectScene.java b/forge-gui-mobile/src/forge/adventure/scene/DeckSelectScene.java index 212b041c778..fb956790562 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/DeckSelectScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/DeckSelectScene.java @@ -1,9 +1,11 @@ package forge.adventure.scene; -import com.badlogic.gdx.Input; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.scenes.scene2d.InputEvent; -import com.badlogic.gdx.scenes.scene2d.ui.*; +import com.badlogic.gdx.scenes.scene2d.ui.Dialog; +import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane; +import com.badlogic.gdx.scenes.scene2d.ui.Table; +import com.badlogic.gdx.scenes.scene2d.ui.TextField; import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import com.badlogic.gdx.utils.Align; import com.badlogic.gdx.utils.IntMap; @@ -17,11 +19,10 @@ import forge.adventure.util.Current; public class DeckSelectScene extends UIScene { private final IntMap buttons = new IntMap<>(); Color defColor; - Dialog dialog; TextField textInput; Table layout; TextraLabel header; - TextraButton back, edit, rename, dialogRenameBtn, dialogAbortBtn; + TextraButton back, edit, rename; int currentSlot = 0; ScrollPane scrollPane; @@ -44,20 +45,7 @@ public class DeckSelectScene extends UIScene { for (int i = 0; i < AdventurePlayer.NUMBER_OF_DECKS; i++) addDeckSlot(Forge.getLocalizer().getMessage("lblDeck")+": " + (i + 1), i); - dialog = Controls.newDialog(Forge.getLocalizer().getMessage("lblSave")); textInput = Controls.newTextField(""); - dialog.getButtonTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblNameYourSaveFile"))).colspan(2); - dialog.getButtonTable().row(); - dialog.getButtonTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblName")+": ")).align(Align.left); - dialog.getButtonTable().add(textInput).fillX().expandX(); - dialog.getButtonTable().row(); - dialogRenameBtn = Controls.newTextButton(Forge.getLocalizer().getMessage("lblRename"), () -> DeckSelectScene.this.rename()); - dialog.getButtonTable().add(dialogRenameBtn).align(Align.left).padLeft(15); - dialogAbortBtn = Controls.newTextButton(Forge.getLocalizer().getMessage("lblAbort"), () -> dialog.hide()); - dialog.getButtonTable().add(dialogAbortBtn).align(Align.right).padRight(15); - dialog.getColor().a = 0f; - dialog.hide(); - back = ui.findActor("return"); edit = ui.findActor("edit"); rename = ui.findActor("rename"); @@ -65,8 +53,7 @@ public class DeckSelectScene extends UIScene { ui.onButtonPress("edit", () -> DeckSelectScene.this.edit()); ui.onButtonPress("rename", () -> { textInput.setText(Current.player().getSelectedDeck().getName()); - dialog.show(stage); - selectActor(textInput, false); + showRenameDialog(); }); defColor = ui.findActor("return").getColor(); @@ -74,6 +61,17 @@ public class DeckSelectScene extends UIScene { scrollPane.setActor(layout); } + private void showRenameDialog() { + + Dialog dialog = prepareDialog(Forge.getLocalizer().getMessage("lblRenameDeck"),ButtonOk|ButtonAbort,()->DeckSelectScene.this.rename()); + dialog.getContentTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblNameYourSaveFile"))).colspan(2); + dialog.getContentTable().row(); + dialog.getContentTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblName")+": ")).align(Align.left); + dialog.getContentTable().add(textInput).fillX().expandX(); + dialog.getContentTable().row(); + showDialog(dialog); + } + private TextraButton addDeckSlot(String name, int i) { TextraButton button = Controls.newTextButton("-"); button.addListener(new ClickListener() { @@ -91,13 +89,11 @@ public class DeckSelectScene extends UIScene { layout.add(Controls.newLabel(name)).expandX().pad(2); layout.add(button).expandX().pad(2); buttons.put(i, button); + addToSelectable(new Selectable(button)); layout.row(); return button; } - public void back() { - Forge.switchToLast(); - } public boolean select(int slot) { currentSlot = slot; @@ -115,30 +111,15 @@ public class DeckSelectScene extends UIScene { } - @Override - public boolean keyPressed(int keycode) { - if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) { - back(); - } - return true; - } @Override public void enter() { - clearActorObjects(); for (int i = 0; i < AdventurePlayer.NUMBER_OF_DECKS; i++) { if (buttons.containsKey(i)) { buttons.get(i).setText(Current.player().getDeck(i).getName()); buttons.get(i).getTextraLabel().layout(); - addActorObject(buttons.get(i)); } } - addActorObject(back); - addActorObject(rename); - addActorObject(edit); - addActorObject(textInput); - addActorObject(dialogRenameBtn); - addActorObject(dialogAbortBtn); select(Current.player().getSelectedDeckIndex()); super.enter(); } @@ -146,7 +127,6 @@ public class DeckSelectScene extends UIScene { private void rename() { - dialog.hide(); String text = textInput.getText(); Current.player().renameDeck(text); buttons.get(currentSlot).setText(Current.player().getDeck(currentSlot).getName()); diff --git a/forge-gui-mobile/src/forge/adventure/scene/GameScene.java b/forge-gui-mobile/src/forge/adventure/scene/GameScene.java index f6376d54828..595bf49453c 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/GameScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/GameScene.java @@ -3,6 +3,7 @@ package forge.adventure.scene; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.GL20; import forge.Forge; +import forge.adventure.stage.MapStage; import forge.adventure.stage.WorldStage; /** @@ -44,6 +45,7 @@ public class GameScene extends HudScene { @Override public void enter() { + MapStage.getInstance().clearIsInMap(); Forge.clearTransitionScreen(); Forge.clearCurrentScreen(); super.enter(); diff --git a/forge-gui-mobile/src/forge/adventure/scene/HudScene.java b/forge-gui-mobile/src/forge/adventure/scene/HudScene.java index bf9f45c8d0b..f2e06552a67 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/HudScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/HudScene.java @@ -2,12 +2,13 @@ package forge.adventure.scene; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.InputProcessor; +import com.badlogic.gdx.controllers.Controller; import com.badlogic.gdx.graphics.GL20; -import forge.Forge; import forge.adventure.stage.GameHUD; import forge.adventure.stage.GameStage; import forge.adventure.stage.IAfterMatch; import forge.adventure.stage.MapStage; +import forge.adventure.util.KeyBinding; /** * Hud base scene @@ -25,7 +26,7 @@ public abstract class HudScene extends Scene implements InputProcessor, IAfterMa @Override public boolean leave() { stage.leave(); - return true; + return super.leave(); } @Override @@ -33,6 +34,7 @@ public abstract class HudScene extends Scene implements InputProcessor, IAfterMa Gdx.input.setInputProcessor(this); stage.enter(); hud.enter(); + super.enter(); } @Override @@ -57,10 +59,8 @@ public abstract class HudScene extends Scene implements InputProcessor, IAfterMa @Override public boolean keyDown(int keycode) { - if (Forge.hasGamepad()) { - if (MapStage.getInstance().isDialogOnlyInput()) { - return MapStage.getInstance().buttonPress(keycode); - } + if (MapStage.getInstance().isDialogOnlyInput()) { + return MapStage.getInstance().dialogInput(keycode); } if (hud.keyDown(keycode)) return true; @@ -72,12 +72,23 @@ public abstract class HudScene extends Scene implements InputProcessor, IAfterMa @Override public boolean keyUp(int keycode) { + if (MapStage.getInstance().isDialogOnlyInput()) { + return true; + } if (hud.keyUp(keycode)) return true; if(isInHudOnlyMode()) return false; return stage.keyUp(keycode); } + @Override + public boolean buttonDown(Controller var1, int var2) { + return keyDown(KeyBinding.controllerButtonToKey(var1,var2)); + } + @Override + public boolean buttonUp(Controller var1, int var2) { + return keyUp(KeyBinding.controllerButtonToKey(var1,var2)); + } @Override public boolean keyTyped(char character) { @@ -134,6 +145,11 @@ public abstract class HudScene extends Scene implements InputProcessor, IAfterMa return stage.scrolled(amountX, amountY); } + @Override + public boolean axisMoved(Controller controller, int axisIndex, float value) { + + return stage.axisMoved(controller, axisIndex, value); + } @Override public void setWinner(boolean winner) { stage.setWinner(winner); diff --git a/forge-gui-mobile/src/forge/adventure/scene/InnScene.java b/forge-gui-mobile/src/forge/adventure/scene/InnScene.java index 550990ee873..1bcad6681ac 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/InnScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/InnScene.java @@ -1,6 +1,5 @@ package forge.adventure.scene; -import com.badlogic.gdx.Input; import com.badlogic.gdx.scenes.scene2d.ui.Image; import com.github.tommyettinger.textra.TextraButton; import forge.Forge; @@ -71,40 +70,11 @@ public class InnScene extends UIScene { tempHitPointCost.setDisabled(!purchaseable); tempHitPointCost.setText( tempHealthCost+"[+Gold]"); - clearActorObjects(); - addActorObject(tempHitPointCost); - addActorObject(sell); - addActorObject(leave); } private void sell() { Forge.switchScene(ShopScene.instance()); } - @Override - public boolean keyPressed(int keycode) { - if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) { - done(); - } - if (keycode == Input.Keys.DPAD_RIGHT) { - if (selectedActor == null) - selectActor(tempHitPointCost, false); - else - selectNextActor(false); - } else if ( keycode == Input.Keys.DPAD_LEFT) { - if (selectedActor == null) - selectActor(leave, false); - else - selectPreviousActor(false); - - } else if (keycode == Input.Keys.BUTTON_B) { - performTouch(leave); - - } else if (keycode == Input.Keys.BUTTON_A) { - performTouch(selectedActor); - - } - return true; - } } diff --git a/forge-gui-mobile/src/forge/adventure/scene/InventoryScene.java b/forge-gui-mobile/src/forge/adventure/scene/InventoryScene.java index 362a550ed4a..940a9f27a5f 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/InventoryScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/InventoryScene.java @@ -1,13 +1,11 @@ package forge.adventure.scene; -import com.badlogic.gdx.Input; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.scenes.scene2d.Actor; import com.badlogic.gdx.scenes.scene2d.ui.*; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; import com.badlogic.gdx.utils.Align; import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.Timer; import com.github.tommyettinger.textra.TextraButton; import com.github.tommyettinger.textra.TextraLabel; import forge.Forge; @@ -28,8 +26,6 @@ public class InventoryScene extends UIScene { Button equipButton; TextraButton useButton; TextraLabel itemDescription; - Dialog confirm; - Dialog useDialog; private final Table inventory; private final Array