Minor tweak in InputSelectTargets and some string refactoring

This commit is contained in:
kevlahnota
2017-09-05 20:53:54 +00:00
parent 5c18270826
commit 00cbfa45d7
17 changed files with 174 additions and 154 deletions

View File

@@ -50,6 +50,7 @@ import javax.swing.event.ChangeListener;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import forge.util.TextUtil;
import net.miginfocom.swing.MigLayout;
import org.apache.commons.lang3.StringUtils;
@@ -479,7 +480,7 @@ public class ImportDialog {
selectedOptions.add(entry.getKey());
}
cb.setText(String.format("%s (%d)", cb.getName(), selection.getRight().size()));
cb.setText(TextUtil.concatWithSpace(cb.getName(), TextUtil.enclosedParen(String.valueOf(selection.getRight().size()))));
}
// asynchronously update the text in the op log, which may be many tens of thousands of lines long

View File

@@ -19,6 +19,7 @@ package forge.itemmanager.views;
import forge.card.CardEdition;
import forge.model.FModel;
import forge.util.TextUtil;
/**
* A wrapper to show explanatory tooltips for edition set abbreviations.
@@ -41,6 +42,6 @@ public class SetCodeRenderer extends ItemCellRenderer {
setFullName = editions.get(setAbbrev).getName();
}
return String.format("%s (%s)", setFullName, setAbbrev);
return TextUtil.concatWithSpace(setFullName, TextUtil.enclosedParen(setAbbrev));
}
}

View File

@@ -5,6 +5,7 @@ import forge.card.CardEdition;
import forge.gui.SOverlayUtils;
import forge.model.FModel;
import forge.toolbox.*;
import forge.util.TextUtil;
import net.miginfocom.swing.MigLayout;
import javax.swing.*;
@@ -43,7 +44,7 @@ public class DialogChooseSets {
for (CardEdition ce : editions) {
String code = ce.getCode();
FCheckBox box = new FCheckBox(String.format("%s (%s)", ce.getName(), code));
FCheckBox box = new FCheckBox(TextUtil.concatWithSpace(ce.getName(), TextUtil.enclosedParen(code)));
box.setName(code);
box.setSelected(null != preselectedSets && preselectedSets.contains(code));

View File

@@ -32,6 +32,7 @@ import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.border.Border;
import forge.util.TextUtil;
import net.miginfocom.swing.MigLayout;
import com.google.common.collect.Lists;
@@ -409,7 +410,7 @@ public class VAssignDamage {
dt.label.setText(sb.toString());
}
lblTotalDamage.setText(String.format("Available damage points: %d (of %d)", damageLeft, totalDamageToAssign));
lblTotalDamage.setText(TextUtil.concatNoSpace("Available damage points: ", String.valueOf(damageLeft), " (of ", String.valueOf(totalDamageToAssign), ")"));
btnOK.setEnabled(damageLeft == 0);
lblAssignRemaining.setVisible(allHaveLethal && damageLeft > 0);
}

View File

@@ -12,6 +12,7 @@ import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import forge.util.TextUtil;
import net.miginfocom.swing.MigLayout;
import org.apache.commons.lang3.StringUtils;
@@ -216,9 +217,9 @@ public class ViewWinLose implements IWinLoseView<FButton> {
if (winner == null || winner.isEmpty()) {
return "It's a draw!";
} else if (winningTeam != -1) {
return String.format("Team %d won!", Integer.valueOf(winningTeam));
return TextUtil.concatNoSpace("Team ", String.valueOf(winningTeam), " won!");
} else {
return String.format("%s won!", winner);
return TextUtil.concatNoSpace(winner, " won!");
}
}

View File

@@ -29,6 +29,7 @@ import forge.screens.workshop.views.VCardDesigner;
import forge.screens.workshop.views.VCardScript;
import forge.screens.workshop.views.VWorkshopCatalog;
import forge.toolbox.FOptionPane;
import forge.util.TextUtil;
/**
* Controls the "card script" panel in the workshop UI.
@@ -127,7 +128,7 @@ public enum CCardScript implements ICDoc {
switchInProgress = true;
Singletons.getControl().ensureScreenActive(FScreen.WORKSHOP_SCREEN); //ensure Workshop is active before showing dialog
final int choice = FOptionPane.showOptionDialog(
String.format("Save changes to %s?", currentCard),
TextUtil.concatNoSpace("Save changes to ", currentCard.toString(), "?"),
"Save Changes?",
FOptionPane.QUESTION_ICON,
switchAwayOptions);

View File

@@ -8,6 +8,7 @@ import forge.LobbyPlayer;
import forge.deck.DeckGroup;
import forge.properties.ForgeConstants;
import forge.tournament.system.*;
import forge.util.TextUtil;
import forge.util.storage.IStorage;
import org.apache.commons.lang3.text.WordUtils;
import org.apache.commons.lang3.time.StopWatch;
@@ -102,13 +103,13 @@ public class SimulateMatch {
for(String deck : params.get("d")) {
Deck d = deckFromCommandLineParameter(deck, type);
if (d == null) {
System.out.println(String.format("Could not load deck - %s, match cannot start", deck));
System.out.println(TextUtil.concatNoSpace("Could not load deck - ", deck, ", match cannot start"));
return;
}
if (i > 1) {
sb.append(" vs ");
}
String name = String.format("Ai(%s)-%s", i, d.getName());
String name = TextUtil.concatNoSpace("Ai(", String.valueOf(i), ")-", d.getName());
sb.append(name);
RegisteredPlayer rp;
@@ -195,7 +196,7 @@ public class SimulateMatch {
for(String deck : params.get("d")) {
Deck d = deckFromCommandLineParameter(deck, rules.getGameType());
if (d == null) {
System.out.println(String.format("Could not load deck - %s, match cannot start", deck));
System.out.println(TextUtil.concatNoSpace("Could not load deck - ", deck, ", match cannot start"));
return;
}
@@ -220,7 +221,7 @@ public class SimulateMatch {
})) {
Deck d = DeckSerializer.fromFile(deck);
if (d == null) {
System.out.println(String.format("Could not load deck - %s, match cannot start", deck.getName()));
System.out.println(TextUtil.concatNoSpace("Could not load deck - ", deck.getName(), ", match cannot start"));
return;
}
deckGroup.addAiDeck(d);
@@ -251,16 +252,17 @@ public class SimulateMatch {
String lastWinner = "";
int curRound = 0;
System.out.println(String.format("Starting a %s tournament with %d players over %d rounds", tournament,
numPlayers, tourney.getTotalRounds()));
System.out.println(TextUtil.concatNoSpace("Starting a ", tournament, " tournament with ",
String.valueOf(numPlayers), " players over ",
String.valueOf(tourney.getTotalRounds()), " rounds"));
while(!tourney.isTournamentOver()) {
if (tourney.getActiveRound() != curRound) {
if (curRound != 0) {
System.out.println(String.format("End Round - %d", curRound));
System.out.println(TextUtil.concatNoSpace("End Round - ", String.valueOf(curRound)));
}
curRound = tourney.getActiveRound();
System.out.println("");
System.out.println(String.format("Round %d Pairings:", curRound));
System.out.println(TextUtil.concatNoSpace("Round ", String.valueOf(curRound) ," Pairings:"));
for(TournamentPairing pairing : tourney.getActivePairings()) {
System.out.println(pairing.outputHeader());
@@ -303,7 +305,7 @@ public class SimulateMatch {
if (winner.equals(tp.getPlayer())) {
pairing.setWinner(tp);
lastWinner = winner.getName();
System.out.println(String.format("Match Winner - %s!", lastWinner));
System.out.println(TextUtil.concatNoSpace("Match Winner - ", lastWinner, "!"));
System.out.println("");
break;
}

View File

@@ -36,6 +36,7 @@ import forge.screens.match.CMatchUI;
import forge.toolbox.CardFaceSymbols;
import forge.toolbox.FSkin.SkinnedPanel;
import forge.toolbox.IDisposable;
import forge.util.TextUtil;
import forge.view.arcane.util.OutlinedLabel;
import javax.swing.*;
@@ -682,13 +683,14 @@ public class CardPanel extends SkinnedPanel implements CardContainer, IDisposabl
final CardStateView state = card.getCurrentState();
String sPt = "";
if (state.isCreature() && state.isPlaneswalker()) {
sPt = String.format("%d/%d (%d)", state.getPower(), state.getToughness(), state.getLoyalty());
sPt = TextUtil.concatWithSpace(TextUtil.transformPT(state.getPower(), state.getToughness()),
TextUtil.enclosedParen( String.valueOf(state.getLoyalty())));
}
else if (state.isCreature()) {
sPt = String.format("%d/%d", state.getPower(), state.getToughness());
sPt = TextUtil.transformPT(state.getPower(), state.getToughness());
}
else if (state.getType().hasSubtype("Vehicle")) {
sPt = String.format("[%d/%d]", state.getPower(), state.getToughness());
sPt = TextUtil.enclosedBracket(TextUtil.transformPT(state.getPower(), state.getToughness()));
}
else if (state.isPlaneswalker()) {
sPt = String.valueOf(state.getLoyalty());

View File

@@ -39,6 +39,7 @@ import forge.toolbox.FLabel;
import forge.toolbox.FOptionPane;
import forge.toolbox.FScrollPane;
import forge.util.Callback;
import forge.util.TextUtil;
import forge.util.Utils;
import forge.util.WaitCallback;
@@ -419,7 +420,8 @@ public class VAssignDamage extends FDialog {
dt.label.setText(sb.toString());
}
lblTotalDamage.setText(String.format("Available damage points: %d (of %d)", damageLeft, totalDamageToAssign));
lblTotalDamage.setText(TextUtil.concatNoSpace("Available damage points: ",
String.valueOf(damageLeft), " (of ", String.valueOf(totalDamageToAssign), ")"));
setButtonEnabled(1, damageLeft == 0);
lblAssignRemaining.setVisible(allHaveLethal && damageLeft > 0);
}

View File

@@ -2,6 +2,7 @@ package forge.screens.match.winlose;
import java.util.List;
import forge.util.TextUtil;
import org.apache.commons.lang3.StringUtils;
import com.badlogic.gdx.Input.Keys;
@@ -127,9 +128,9 @@ public class ViewWinLose extends FOverlay implements IWinLoseView<FButton> {
if (winner == null) {
return "It's a draw!";
} else if (winningTeam != -1) {
return String.format("Team %d won!", Integer.valueOf(winningTeam));
return TextUtil.concatNoSpace("Team ", String.valueOf(winningTeam), " won!");
} else {
return String.format("%s won!", winner);
return TextUtil.concatNoSpace(winner, " won!");
}
}

View File

@@ -31,6 +31,7 @@ import forge.properties.ForgeConstants;
import forge.properties.ForgePreferences;
import forge.util.FileUtil;
import forge.util.ItemPool;
import forge.util.TextUtil;
import forge.util.gui.SGuiChoose;
import forge.util.gui.SOptionPane;
import forge.util.storage.IStorage;
@@ -375,7 +376,7 @@ public class BoosterDraft implements IBoosterDraft {
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= packs; i++) {
String choice = SGuiChoose.oneOrNone(String.format("Choose set for Pack %d of %d", i, packs), setz);
String choice = SGuiChoose.oneOrNone(TextUtil.concatNoSpace("Choose set for Pack ", String.valueOf(i), " of ", String.valueOf(packs)), setz);
if (choice == null) {
return null;
}
@@ -392,61 +393,61 @@ public class BoosterDraft implements IBoosterDraft {
final String[] sets = setz.toArray(ArrayUtils.EMPTY_STRING_ARRAY);
final List<String> setCombos = new ArrayList<>();
if (sets.length >= 2) {
setCombos.add(String.format("%s/%s/%s", sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[0], sets[0], sets[1]));
setCombos.add(String.format("%s/%s/%s", sets[0], sets[1], sets[1]));
setCombos.add(TextUtil.concatNoSpace(sets[0], "/", sets[0], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[0], "/", sets[0], "/", sets[1]));
setCombos.add(TextUtil.concatNoSpace(sets[0], "/", sets[1], "/", sets[1]));
if (sets.length >= 3) {
setCombos.add(String.format("%s/%s/%s", sets[0], sets[1], sets[2]));
setCombos.add(String.format("%s/%s/%s", sets[0], sets[2], sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[0], "/", sets[1], "/", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[0], "/", sets[2], "/", sets[2]));
}
setCombos.add(String.format("%s/%s/%s", sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[1], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[1], sets[1], sets[1]));
setCombos.add(TextUtil.concatNoSpace(sets[1], "/", sets[0], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], "/", sets[1], "/", sets[1]));
if (sets.length >= 3) {
setCombos.add(String.format("%s/%s/%s", sets[1], sets[1], sets[2]));
setCombos.add(String.format("%s/%s/%s", sets[1], sets[2], sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[1], "/", sets[1], "/", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[1], "/", sets[2], "/", sets[2]));
}
}
if (sets.length >= 3) {
setCombos.add(String.format("%s/%s/%s", sets[2], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[2], sets[2], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[2], sets[2], sets[1]));
setCombos.add(String.format("%s/%s/%s", sets[2], sets[2], sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[2], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], "/", sets[2], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], "/", sets[2], "/", sets[1]));
setCombos.add(TextUtil.concatNoSpace(sets[2], "/", sets[2], "/", sets[2]));
} // Beyond 3, skimp on the choice configurations, or the list will be enormous!
if (sets.length >= 4) {
setCombos.add(String.format("%s/%s/%s", sets[3], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[3], sets[2], sets[1]));
setCombos.add(TextUtil.concatNoSpace(sets[3], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], "/", sets[2], "/", sets[1]));
}
if (sets.length >= 5) {
setCombos.add(String.format("%s/%s/%s", sets[4], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[4], sets[3], sets[2]));
setCombos.add(String.format("%s/%s/%s", sets[4], sets[2], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], "/", sets[3], "/", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[4], "/", sets[2], "/", sets[0]));
}
if (sets.length >= 6) {
setCombos.add(String.format("%s/%s/%s", sets[5], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[5], sets[3], sets[2]));
setCombos.add(String.format("%s/%s/%s", sets[5], sets[4], sets[3]));
setCombos.add(String.format("%s/%s/%s", sets[5], sets[2], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[5], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[5], "/", sets[3], "/", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[5], "/", sets[4], "/", sets[3]));
setCombos.add(TextUtil.concatNoSpace(sets[5], "/", sets[2], "/", sets[0]));
}
if (sets.length >= 7) {
setCombos.add(String.format("%s/%s/%s", sets[6], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[6], sets[3], sets[2]));
setCombos.add(String.format("%s/%s/%s", sets[6], sets[5], sets[4]));
setCombos.add(String.format("%s/%s/%s", sets[6], sets[3], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[6], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[6], "/", sets[3], "/", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[6], "/", sets[5], "/", sets[4]));
setCombos.add(TextUtil.concatNoSpace(sets[6], "/", sets[3], "/", sets[0]));
}
if (sets.length >= 8) {
setCombos.add(String.format("%s/%s/%s", sets[7], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[7], sets[3], sets[2]));
setCombos.add(String.format("%s/%s/%s", sets[7], sets[5], sets[4]));
setCombos.add(String.format("%s/%s/%s", sets[7], sets[6], sets[5]));
setCombos.add(String.format("%s/%s/%s", sets[7], sets[3], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[7], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[7], "/", sets[3], "/", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[7], "/", sets[5], "/", sets[4]));
setCombos.add(TextUtil.concatNoSpace(sets[7], "/", sets[6], "/", sets[5]));
setCombos.add(TextUtil.concatNoSpace(sets[7], "/", sets[3], "/", sets[0]));
}
if (sets.length >= 9) {
setCombos.add(String.format("%s/%s/%s", sets[8], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[8], sets[3], sets[2]));
setCombos.add(String.format("%s/%s/%s", sets[8], sets[5], sets[4]));
setCombos.add(String.format("%s/%s/%s", sets[8], sets[7], sets[6]));
setCombos.add(String.format("%s/%s/%s", sets[8], sets[4], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[8], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[8], "/", sets[3], "/", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[8], "/", sets[5], "/", sets[4]));
setCombos.add(TextUtil.concatNoSpace(sets[8], "/", sets[7], "/", sets[6]));
setCombos.add(TextUtil.concatNoSpace(sets[8], "/", sets[4], "/", sets[0]));
}
return setCombos;
}

View File

@@ -280,146 +280,146 @@ public class SealedCardPoolGenerator {
if (nPacks == 3) {
if (sets.length >= 2) {
setCombos.add(String.format("%s, %s, %s", sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s", sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s", sets[1], sets[1], sets[0]));
setCombos.add(String.format("3 %s", sets[1]));
setCombos.add(TextUtil.concatNoSpace(sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], ", ", sets[1], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace("3 ", sets[1]));
}
if (sets.length >= 3) {
setCombos.add(String.format("%s, %s, %s", sets[2], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s", sets[0], sets[2], sets[0]));
setCombos.add(String.format("%s, %s, %s", sets[2], sets[2], sets[2]));
setCombos.add(String.format("%s, %s, %s", sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[0], ", ", sets[2], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[2], ", ", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[1], ", ", sets[0]));
}
}
else if (nPacks == 4) {
if (sets.length >= 2) {
setCombos.add(String.format("%s, %s, %s, %s", sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s", sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s", sets[1], sets[1], sets[0], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
}
if (sets.length >= 3) {
setCombos.add(String.format("%s, %s, %s, %s", sets[2], sets[2], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s", sets[2], sets[1], sets[0], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[2], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
}
if (sets.length >= 4) {
setCombos.add(String.format("%s, %s, %s, %s", sets[3], sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0]));
}
}
else if (nPacks == 5) {
if (sets.length == 1 || !sets[0].equals(sets[1]) ) {
setCombos.add(String.format("5 %s", sets[0]));
setCombos.add(TextUtil.concatNoSpace("5 ", sets[0]));
}
if (sets.length >= 2 && !sets[0].equals(sets[1])) {
setCombos.add(String.format("3 %s, 2 %s", sets[0], sets[1]));
setCombos.add(String.format("2 %s, 3 %s", sets[0], sets[1]));
setCombos.add(TextUtil.concatNoSpace("3 ", sets[0], ", 2 ", sets[1]));
setCombos.add(TextUtil.concatNoSpace("2 ", sets[0], ", 3 ", sets[1]));
}
if (sets.length >= 3 && !sets[0].equals(sets[2])) {
setCombos.add(String.format("3 %s, 2 %s", sets[0], sets[2]));
setCombos.add(String.format("3 %s, %s, %s", sets[0], sets[1], sets[2]));
setCombos.add(String.format("2 %s, 2 %s, %s", sets[0], sets[1], sets[2]));
setCombos.add(TextUtil.concatNoSpace("3 ", sets[0], ", 2 ", sets[2]));
setCombos.add(TextUtil.concatNoSpace("3 ", sets[0], ", ", sets[1], ", ", sets[2]));
setCombos.add(TextUtil.concatNoSpace("2 ", sets[0], ", 2 ", sets[1], ", ", sets[2]));
}
if (sets.length >= 4) {
if( sets[1].equals(sets[2]) && sets[1].equals(sets[0])) {
setCombos.add(String.format("%s, 4 %s", sets[3], sets[0])); // for guild sealed
setCombos.add(TextUtil.concatNoSpace(sets[3], ", 4 ", sets[0])); // for guild sealed
} else {
setCombos.add(String.format("%s, %s, %s, 2 %s", sets[3], sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[1], ", 2 ", sets[0]));
}
}
if (sets.length >= 5) {
setCombos.add(String.format("%s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0]));
}
}
else if (nPacks == 7 && (sets.length == 4 || sets.length >= 7)) {
// Sorry. This whole function is awful, it really needs to be rewritten to just generate permutations
if (sets.length >= 7) {
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[6], sets[5], sets[4], sets[3], sets[2], sets[1], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[5], sets[4], sets[3], sets[2], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[3], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[3], sets[2], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[2], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[2], sets[1], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[2], sets[2], sets[2], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[1], sets[1], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[0], sets[0], sets[0], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[6], ", ", sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[2], ", ", sets[2], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
} else if (sets.length == 4) {
if( sets[1].equals(sets[2]) && sets[1].equals(sets[0])) {
setCombos.add(String.format("%s, 6 %s", sets[3], sets[0])); // for origins sealed
setCombos.add(TextUtil.concatNoSpace(sets[3], ", 6 ", sets[0])); // for origins sealed
} else {
setCombos.add(String.format("%s, 2 %s, 2 %s, 2 %s", sets[3], sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", 2 ", sets[2], ", 2 ", sets[1], ", 2 ", sets[0]));
}
}
}
else if (nPacks == 8 && sets.length >= 8) {
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[7], sets[6], sets[5], sets[4], sets[3], sets[2], sets[1], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[6], sets[5], sets[4], sets[3], sets[2], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[5], sets[4], sets[3], sets[2], sets[1], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[5], sets[4], sets[3], sets[2], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[3], sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[3], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[3], sets[2], sets[1], sets[0], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[2], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[2], sets[2], sets[2], sets[2], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[1], sets[1], sets[1], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[0], sets[0], sets[0], sets[0], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[7], ", ", sets[6], ", ", sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[6], ", ", sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[2], ", ", sets[2], ", ", sets[2], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], ", ", sets[1], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
}
else if (nPacks == 9 && sets.length >= 9) {
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[8], sets[7], sets[6], sets[5], sets[4], sets[3], sets[2], sets[1], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[7], sets[6], sets[5], sets[4], sets[3], sets[2], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[6], sets[5], sets[4], sets[3], sets[2], sets[1], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[6], sets[5], sets[4], sets[3], sets[2], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[0], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[3], sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[3], sets[2], sets[2], sets[1], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, 2 %s, 5 %s", sets[3], sets[2], sets[1], sets[0]));
setCombos.add(String.format("3 %s, 3 %s, 3 %s", sets[2], sets[1], sets[0]));
setCombos.add(String.format("2 %s, 2 %s, 5 %s", sets[2], sets[1], sets[0]));
setCombos.add(String.format("%s, %s, 7 %s", sets[2], sets[1], sets[0]));
setCombos.add(String.format("4 %s, 5 %s", sets[2], sets[0]));
setCombos.add(String.format("4 %s, 5 %s", sets[1], sets[0]));
setCombos.add(String.format("9 %s", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[8], ", ", sets[7], ", ", sets[6], ", ", sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[7], ", ", sets[6], ", ", sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[6], ", ", sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[6], ", ", sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", 2 ", sets[1], ", 5 ", sets[0]));
setCombos.add(TextUtil.concatNoSpace("3 ", sets[2], ", 3 ", sets[1], ", 3 ", sets[0]));
setCombos.add(TextUtil.concatNoSpace("2 ", sets[2], ", 2 ", sets[1], ", 5 ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[1], ", 7 ", sets[0]));
setCombos.add(TextUtil.concatNoSpace("4 ", sets[2], ", 5 ", sets[0]));
setCombos.add(TextUtil.concatNoSpace("4 ", sets[1], ", 5 ", sets[0]));
setCombos.add(TextUtil.concatNoSpace("9 ", sets[0]));
}
else { // Default to 6 packs
if (sets.length == 1 || !sets[0].equals(sets[1]) ) {
setCombos.add(String.format("6 %s", sets[0]));
setCombos.add(TextUtil.concatNoSpace("6 ", sets[0]));
}
if (sets.length >= 2 && !sets[0].equals(sets[1])) {
setCombos.add(String.format("4 %s, 2 %s", sets[0], sets[1]));
setCombos.add(String.format("3 %s, 3 %s", sets[0], sets[1]));
setCombos.add(String.format("2 %s, 4 %s", sets[0], sets[1]));
setCombos.add(TextUtil.concatNoSpace("4 ", sets[0], ", 2 ", sets[1]));
setCombos.add(TextUtil.concatNoSpace("3 ", sets[0], ", 3 ", sets[1]));
setCombos.add(TextUtil.concatNoSpace("2 ", sets[0], ", 4 ", sets[1]));
}
if (sets.length >= 3 && !sets[0].equals(sets[2])) {
setCombos.add(String.format("3 %s, 3 %s", sets[0], sets[2]));
setCombos.add(String.format("2 %s, 2 %s, 2 %s", sets[0], sets[1], sets[2]));
setCombos.add(TextUtil.concatNoSpace("3 ", sets[0], ", 3 ", sets[2]));
setCombos.add(TextUtil.concatNoSpace("2 ", sets[0], ", 2 ", sets[1], ", 2 ", sets[2]));
}
if (sets.length >= 4) {
if ( sets[1].equals(sets[2]) && sets[1].equals(sets[0])) {
setCombos.add(String.format("%s, 5 %s", sets[3], sets[0])); // for guild sealed
setCombos.add(TextUtil.concatNoSpace(sets[3], ", 5 ", sets[0])); // for guild sealed
}
else {
setCombos.add(String.format("%s, %s, %s, 3 %s", sets[3], sets[2], sets[1], sets[0]));
setCombos.add(String.format("%s, %s, 2 %s, 2 %s", sets[3], sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[1], ", 3 ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", 2 ", sets[1], ", 2 ", sets[0]));
}
}
if (sets.length >= 5) {
setCombos.add(String.format("%s, %s, %s, %s, 2 %s", sets[4], sets[3], sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", 2 ", sets[0]));
}
if (sets.length >= 6) {
setCombos.add(String.format("%s, %s, %s, %s, %s, %s", sets[5], sets[4], sets[3], sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace( sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0]));
}
}
return setCombos;

View File

@@ -8,6 +8,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import forge.util.TextUtil;
import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.Lists;
@@ -305,16 +306,16 @@ public abstract class GameLobby implements IHasGameType {
for (final LobbySlot slot : activeSlots) {
if (!slot.isReady() && slot.getType() != LobbySlotType.OPEN) {
SOptionPane.showMessageDialog(String.format("Player %s is not ready", slot.getName()));
SOptionPane.showMessageDialog(TextUtil.concatNoSpace("Player ", slot.getName(), " is not ready"));
return null;
}
if (slot.getDeck() == null) {
SOptionPane.showMessageDialog(String.format("Please specify a deck for %s", slot.getName()));
SOptionPane.showMessageDialog(TextUtil.concatNoSpace("Please specify a deck for ", slot.getName()));
return null;
}
if (hasVariant(GameType.Commander) || hasVariant(GameType.TinyLeaders)) {
if (!slot.getDeck().has(DeckSection.Commander)) {
SOptionPane.showMessageDialog(String.format("%s doesn't have a commander", slot.getName()));
SOptionPane.showMessageDialog(TextUtil.concatNoSpace(slot.getName(), " doesn't have a commander"));
return null;
}
}

View File

@@ -8,6 +8,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import forge.util.TextUtil;
import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.ImmutableMap;
@@ -112,9 +113,9 @@ public class HostedMatch {
});
if (sortedPlayers.size() == 2) {
title = String.format("%s vs %s", sortedPlayers.get(0).getPlayer().getName(), sortedPlayers.get(1).getPlayer().getName());
title = TextUtil.concatNoSpace(sortedPlayers.get(0).getPlayer().getName(), " vs ", sortedPlayers.get(1).getPlayer().getName());
} else {
title = String.format("Multiplayer Game (%d players)", sortedPlayers.size());
title = TextUtil.concatNoSpace("Multiplayer Game (", String.valueOf(sortedPlayers.size()), " players)");
}
this.match = new Match(gameRules, sortedPlayers, title);
startGame();

View File

@@ -7,6 +7,7 @@ import java.util.List;
import java.util.Queue;
import forge.game.GameActionUtil;
import forge.util.TextUtil;
import org.apache.commons.lang3.StringUtils;
import forge.FThreads;
@@ -460,7 +461,7 @@ public abstract class InputPayMana extends InputSyncronizedBase {
@Override
public String toString() {
return String.format("PayManaBase %s left", manaCost.toString());
return TextUtil.concatNoSpace("PayManaBase ", manaCost.toString(), " left");
}
public boolean isPaid() { return bPaid; }

View File

@@ -6,6 +6,7 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import forge.util.TextUtil;
import org.apache.commons.lang3.tuple.ImmutablePair;
import forge.model.FModel;
@@ -51,7 +52,7 @@ public final class InputSelectCardsForConvokeOrImprovise extends InputSelectMany
sa != null ) {
sb.append(sa.getStackDescription()).append("\n");
}
sb.append(String.format("Choose %s to tap for %s .\nRemaining mana cost is %s", cardType, description, remainingCost.toString()));
sb.append(TextUtil.concatNoSpace("Choose ", cardType, " to tap for ", description, " .\nRemaining mana cost is ", remainingCost.toString()));
return sb.toString();
}
@@ -104,7 +105,7 @@ public final class InputSelectCardsForConvokeOrImprovise extends InputSelectMany
@Override
public String getActivateAction(final Card card) {
if (availableCards.contains(card)) {
return String.format("tap %s for %s", cardType, description);
return TextUtil.concatNoSpace("tap ", cardType, " for ", description);
}
return null;
}

View File

@@ -55,16 +55,18 @@ public final class InputSelectTargets extends InputSyncronizedBase {
// sb.append(sa.getStackDescription().replace("(Targeting ERROR)", "")).append("\n").append(tgt.getVTSelection());
// Apparently <b>...</b> tags do not work in mobile Forge, so don't include them (for now)
sb.append(sa.getHostCard().toString()).append(" - ");
sb.append(sa.toString()).append("\n\n").append(tgt.getVTSelection());
sb.append(sa.toString()).append("\n");
if(!ForgeConstants.isGdxPortLandscape)
sb.append("\n");
sb.append(tgt.getVTSelection());
} else {
sb.append(sa.getHostCard()).append(" - ").append(tgt.getVTSelection());
}
if (!targetDepth.entrySet().isEmpty()) {
sb.append("\nTargeted:");
sb.append("\nTargeted: ");
}
for (final Entry<GameEntity, Integer> o : targetDepth.entrySet()) {
//if it's not in gdx port landscape mode, append the linebreak or it will make the android port
// display smaller fonts consecutively when targeting with multiple targets
//if it's not in gdx port landscape mode, append the linebreak
if(!ForgeConstants.isGdxPortLandscape)
sb.append("\n");
sb.append(o.getKey());