update deckaward dialog

This commit is contained in:
Anthony Calosa
2023-02-14 06:41:07 +08:00
parent 85a717249f
commit bd1c0d65f7
5 changed files with 46 additions and 20 deletions

View File

@@ -29,6 +29,7 @@ import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Scaling; import com.badlogic.gdx.utils.Scaling;
import com.badlogic.gdx.utils.Timer; import com.badlogic.gdx.utils.Timer;
import com.github.tommyettinger.textra.TextraButton; import com.github.tommyettinger.textra.TextraButton;
import com.github.tommyettinger.textra.TextraLabel;
import com.github.tommyettinger.textra.TypingAdapter; import com.github.tommyettinger.textra.TypingAdapter;
import com.github.tommyettinger.textra.TypingLabel; import com.github.tommyettinger.textra.TypingLabel;
import forge.Forge; import forge.Forge;
@@ -38,8 +39,12 @@ import forge.adventure.pointofintrest.PointOfInterestChanges;
import forge.adventure.scene.*; import forge.adventure.scene.*;
import forge.adventure.util.*; import forge.adventure.util.*;
import forge.adventure.world.WorldSave; import forge.adventure.world.WorldSave;
import forge.assets.FImageComplex;
import forge.assets.FSkin;
import forge.card.CardRenderer;
import forge.deck.Deck; import forge.deck.Deck;
import forge.deck.DeckProxy; import forge.deck.DeckProxy;
import forge.game.GameType;
import forge.gui.FThreads; import forge.gui.FThreads;
import forge.screens.TransitionScreen; import forge.screens.TransitionScreen;
import forge.sound.SoundEffectType; import forge.sound.SoundEffectType;
@@ -212,7 +217,7 @@ public class MapStage extends GameStage {
super.clicked(event, x, y); super.clicked(event, x, y);
} }
}); });
dialog.getButtonTable().add(ok).width(250f); dialog.getButtonTable().add(ok).width(240f);
dialog.getContentTable().add(L).width(250f); dialog.getContentTable().add(L).width(250f);
dialog.setKeepWithinStage(true); dialog.setKeepWithinStage(true);
showDialog(); showDialog();
@@ -234,7 +239,7 @@ public class MapStage extends GameStage {
L.setWrap(true); L.setWrap(true);
L.skipToTheEnd(); L.skipToTheEnd();
dialog.getContentTable().add(L).width(250f); 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); dialog.setKeepWithinStage(true);
setDialogStage(GameHUD.getInstance()); setDialogStage(GameHUD.getInstance());
showDialog(); showDialog();
@@ -244,14 +249,36 @@ public class MapStage extends GameStage {
dialog.getContentTable().clear(); dialog.getContentTable().clear();
dialog.getButtonTable().clear(); dialog.getButtonTable().clear();
dialog.clearListeners(); dialog.clearListeners();
dialog.getContentTable().add(Controls.newTypingLabel("[%150]"+Controls.colorIdToTypingString(DeckProxy.getColorIdentity(deck)))).align(Align.center); 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(); 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); TypingLabel L = Controls.newTypingLabel(message);
L.setWrap(true); L.setWrap(true);
L.skipToTheEnd(); 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.getButtonTable().add(Controls.newTextButton("OK", this::hideDialog)).width(240);
dialog.setKeepWithinStage(true); dialog.setKeepWithinStage(true);
setDialogStage(GameHUD.getInstance()); setDialogStage(GameHUD.getInstance());

View File

@@ -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())); //spriteGroup.setCullingArea(new Rectangle(player.getX()-getViewport().getWorldHeight()/2,player.getY()-getViewport().getWorldHeight()/2,getViewport().getWorldHeight(),getViewport().getWorldHeight()));
super.draw(); super.draw();
if (WorldSave.getCurrentSave().getPlayer().hasAnnounceFantasy()) { if (WorldSave.getCurrentSave().getPlayer().hasAnnounceFantasy()) {
MapStage.getInstance().showDeckAwardDialog("{BLINK=WHITE;RED}Chaos Mode!{ENDBLINK}\n" + WorldSave.getCurrentSave().getPlayer().getName() + "'s Deck: " + MapStage.getInstance().showDeckAwardDialog("{BLINK=WHITE;RED}Chaos Mode!{ENDBLINK}\n" +
WorldSave.getCurrentSave().getPlayer().getSelectedDeck().getName() + "Enemy will use Preconstructed or Random Generated Decks. Genetic AI Decks will be available to some enemies on Hard difficulty.",
"\nEnemy 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().getSelectedDeck());
WorldSave.getCurrentSave().getPlayer().clearAnnounceFantasy(); WorldSave.getCurrentSave().getPlayer().clearAnnounceFantasy();
} else if (WorldSave.getCurrentSave().getPlayer().hasAnnounceCustom()) { } else if (WorldSave.getCurrentSave().getPlayer().hasAnnounceCustom()) {
MapStage.getInstance().showDeckAwardDialog("{GRADIENT}Custom Deck Mode!{ENDGRADIENT}\n" + WorldSave.getCurrentSave().getPlayer().getName() + "'s Deck: " + MapStage.getInstance().showDeckAwardDialog("{GRADIENT}Custom Deck Mode!{ENDGRADIENT}\n" +
WorldSave.getCurrentSave().getPlayer().getSelectedDeck().getName() + "Some enemies will use Genetic AI Decks randomly.", WorldSave.getCurrentSave().getPlayer().getSelectedDeck());
"\nSome enemies will use Genetic AI Decks randomly.", WorldSave.getCurrentSave().getPlayer().getSelectedDeck());
WorldSave.getCurrentSave().getPlayer().clearAnnounceCustom(); WorldSave.getCurrentSave().getPlayer().clearAnnounceCustom();
} }
} }

View File

@@ -28,7 +28,7 @@ public class MapDialog {
private final MapStage stage; private final MapStage stage;
private Array<DialogData> data; private Array<DialogData> data;
private final int parentID; private final int parentID;
private final static float WIDTH = 260f; private final static float WIDTH = 250f;
static private final String defaultJSON = "[\n" + static private final String defaultJSON = "[\n" +
" {\n" + " {\n" +
" \"effect\":[],\n" + " \"effect\":[],\n" +

View File

@@ -61,7 +61,7 @@
"font": "default", "font": "default",
"width": 64, "width": 64,
"height": 16, "height": 16,
"x": 419, "x": 425,
"y": 56 "y": 56
}, },
{ {
@@ -70,8 +70,8 @@
"font": "default", "font": "default",
"width": 64, "width": 64,
"height": 16, "height": 16,
"x": 419, "x": 425,
"y": 73 "y": 70
}, },
{ {
"type": "Label", "type": "Label",
@@ -79,8 +79,8 @@
"font": "default", "font": "default",
"width": 64, "width": 64,
"height": 16, "height": 16,
"x": 419, "x": 425,
"y": 90 "y": 84
}, },
{ {
"type": "TextButton", "type": "TextButton",

View File

@@ -60,7 +60,7 @@
"name": "lifePoints", "name": "lifePoints",
"width": 48, "width": 48,
"height": 3, "height": 3,
"x": 209, "x": 215,
"y": 62 "y": 62
}, },
{ {
@@ -69,7 +69,7 @@
"font": "default", "font": "default",
"width": 48, "width": 48,
"height": 3, "height": 3,
"x": 209, "x": 215,
"y": 76 "y": 76
}, },
{ {
@@ -78,7 +78,7 @@
"font": "default", "font": "default",
"width": 48, "width": 48,
"height": 3, "height": 3,
"x": 209, "x": 215,
"y": 90 "y": 90
}, },
{ {