From bd1c0d65f78b8eda030c09a42cf307551b0e78bc Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Tue, 14 Feb 2023 06:41:07 +0800 Subject: [PATCH] update deckaward dialog --- .../src/forge/adventure/stage/MapStage.java | 37 ++++++++++++++++--- .../src/forge/adventure/stage/WorldStage.java | 11 +++--- .../src/forge/adventure/util/MapDialog.java | 2 +- .../adventure/Shandalar/ui/hud_landscape.json | 10 ++--- .../adventure/Shandalar/ui/hud_portrait.json | 6 +-- 5 files changed, 46 insertions(+), 20 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/stage/MapStage.java b/forge-gui-mobile/src/forge/adventure/stage/MapStage.java index db2d5816142..3c431367506 100644 --- a/forge-gui-mobile/src/forge/adventure/stage/MapStage.java +++ b/forge-gui-mobile/src/forge/adventure/stage/MapStage.java @@ -29,6 +29,7 @@ import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Scaling; import com.badlogic.gdx.utils.Timer; import com.github.tommyettinger.textra.TextraButton; +import com.github.tommyettinger.textra.TextraLabel; import com.github.tommyettinger.textra.TypingAdapter; import com.github.tommyettinger.textra.TypingLabel; import forge.Forge; @@ -38,8 +39,12 @@ import forge.adventure.pointofintrest.PointOfInterestChanges; import forge.adventure.scene.*; import forge.adventure.util.*; import forge.adventure.world.WorldSave; +import forge.assets.FImageComplex; +import forge.assets.FSkin; +import forge.card.CardRenderer; import forge.deck.Deck; import forge.deck.DeckProxy; +import forge.game.GameType; import forge.gui.FThreads; import forge.screens.TransitionScreen; import forge.sound.SoundEffectType; @@ -212,7 +217,7 @@ public class MapStage extends GameStage { super.clicked(event, x, y); } }); - dialog.getButtonTable().add(ok).width(250f); + dialog.getButtonTable().add(ok).width(240f); dialog.getContentTable().add(L).width(250f); dialog.setKeepWithinStage(true); showDialog(); @@ -234,7 +239,7 @@ public class MapStage extends GameStage { L.setWrap(true); L.skipToTheEnd(); dialog.getContentTable().add(L).width(250f); - dialog.getButtonTable().add(Controls.newTextButton("OK", this::hideDialog)).width(250f); + dialog.getButtonTable().add(Controls.newTextButton("OK", this::hideDialog)).width(240f); dialog.setKeepWithinStage(true); setDialogStage(GameHUD.getInstance()); showDialog(); @@ -244,14 +249,36 @@ public class MapStage extends GameStage { dialog.getContentTable().clear(); dialog.getButtonTable().clear(); dialog.clearListeners(); - dialog.getContentTable().add(Controls.newTypingLabel("[%150]"+Controls.colorIdToTypingString(DeckProxy.getColorIdentity(deck)))).align(Align.center); - dialog.getContentTable().add().row(); + DeckProxy dp = new DeckProxy(deck, "Constructed", GameType.Constructed, null); + FImageComplex cardArt = CardRenderer.getCardArt(dp.getHighestCMCCard()); + if (cardArt != null) { + Image art = new Image(cardArt.getTextureRegion()); + art.setWidth(50); + art.setHeight(40); + art.setPosition(10, 43); + Image image = new Image(FSkin.getDeckbox().get(1)); + image.setWidth(70); + image.setHeight(100); + image.setPosition(0, 15); + TextraLabel label = Controls.newTextraLabel("[%125]"+Controls.colorIdToTypingString(DeckProxy.getColorIdentity(deck))+"\n[%]"+deck.getName()); + label.setAlignment(Align.center); + label.setPosition(34, 20); + Group group = new Group(); + group.addActor(art); + group.addActor(image); + group.addActor(label); + dialog.getContentTable().add(group).height(100).width(65).center(); + dialog.getContentTable().add().row(); + } else { + dialog.getContentTable().add(Controls.newTextraLabel("[%125]"+Controls.colorIdToTypingString(DeckProxy.getColorIdentity(deck)))+"\n[%]"+deck.getName()).align(Align.center); + dialog.getContentTable().add().row(); + } TypingLabel L = Controls.newTypingLabel(message); L.setWrap(true); L.skipToTheEnd(); - dialog.getContentTable().add(L).width(240); + dialog.getContentTable().add(L).width(250); dialog.getButtonTable().add(Controls.newTextButton("OK", this::hideDialog)).width(240); dialog.setKeepWithinStage(true); setDialogStage(GameHUD.getInstance()); diff --git a/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java b/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java index 164e9ef42c5..6863f370c73 100644 --- a/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java +++ b/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java @@ -258,14 +258,13 @@ public class WorldStage extends GameStage implements SaveFileContent { //spriteGroup.setCullingArea(new Rectangle(player.getX()-getViewport().getWorldHeight()/2,player.getY()-getViewport().getWorldHeight()/2,getViewport().getWorldHeight(),getViewport().getWorldHeight())); super.draw(); if (WorldSave.getCurrentSave().getPlayer().hasAnnounceFantasy()) { - MapStage.getInstance().showDeckAwardDialog("{BLINK=WHITE;RED}Chaos Mode!{ENDBLINK}\n" + WorldSave.getCurrentSave().getPlayer().getName() + "'s Deck: " + - WorldSave.getCurrentSave().getPlayer().getSelectedDeck().getName() + - "\nEnemy will use Preconstructed or Random Generated Decks. Genetic AI Decks will be available to some enemies on Hard difficulty.", WorldSave.getCurrentSave().getPlayer().getSelectedDeck()); + MapStage.getInstance().showDeckAwardDialog("{BLINK=WHITE;RED}Chaos Mode!{ENDBLINK}\n" + + "Enemy will use Preconstructed or Random Generated Decks. Genetic AI Decks will be available to some enemies on Hard difficulty.", + WorldSave.getCurrentSave().getPlayer().getSelectedDeck()); WorldSave.getCurrentSave().getPlayer().clearAnnounceFantasy(); } else if (WorldSave.getCurrentSave().getPlayer().hasAnnounceCustom()) { - MapStage.getInstance().showDeckAwardDialog("{GRADIENT}Custom Deck Mode!{ENDGRADIENT}\n" + WorldSave.getCurrentSave().getPlayer().getName() + "'s Deck: " + - WorldSave.getCurrentSave().getPlayer().getSelectedDeck().getName() + - "\nSome enemies will use Genetic AI Decks randomly.", WorldSave.getCurrentSave().getPlayer().getSelectedDeck()); + MapStage.getInstance().showDeckAwardDialog("{GRADIENT}Custom Deck Mode!{ENDGRADIENT}\n" + + "Some enemies will use Genetic AI Decks randomly.", WorldSave.getCurrentSave().getPlayer().getSelectedDeck()); WorldSave.getCurrentSave().getPlayer().clearAnnounceCustom(); } } diff --git a/forge-gui-mobile/src/forge/adventure/util/MapDialog.java b/forge-gui-mobile/src/forge/adventure/util/MapDialog.java index f2c776273b4..0778b96f85d 100644 --- a/forge-gui-mobile/src/forge/adventure/util/MapDialog.java +++ b/forge-gui-mobile/src/forge/adventure/util/MapDialog.java @@ -28,7 +28,7 @@ public class MapDialog { private final MapStage stage; private Array data; private final int parentID; - private final static float WIDTH = 260f; + private final static float WIDTH = 250f; static private final String defaultJSON = "[\n" + " {\n" + " \"effect\":[],\n" + diff --git a/forge-gui/res/adventure/Shandalar/ui/hud_landscape.json b/forge-gui/res/adventure/Shandalar/ui/hud_landscape.json index 03cb65e7c5b..05262c935c3 100644 --- a/forge-gui/res/adventure/Shandalar/ui/hud_landscape.json +++ b/forge-gui/res/adventure/Shandalar/ui/hud_landscape.json @@ -61,7 +61,7 @@ "font": "default", "width": 64, "height": 16, - "x": 419, + "x": 425, "y": 56 }, { @@ -70,8 +70,8 @@ "font": "default", "width": 64, "height": 16, - "x": 419, - "y": 73 + "x": 425, + "y": 70 }, { "type": "Label", @@ -79,8 +79,8 @@ "font": "default", "width": 64, "height": 16, - "x": 419, - "y": 90 + "x": 425, + "y": 84 }, { "type": "TextButton", diff --git a/forge-gui/res/adventure/Shandalar/ui/hud_portrait.json b/forge-gui/res/adventure/Shandalar/ui/hud_portrait.json index 01cbbea1d40..1d1c430a66f 100644 --- a/forge-gui/res/adventure/Shandalar/ui/hud_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/hud_portrait.json @@ -60,7 +60,7 @@ "name": "lifePoints", "width": 48, "height": 3, - "x": 209, + "x": 215, "y": 62 }, { @@ -69,7 +69,7 @@ "font": "default", "width": 48, "height": 3, - "x": 209, + "x": 215, "y": 76 }, { @@ -78,7 +78,7 @@ "font": "default", "width": 48, "height": 3, - "x": 209, + "x": 215, "y": 90 }, {