diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index ae746befed3..a7065efe484 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -1565,10 +1565,9 @@ public class Card extends GameEntity implements Comparable { * @return a int. */ public final int sumAllCounters() { - final Object[] values = this.counters.values().toArray(); int count = 0; int num = 0; - for (final Object value2 : values) { + for (final Object value2 : this.counters.values()) { num = (Integer) value2; count += num; } diff --git a/src/main/java/forge/CardList.java b/src/main/java/forge/CardList.java index 946c6c48c30..73fff6e8bba 100644 --- a/src/main/java/forge/CardList.java +++ b/src/main/java/forge/CardList.java @@ -37,126 +37,10 @@ import forge.util.closures.Predicate; public class CardList extends ArrayList { private static final long serialVersionUID = 7912620750458976012L; - /** - *

- * Constructor for CardList. - *

- */ - public CardList() { - } - /** - *

- * Constructor for CardList. - *

- * - * @param c - * a {@link forge.Card} object. - */ - public CardList(final Card c) { - this.add(c); - } - - /** - *

- * toArray. - *

- * - * @return an array of {@link forge.Card} objects. - */ - @Override - public final Card[] toArray() { - final Card[] c = new Card[this.size()]; - this.toArray(c); - return c; - } - - /** - *

- * Constructor for CardList. - *

- * - * @param al - * a {@link java.util.ArrayList} object. - */ - public CardList(final Iterable al) { - for(Card c : al) - this.add(c); - } - - /** {@inheritDoc} */ - @Override - public final boolean equals(final Object a) { - if (a instanceof CardList) { - final CardList b = (CardList) a; - if (this.size() != b.size()) { - return false; - } - - for (int i = 0; i < this.size(); i++) { - if (!this.get(i).equals(b.get(i))) { - return false; - } - } - - return true; - } else { - return false; - } - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - return (41 * (41 + this.size() + this.hashCode())); - } - - /** - *

- * addAll. - *

- * - * @param c - * an array of {@link java.lang.Object} objects. - */ - public final void addAll(final Card[] c) { - for (final Object element : c) { - this.add((Card) element); - } - } - - - /** - *

- * removeAll. - *

- * - * @param c - * a {@link forge.Card} object. - */ - public final void removeAll(final Card c) { - final ArrayList cList = new ArrayList(); - cList.add(c); - this.removeAll(cList); - } - - /** - *

- * removeAll. - *

- * - * @param c - * a {@link forge.Card} object. - */ - public final void removeAll(final CardList list) { - for (Card c : list) { - this.remove(c); - } - } + public CardList() {} + public CardList(final Card c) { this.add(c); } + public CardList(final Iterable al) { for(Card c : al) this.add(c); } /** diff --git a/src/main/java/forge/CardUtil.java b/src/main/java/forge/CardUtil.java index d6b048d5957..f30937e2f85 100644 --- a/src/main/java/forge/CardUtil.java +++ b/src/main/java/forge/CardUtil.java @@ -84,6 +84,18 @@ public final class CardUtil { } } + public static T getRandom(final List o) { + if (o == null) { + throw new IllegalArgumentException("CardUtil : getRandom(T) recieved null instead of array."); + } + int len = o.size(); + switch(len) { + case 0: throw new IllegalArgumentException("CardUtil : getRandom(T) recieved an empty array."); + case 1: return o.get(0); + default: return o.get(CardUtil.RANDOM.nextInt(len)); + } + } + /** *

* getRandomIndex. diff --git a/src/main/java/forge/GameAction.java b/src/main/java/forge/GameAction.java index 66428eb0f62..c31e6061274 100644 --- a/src/main/java/forge/GameAction.java +++ b/src/main/java/forge/GameAction.java @@ -1332,7 +1332,7 @@ public class GameAction { crd = list.get(0); } else { if (c.getController().isHuman()) { - crd = GuiUtils.chooseOneOrNone("Select totem armor to destroy", list.toArray()); + crd = GuiUtils.chooseOneOrNone("Select totem armor to destroy", list); } else { crd = list.get(0); } @@ -1515,7 +1515,7 @@ public class GameAction { crd = list.get(0); } else { if (c.getController().isHuman()) { - crd = GuiUtils.chooseOneOrNone("Select totem armor to destroy", list.toArray()); + crd = GuiUtils.chooseOneOrNone("Select totem armor to destroy", list); } else { crd = list.get(0); } @@ -1579,7 +1579,7 @@ public class GameAction { } else if (choices.size() == 1) { choice = choices.get(0); } else { - choice = (String) GuiUtils.chooseOneOrNone("Choose", choices.toArray()); + choice = (String) GuiUtils.chooseOneOrNone("Choose", choices); } if (choice == null) { @@ -1617,7 +1617,7 @@ public class GameAction { } else if (choices.size() == 1) { sa = choices.get(0); } else { - sa = (SpellAbility) GuiUtils.chooseOneOrNone("Choose", choices.toArray()); + sa = (SpellAbility) GuiUtils.chooseOneOrNone("Choose", choices); } if (sa == null) { @@ -1789,7 +1789,7 @@ public class GameAction { Object tapForConvoke = null; if (sa.getActivatingPlayer().isHuman()) { tapForConvoke = GuiUtils.chooseOneOrNone("Tap for Convoke? " + newCost.toString(), - choices.toArray()); + choices); } else { // TODO: AI to choose a creature to tap would go here // Probably along with deciding how many creatures to @@ -1804,7 +1804,7 @@ public class GameAction { if (usableColors.size() > 1) { if (sa.getActivatingPlayer().isHuman()) { chosenColor = (String) GuiUtils.chooseOne("Convoke for which color?", - usableColors.toArray()); + usableColors); } else { // TODO: AI for choosing which color to // convoke goes here. @@ -1831,8 +1831,7 @@ public class GameAction { } if (sa.getActivatingPlayer().isHuman()) { - tapForConvoke = GuiUtils.chooseOneOrNone("Tap for Convoke? " + newCost.toString(), - choices.toArray()); + tapForConvoke = GuiUtils.chooseOneOrNone("Tap for Convoke? " + newCost.toString(), choices); } else { // TODO: AI to choose a creature to tap would go // here @@ -1923,12 +1922,12 @@ public class GameAction { } String choice; - if (choices.size() == 0) { + if (choices.isEmpty()) { return null; } else if (choices.size() == 1) { choice = choices.get(0); } else { - choice = (String) GuiUtils.chooseOneOrNone("Choose", choices.toArray()); + choice = (String) GuiUtils.chooseOneOrNone("Choose", choices); } final SpellAbility ability = map.get(choice); diff --git a/src/main/java/forge/GameActionUtil.java b/src/main/java/forge/GameActionUtil.java index fd263d2162d..a0cbf6d0303 100644 --- a/src/main/java/forge/GameActionUtil.java +++ b/src/main/java/forge/GameActionUtil.java @@ -153,7 +153,7 @@ public final class GameActionUtil { } } // while - GuiUtils.chooseOneOrNone("Revealed cards:", revealed.toArray()); + GuiUtils.chooseOneOrNone("Revealed cards:", revealed); if (cascadedCard != null) { @@ -285,7 +285,7 @@ public final class GameActionUtil { rippledCards[i] = crd; } } // for - GuiUtils.chooseOneOrNone("Revealed cards:", revealed.toArray()); + GuiUtils.chooseOneOrNone("Revealed cards:", revealed); for (int i = 0; i < rippleMax; i++) { if (rippledCards[i] != null) { diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java index 882387ed2f7..2e51fc13bd7 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java @@ -964,13 +964,13 @@ public final class AbilityFactoryChangeZone { // choosing // a card{ GuiUtils.chooseOneOrNone(sa.getSourceCard().getName() + " - Looking at Library", - player.getCardsIn(ZoneType.Library).toArray()); + player.getCardsIn(ZoneType.Library)); } // Look at opponents hand before moving onto choosing a card if (origin.contains(ZoneType.Hand) && player.isComputer()) { GuiUtils.chooseOneOrNone(sa.getSourceCard().getName() + " - Looking at Opponent's Hand", player - .getCardsIn(ZoneType.Hand).toArray()); + .getCardsIn(ZoneType.Hand)); } fetchList = AbilityFactory.filterListByType(fetchList, params.get("ChangeType"), sa); } @@ -990,7 +990,7 @@ public final class AbilityFactoryChangeZone { Object o; if (params.containsKey("AtRandom")) { - o = CardUtil.getRandom(fetchList.toArray()); + o = CardUtil.getRandom(fetchList); } else if (params.containsKey("Mandatory")) { o = GuiUtils.chooseOne("Select a card", fetchList); } else if (params.containsKey("Defined")) { @@ -1159,7 +1159,7 @@ public final class AbilityFactoryChangeZone { // Improve the AI for fetching. Card c = null; if (params.containsKey("AtRandom")) { - c = CardUtil.getRandom(fetchList.toArray()); + c = CardUtil.getRandom(fetchList); } else if (defined) { c = fetchList.get(0); } else { diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java index 6b61d5b5711..f5369581252 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java @@ -1967,7 +1967,7 @@ public final class AbilityFactoryChoose { for (int i = 0; i < validAmount; i++) { if (p.isHuman()) { final String choiceTitle = params.containsKey("ChoiceTitle") ? params.get("ChoiceTitle") : "Choose a card "; - final Object o = GuiUtils.chooseOneOrNone(choiceTitle, choices.toArray()); + final Card o = GuiUtils.chooseOneOrNone(choiceTitle, choices); if (o != null) { chosen.add((Card) o); choices.remove((Card) o); diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java index 7386de14ff1..e16a5b206ca 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java @@ -766,7 +766,7 @@ public final class AbilityFactoryClash { // first, separate the cards into piles if (separator.isHuman()) { - final List firstPile = GuiUtils.getOrderChoices("Place into two piles", "Pile 1", -1, (Object[])pool.toArray(), null); + final List firstPile = GuiUtils.getOrderChoices("Place into two piles", "Pile 1", -1, pool.toArray(), null); for (final Object o : firstPile) { pile1.add((Card)o); } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java index 109ceeb2d6f..d877bb86992 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java @@ -1215,7 +1215,7 @@ public class AbilityFactoryCounters { else { // TODO: ArsenalNut (06 Feb 12) - computer needs better logic to pick a counter type and probably an initial target // find first nonzero counter on target - for (Object key : tgtCounters.keySet().toArray()) { + for (Object key : tgtCounters.keySet()) { if (tgtCounters.get(key) > 0) { chosenType = (Counters) key; break; @@ -1244,7 +1244,7 @@ public class AbilityFactoryCounters { choices.add("" + i); } final String prompt = "Select the number of " + type + " counters to remove"; - final Object o = GuiUtils.chooseOne(prompt, choices.toArray()); + final String o = GuiUtils.chooseOne(prompt, choices); counterAmount = Integer.parseInt((String) o); } } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryMana.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryMana.java index 2c75d7c7774..57e161edd32 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryMana.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryMana.java @@ -924,7 +924,7 @@ public class AbilityFactoryMana { baseMana = InputPayManaCostUtil.getShortColorString(colors.get(0)); } else { if (player.isHuman()) { - final Object o = GuiUtils.chooseOneOrNone("Select Mana to Produce", colors.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Select Mana to Produce", colors); if (o == null) { // User hit cancel abMana.setCanceled(true); diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPlay.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPlay.java index dee9ed5048a..628ac0b2bc2 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPlay.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPlay.java @@ -466,7 +466,7 @@ public final class AbilityFactoryPlay { if (sas.size() == 1) { tgtSA = sas.get(0); } else if (sa.getActivatingPlayer().isHuman()) { - tgtSA = (SpellAbility) GuiUtils.chooseOne("Select a spell to cast", sas.toArray()); + tgtSA = GuiUtils.chooseOne("Select a spell to cast", sas); } else { tgtSA = sas.get(0); } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java index 04512482e33..f7ac96cad15 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java @@ -625,7 +625,7 @@ public final class AbilityFactoryReveal { if (libraryPosition2 == -1) { prompt = "Put the rest on the bottom of the library in any order"; } - chosen = GuiUtils.chooseOne(prompt, rest.toArray()); + chosen = GuiUtils.chooseOne(prompt, rest); } else { chosen = rest.get(0); } @@ -1046,7 +1046,7 @@ public final class AbilityFactoryReveal { } if (revealed.size() > 0) { - GuiUtils.chooseOne(p + " revealed: ", revealed.toArray()); + GuiUtils.chooseOne(p + " revealed: ", revealed); } // TODO Allow Human to choose the order @@ -1424,7 +1424,7 @@ public final class AbilityFactoryReveal { final CardList hand = p.getCardsIn(ZoneType.Hand); if (sa.getActivatingPlayer().isHuman()) { if (hand.size() > 0) { - GuiUtils.chooseOne(p + "'s hand", hand.toArray()); + GuiUtils.chooseOne(p + "'s hand", hand); } else { final StringBuilder sb = new StringBuilder(); sb.append(p).append("'s hand is empty!"); @@ -2050,7 +2050,7 @@ public final class AbilityFactoryReveal { topCards.add(lib.get(j)); } - List orderedCards = GuiUtils.getOrderChoices("Select order to Rearrange", "Top of Library", 0, (Object[]) topCards.toArray(), null); + List orderedCards = GuiUtils.getOrderChoices("Select order to Rearrange", "Top of Library", 0, topCards.toArray(), null); for (int i = maxCards - 1; i >= 0; i--) { Card next = (Card) orderedCards.get(i); Singletons.getModel().getGameAction().moveToLibrary(next, 0); @@ -2372,8 +2372,8 @@ public final class AbilityFactoryReveal { if (handChoices.size() > 0) { final CardList revealed = new CardList(); if (params.containsKey("Random")) { - revealed.add(CardUtil.getRandom(handChoices.toArray())); - GuiUtils.chooseOneOrNone("Revealed card(s)", revealed.toArray()); + revealed.add(CardUtil.getRandom(handChoices)); + GuiUtils.chooseOneOrNone("Revealed card(s)", revealed); } else { CardList valid = new CardList(handChoices); int max = 1; @@ -2385,7 +2385,7 @@ public final class AbilityFactoryReveal { } revealed.addAll(AbilityFactoryReveal.getRevealedList(sa.getActivatingPlayer(), valid, max, anyNumber)); if (sa.getActivatingPlayer().isComputer()) { - GuiUtils.chooseOneOrNone("Revealed card(s)", revealed.toArray()); + GuiUtils.chooseOneOrNone("Revealed card(s)", revealed); } } @@ -2414,7 +2414,7 @@ public final class AbilityFactoryReveal { final int validamount = Math.min(valid.size(), max); if (anyNumber && player.isHuman() && validamount > 0) { - final List selection = GuiUtils.getOrderChoices("Choose Which Cards to Reveal", "Revealed", -1, (Object[]) valid.toArray(), null); + final List selection = GuiUtils.getOrderChoices("Choose Which Cards to Reveal", "Revealed", -1, valid.toArray(), null); for (final Object o : selection) { if (o != null && o instanceof Card) { chosen.add((Card) o); diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactorySacrifice.java b/src/main/java/forge/card/abilityfactory/AbilityFactorySacrifice.java index 462da3bd4d8..94b3a139ae3 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactorySacrifice.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactorySacrifice.java @@ -566,9 +566,9 @@ public class AbilityFactorySacrifice { } Object o; if (optional) { - o = GuiUtils.chooseOneOrNone("Select a card to sacrifice", list.toArray()); + o = GuiUtils.chooseOneOrNone("Select a card to sacrifice", list); } else { - o = GuiUtils.chooseOne("Select a card to sacrifice", list.toArray()); + o = GuiUtils.chooseOne("Select a card to sacrifice", list); } if (o != null) { final Card c = (Card) o; @@ -613,7 +613,7 @@ public class AbilityFactorySacrifice { CardList battlefield = p.getCardsIn(ZoneType.Battlefield); CardList list = AbilityFactory.filterListByType(battlefield, valid, sa); if (list.size() != 0) { - final Card sac = CardUtil.getRandom(list.toArray()); + final Card sac = CardUtil.getRandom(list); if (destroy) { if (Singletons.getModel().getGameAction().destroy(sac)) { sacList.add(sac); diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java index 989f7c87e69..e04916bf641 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java @@ -1334,7 +1334,7 @@ public class AbilityFactoryZoneAffecting { if (p.isHuman()) { // "reveal to computer" for information gathering } else { - GuiUtils.chooseOneOrNone("Revealed computer hand", dPHand.toArray()); + GuiUtils.chooseOneOrNone("Revealed computer hand", dPHand); } String valid = params.get("DiscardValid"); @@ -1381,7 +1381,7 @@ public class AbilityFactoryZoneAffecting { if (p.isComputer()) { // discard AI cards CardList list = ComputerUtil.discardNumTypeAI(numCards, dValid, sa); if (mode.startsWith("Reveal")) { - GuiUtils.chooseOneOrNone("Computer has chosen", list.toArray()); + GuiUtils.chooseOneOrNone("Computer has chosen", list); } discarded.addAll(list); for (Card card : list) { @@ -1414,7 +1414,7 @@ public class AbilityFactoryZoneAffecting { if (mode.startsWith("Reveal")) { final CardList dCs = new CardList(); dCs.add(dC); - GuiUtils.chooseOneOrNone("Computer has chosen", dCs.toArray()); + GuiUtils.chooseOneOrNone("Computer has chosen", dCs); } discarded.add(dC); p.discard(dC, sa); @@ -1423,7 +1423,7 @@ public class AbilityFactoryZoneAffecting { } else { // human if (mode.startsWith("Reveal")) { - GuiUtils.chooseOneOrNone("Revealed " + p + " hand", dPHand.toArray()); + GuiUtils.chooseOneOrNone("Revealed " + p + " hand", dPHand); } for (int i = 0; i < numCards; i++) { diff --git a/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java b/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java index 74c1cdcd184..9590f776c1c 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java @@ -281,7 +281,7 @@ class CardFactoryArtifacts { } } } // while - GuiUtils.chooseOneOrNone("Revealed cards:", revealed.toArray()); + GuiUtils.chooseOneOrNone("Revealed cards:", revealed); for (final Card revealedCard : revealed) { Singletons.getModel().getGameAction().moveToBottomOfLibrary(revealedCard); } @@ -370,7 +370,7 @@ class CardFactoryArtifacts { if (i == 4) { title = "Put fourth from top of library: "; } - final Object o = GuiUtils.chooseOneOrNone(title, lands.toArray()); + final Object o = GuiUtils.chooseOneOrNone(title, lands); if (o == null) { break; } diff --git a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java index 7c119c2bfc3..cee93a01d14 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java @@ -506,7 +506,7 @@ public class CardFactoryCreatures { final CardList cl = new CardList(); cl.add(lib.get(0)); - GuiUtils.chooseOneOrNone("Top card", cl.toArray()); + GuiUtils.chooseOneOrNone("Top card", cl); } @Override @@ -1000,8 +1000,7 @@ public class CardFactoryCreatures { if (card.getController().isHuman()) { if (creats.size() > 0) { - final List selection = GuiUtils.chooseNoneOrMany("Select creatures to sacrifice", - creats.toArray()); + final List selection = GuiUtils.chooseNoneOrMany("Select creatures to sacrifice", creats); numCreatures[0] = selection.size(); for (int m = 0; m < selection.size(); m++) { @@ -1345,7 +1344,7 @@ public class CardFactoryCreatures { final CardList revealed = new CardList(); for (int i = 0; i < numCards; i++) { - final Card random = CardUtil.getRandom(hand.toArray()); + final Card random = CardUtil.getRandom(hand); revealed.add(random); hand.remove(random); } diff --git a/src/main/java/forge/card/cardfactory/CardFactoryInstants.java b/src/main/java/forge/card/cardfactory/CardFactoryInstants.java index 3c37a94ee6d..930e2d22a0e 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryInstants.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryInstants.java @@ -125,7 +125,7 @@ public class CardFactoryInstants { final CardList libraryList = AllZone.getHumanPlayer().getCardsIn(ZoneType.Library); final CardList selectedCards = new CardList(); - Object o = GuiUtils.chooseOneOrNone("Select first card", libraryList.toArray()); + Object o = GuiUtils.chooseOneOrNone("Select first card", libraryList); if (o != null) { final Card c1 = (Card) o; libraryList.remove(c1); @@ -133,7 +133,7 @@ public class CardFactoryInstants { } else { return; } - o = GuiUtils.chooseOneOrNone("Select second card", libraryList.toArray()); + o = GuiUtils.chooseOneOrNone("Select second card", libraryList); if (o != null) { final Card c2 = (Card) o; libraryList.remove(c2); @@ -141,7 +141,7 @@ public class CardFactoryInstants { } else { return; } - o = GuiUtils.chooseOneOrNone("Select third card", libraryList.toArray()); + o = GuiUtils.chooseOneOrNone("Select third card", libraryList); if (o != null) { final Card c3 = (Card) o; libraryList.remove(c3); diff --git a/src/main/java/forge/card/cardfactory/CardFactorySorceries.java b/src/main/java/forge/card/cardfactory/CardFactorySorceries.java index 29e28ebc952..17582fa427f 100644 --- a/src/main/java/forge/card/cardfactory/CardFactorySorceries.java +++ b/src/main/java/forge/card/cardfactory/CardFactorySorceries.java @@ -196,7 +196,7 @@ public class CardFactorySorceries { pile1.add(biggest); cards.remove(biggest); if (cards.size() > 2) { - final Card random = CardUtil.getRandom(cards.toArray()); + final Card random = CardUtil.getRandom(cards); pile1.add(random); } for (int i = 0; i < count; i++) { @@ -229,8 +229,7 @@ public class CardFactorySorceries { final int numChosen = chosen.size(); for (int i = 0; i < numChosen; i++) { - final Object check = GuiUtils.chooseOneOrNone("Select spells to play in reverse order: ", - chosen.toArray()); + final Card check = GuiUtils.chooseOneOrNone("Select spells to play in reverse order: ", chosen); if (check == null) { break; } @@ -1161,7 +1160,7 @@ public class CardFactorySorceries { final int num = CardFactoryUtil.getNumberOfManaSymbolsByColor("U", topCards); final StringBuilder sb = new StringBuilder(); sb.append("Revealed cards - ").append(num).append(" U mana symbols"); - GuiUtils.chooseOneOrNone(sb.toString(), topCards.toArray()); + GuiUtils.chooseOneOrNone(sb.toString(), topCards); // opponent moves this many cards to graveyard opp.mill(num); @@ -1413,8 +1412,7 @@ public class CardFactorySorceries { } }); - final Object check = GuiUtils.chooseOneOrNone("Select target creature with CMC < X", - grave.toArray()); + final Card check = GuiUtils.chooseOneOrNone("Select target creature with CMC < X", grave); if (check != null) { final Card c = (Card) check; if (c.canBeTargetedBy(spell)) { @@ -1584,14 +1582,14 @@ public class CardFactorySorceries { private ArrayList chooseTwo(final ArrayList choices) { final ArrayList out = new ArrayList(); - Object o = GuiUtils.chooseOneOrNone("Choose Two", choices.toArray()); + Object o = GuiUtils.chooseOneOrNone("Choose Two", choices); if (o == null) { return null; } out.add((String) o); choices.remove(out.get(0)); - o = GuiUtils.chooseOneOrNone("Choose Two", choices.toArray()); + o = GuiUtils.chooseOneOrNone("Choose Two", choices); if (o == null) { return null; } @@ -1637,7 +1635,7 @@ public class CardFactorySorceries { // Sacrifice an artifact CardList arts = p.getCardsIn(ZoneType.Battlefield); arts = arts.filter(Presets.ARTIFACTS); - final Object toSac = GuiUtils.chooseOneOrNone("Sacrifice an artifact", arts.toArray()); + final Object toSac = GuiUtils.chooseOneOrNone("Sacrifice an artifact", arts); if (toSac != null) { final Card c = (Card) toSac; baseCMC = CardUtil.getConvertedManaCost(c); @@ -1648,9 +1646,9 @@ public class CardFactorySorceries { // Search your library for an artifact final CardList lib = p.getCardsIn(ZoneType.Library); - GuiUtils.chooseOneOrNone("Looking at Library", lib.toArray()); + GuiUtils.chooseOneOrNone("Looking at Library", lib); final CardList libArts = lib.filter(Presets.ARTIFACTS); - final Object o = GuiUtils.chooseOneOrNone("Search for artifact", libArts.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Search for artifact", libArts); if (o != null) { newArtifact[0] = (Card) o; } else { diff --git a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java index aa500e481f9..0f736e78280 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java @@ -1119,7 +1119,7 @@ public class CardFactoryUtil { return; } - final Object o = GuiUtils.chooseOneOrNone("Select a card", sameCost.toArray()); + final Card o = GuiUtils.chooseOneOrNone("Select a card", sameCost); if (o != null) { // ability.setTargetCard((Card)o); @@ -1327,7 +1327,7 @@ public class CardFactoryUtil { question.append(manacost).append(" or less from your graveyard to your hand?"); if (GameActionUtil.showYesNoDialog(sourceCard, question.toString())) { - final Object o = GuiUtils.chooseOneOrNone("Select a card", sameCost.toArray()); + final Card o = GuiUtils.chooseOneOrNone("Select a card", sameCost); if (o != null) { final Card c1 = (Card) o; @@ -5063,7 +5063,7 @@ public class CardFactoryUtil { card.clearDevoured(); if (card.getController().isHuman()) { if (creats.size() > 0) { - final List selection = GuiUtils.getOrderChoices("Devour", "Devouring", -1, (Object[]) creats.toArray(), null); + final List selection = GuiUtils.getOrderChoices("Devour", "Devouring", -1, creats.toArray(), null); numCreatures[0] = selection.size(); for (Object o : selection) { diff --git a/src/main/java/forge/card/cost/CostExile.java b/src/main/java/forge/card/cost/CostExile.java index ad7de0928f1..d33b5bfadd8 100644 --- a/src/main/java/forge/card/cost/CostExile.java +++ b/src/main/java/forge/card/cost/CostExile.java @@ -325,8 +325,8 @@ public class CostExile extends CostPartWithList { this.cancel(); } - final Object o = GuiUtils - .chooseOneOrNone("Exile from " + part.getFrom(), this.typeList.toArray()); + final Card o = GuiUtils + .chooseOneOrNone("Exile from " + part.getFrom(), this.typeList); if (o != null) { final Card c = (Card) o; diff --git a/src/main/java/forge/card/cost/CostRemoveCounter.java b/src/main/java/forge/card/cost/CostRemoveCounter.java index 934de7d1009..cfe15e6dbda 100644 --- a/src/main/java/forge/card/cost/CostRemoveCounter.java +++ b/src/main/java/forge/card/cost/CostRemoveCounter.java @@ -418,8 +418,8 @@ public class CostRemoveCounter extends CostPartWithList { this.cancel(); } - final Object o = GuiUtils - .chooseOneOrNone("Remove counter(s) from a card in " + costRemoveCounter.getZone(), this.typeList.toArray()); + final Card o = GuiUtils + .chooseOneOrNone("Remove counter(s) from a card in " + costRemoveCounter.getZone(), this.typeList); if (o != null) { final Card card = (Card) o; diff --git a/src/main/java/forge/card/cost/CostReveal.java b/src/main/java/forge/card/cost/CostReveal.java index dc42c3b0948..b52b96516c7 100644 --- a/src/main/java/forge/card/cost/CostReveal.java +++ b/src/main/java/forge/card/cost/CostReveal.java @@ -129,7 +129,7 @@ public class CostReveal extends CostPartWithList { */ @Override public final void payAI(final SpellAbility ability, final Card source, final CostPayment payment) { - GuiUtils.chooseOneOrNone("Revealed cards:", this.getList().toArray()); + GuiUtils.chooseOneOrNone("Revealed cards:", this.getList()); } /* diff --git a/src/main/java/forge/card/mana/ManaPool.java b/src/main/java/forge/card/mana/ManaPool.java index d9e9bca2343..53a0ad69302 100644 --- a/src/main/java/forge/card/mana/ManaPool.java +++ b/src/main/java/forge/card/mana/ManaPool.java @@ -331,7 +331,7 @@ public class ManaPool { Object o; if (this.owner.isHuman()) { - o = GuiUtils.chooseOneOrNone("Pay Mana from Mana Pool", alChoice.toArray()); + o = GuiUtils.chooseOneOrNone("Pay Mana from Mana Pool", alChoice); } else { o = alChoice.get(0); // owner is computer } diff --git a/src/main/java/forge/card/replacement/ReplacementHandler.java b/src/main/java/forge/card/replacement/ReplacementHandler.java index 98ea455e684..065c31a9f21 100644 --- a/src/main/java/forge/card/replacement/ReplacementHandler.java +++ b/src/main/java/forge/card/replacement/ReplacementHandler.java @@ -127,8 +127,8 @@ public class ReplacementHandler { if (possibleReplacers.size() > 1) { if (decider.isHuman()) { - chosenRE = (ReplacementEffect) GuiUtils.chooseOne("Choose which replacement effect to apply.", - possibleReplacers.toArray()); + chosenRE = GuiUtils.chooseOne("Choose which replacement effect to apply.", + possibleReplacers); } else { // AI logic for choosing which replacement effect to apply // happens here. diff --git a/src/main/java/forge/card/spellability/AbilityTriggered.java b/src/main/java/forge/card/spellability/AbilityTriggered.java index 056573d3580..9078e54d0b9 100644 --- a/src/main/java/forge/card/spellability/AbilityTriggered.java +++ b/src/main/java/forge/card/spellability/AbilityTriggered.java @@ -21,7 +21,6 @@ import java.util.Arrays; import forge.Card; import forge.CardCharacteristicName; -import forge.CardList; import forge.Command; import forge.card.CardCharacteristics; import forge.card.trigger.ZCTrigger; @@ -133,7 +132,7 @@ public class AbilityTriggered extends Ability implements Command { * @return a boolean. */ public final boolean triggerFor(final Card c) { - return !(new CardList(c)).getValidCards(this.restrictions, c.getController(), c).isEmpty(); + return c != null && c.isValid(this.restrictions, c.getController(), c); } /** diff --git a/src/main/java/forge/card/spellability/TargetSelection.java b/src/main/java/forge/card/spellability/TargetSelection.java index a949b715475..b991f237f54 100644 --- a/src/main/java/forge/card/spellability/TargetSelection.java +++ b/src/main/java/forge/card/spellability/TargetSelection.java @@ -527,7 +527,7 @@ public class TargetSelection { choicesWithDone.add(dummy); } - final Object check = GuiUtils.chooseOneOrNone(message, choicesWithDone.toArray()); + final Card check = GuiUtils.chooseOneOrNone(message, choicesWithDone); if (check != null) { final Card c = (Card) check; if (!c.equals(divBattlefield) && !c.equals(divExile) && !c.equals(divGrave) diff --git a/src/main/java/forge/deck/io/DeckSerializer.java b/src/main/java/forge/deck/io/DeckSerializer.java index 359ea6d696f..2e1db5adc23 100644 --- a/src/main/java/forge/deck/io/DeckSerializer.java +++ b/src/main/java/forge/deck/io/DeckSerializer.java @@ -141,7 +141,7 @@ public class DeckSerializer extends StorageReaderFolder implements IItemSe final Map root = new HashMap(); root.put("title", d.getName()); final List list = new ArrayList(); - for (final Card card : d.getMain().toForgeCardList().toArray()) { + for (final Card card : d.getMain().toForgeCardList()) { // System.out.println(card.getSets().get(card.getSets().size() - // 1).URL); list.add(card.getSets().get(card.getSets().size() - 1).getUrl()); diff --git a/src/main/java/forge/game/GameNew.java b/src/main/java/forge/game/GameNew.java index b9f7b10b970..bb13fe84b64 100644 --- a/src/main/java/forge/game/GameNew.java +++ b/src/main/java/forge/game/GameNew.java @@ -1,7 +1,6 @@ package forge.game; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Map.Entry; import java.util.Random; @@ -272,9 +271,9 @@ public class GameNew { final CardList lib = p.getCardsIn(ZoneType.Library); Card ante; if ((lib.size() > 0) && (lib.getNotType("Basic").size() > 1)) { - ante = CardUtil.getRandom(lib.toArray()); + ante = CardUtil.getRandom(lib); while (ante.isBasicLand()) { - ante = CardUtil.getRandom(lib.toArray()); + ante = CardUtil.getRandom(lib); } } else if (lib.size() > 1) { ante = lib.get(0); @@ -412,7 +411,7 @@ public class GameNew { System.out.println(library.get(i)); } - return Arrays.asList(library.toArray()); + return library; } // smoothComputerManaCurve() // decides who goes first when starting another game, used by newGame() diff --git a/src/main/java/forge/game/limited/BoosterDraft.java b/src/main/java/forge/game/limited/BoosterDraft.java index f4ca955f1ff..34e35318c94 100644 --- a/src/main/java/forge/game/limited/BoosterDraft.java +++ b/src/main/java/forge/game/limited/BoosterDraft.java @@ -144,7 +144,7 @@ public final class BoosterDraft implements IBoosterDraft { .showMessageDialog(null, "No custom draft files found.", "", JOptionPane.INFORMATION_MESSAGE); } else { final CustomLimited draft = (CustomLimited) GuiUtils.chooseOne("Choose Custom Draft", - myDrafts.toArray()); + myDrafts); this.setupCustomDraft(draft); } break; diff --git a/src/main/java/forge/game/phase/CombatUtil.java b/src/main/java/forge/game/phase/CombatUtil.java index ede72a02368..aacbaeec217 100644 --- a/src/main/java/forge/game/phase/CombatUtil.java +++ b/src/main/java/forge/game/phase/CombatUtil.java @@ -439,7 +439,7 @@ public class CombatUtil { CardList orderedBlockers = null; if (player.isHuman()) { - List ordered = GuiUtils.getOrderChoices("Choose Blocking Order", "Damaged First", 0, (Object[])blockers.toArray(), null); + List ordered = GuiUtils.getOrderChoices("Choose Blocking Order", "Damaged First", 0, blockers.toArray(), null); orderedBlockers = new CardList(); for(Object o : ordered) { @@ -467,7 +467,7 @@ public class CombatUtil { CardList orderedAttacker = null; if (player.isHuman()) { - List ordered = GuiUtils.getOrderChoices("Choose Blocking Order", "Damaged First", 0, (Object[])attackers.toArray(), null); + List ordered = GuiUtils.getOrderChoices("Choose Blocking Order", "Damaged First", 0, attackers.toArray(), null); orderedAttacker = new CardList(); for(Object o : ordered) { @@ -2531,7 +2531,7 @@ public class CombatUtil { public static String getCombatBlockForLog() { final StringBuilder sb = new StringBuilder(); - Card[] defend = null; + CardList defend = null; // Loop through Defenders // Append Defending Player/Planeswalker @@ -2546,9 +2546,9 @@ public class CombatUtil { for (final Card attacker : list) { sb.append(combat.getDefendingPlayer()).append(" assigned "); - defend = AllZone.getCombat().getBlockers(attacker).toArray(); + defend = AllZone.getCombat().getBlockers(attacker); - if (defend.length > 0) { + if (!defend.isEmpty()) { // loop through blockers for (final Card blocker : defend) { sb.append(blocker).append(" "); @@ -2833,7 +2833,7 @@ public class CombatUtil { if (lib.size() > 0) { final CardList cl = new CardList(); cl.add(lib.get(0)); - GuiUtils.chooseOneOrNone("Top card", cl.toArray()); + GuiUtils.chooseOneOrNone("Top card", cl); final Card top = lib.get(0); if (top.isCreature()) { player.gainLife(top.getBaseDefense(), c); diff --git a/src/main/java/forge/game/phase/Upkeep.java b/src/main/java/forge/game/phase/Upkeep.java index c6bece2dc4b..060e0bc94fd 100644 --- a/src/main/java/forge/game/phase/Upkeep.java +++ b/src/main/java/forge/game/phase/Upkeep.java @@ -2028,8 +2028,7 @@ public class Upkeep extends Phase implements java.io.Serializable { if (AllZoneUtil.compareTypeAmountInGraveyard(player, "Creature") > 0) { if (player.isHuman()) { - final Object o = GuiUtils.chooseOneOrNone("Pick a creature to return to hand", - graveyardCreatures.toArray()); + final Card o = GuiUtils.chooseOneOrNone("Pick a creature to return to hand", graveyardCreatures); if (o != null) { final Card card = (Card) o; diff --git a/src/main/java/forge/game/player/ComputerUtil.java b/src/main/java/forge/game/player/ComputerUtil.java index dd3b655fb72..61ecece8761 100644 --- a/src/main/java/forge/game/player/ComputerUtil.java +++ b/src/main/java/forge/game/player/ComputerUtil.java @@ -174,7 +174,7 @@ public class ComputerUtil { if (pay.payComputerCosts()) { AllZone.getStack().addAndUnfreeze(sa); if (sa.getSplicedCards() != null && !sa.getSplicedCards().isEmpty()) { - GuiUtils.chooseOneOrNone("Computer reveals spliced cards:", sa.getSplicedCards().toArray()); + GuiUtils.chooseOneOrNone("Computer reveals spliced cards:", sa.getSplicedCards()); } return true; // TODO: solve problems with TapsForMana triggers by adding diff --git a/src/main/java/forge/game/player/ComputerUtilBlock.java b/src/main/java/forge/game/player/ComputerUtilBlock.java index 902349a35d1..38a440fc51a 100644 --- a/src/main/java/forge/game/player/ComputerUtilBlock.java +++ b/src/main/java/forge/game/player/ComputerUtilBlock.java @@ -696,7 +696,7 @@ public class ComputerUtilBlock { && ((CardFactoryUtil.evaluateCreature(blocker) + ComputerUtilBlock.getDiff()) < CardFactoryUtil .evaluateCreature(attacker)) && CombatUtil.canBlock(attacker, blocker, combat)) { combat.addBlocker(attacker, blocker); - ComputerUtilBlock.getBlockersLeft().removeAll(blocker); + ComputerUtilBlock.getBlockersLeft().remove(blocker); } } } @@ -903,7 +903,7 @@ public class ComputerUtilBlock { && (CombatUtil.mustBlockAnAttacker(blocker, combat) || blocker.hasKeyword("CARDNAME blocks each turn if able."))) { combat.addBlocker(attacker, blocker); - ComputerUtilBlock.getBlockersLeft().removeAll(blocker); + ComputerUtilBlock.getBlockersLeft().remove(blocker); } } } diff --git a/src/main/java/forge/game/player/HumanPlayer.java b/src/main/java/forge/game/player/HumanPlayer.java index b61da1e3897..e4d80935d95 100644 --- a/src/main/java/forge/game/player/HumanPlayer.java +++ b/src/main/java/forge/game/player/HumanPlayer.java @@ -181,7 +181,7 @@ public class HumanPlayer extends Player { protected final void doScry(final CardList topN, final int n) { int num = n; for (int i = 0; i < num; i++) { - final Card c = GuiUtils.chooseOneOrNone("Put on bottom of library.", topN.toArray()); + final Card c = GuiUtils.chooseOneOrNone("Put on bottom of library.", topN); if (c != null) { topN.remove(c); Singletons.getModel().getGameAction().moveToBottomOfLibrary(c); diff --git a/src/main/java/forge/game/player/Player.java b/src/main/java/forge/game/player/Player.java index 051156b9ce7..979e28125bf 100644 --- a/src/main/java/forge/game/player/Player.java +++ b/src/main/java/forge/game/player/Player.java @@ -1646,7 +1646,7 @@ public abstract class Player extends GameEntity implements Comparable { CardList list = this.getCardsIn(ZoneType.Hand); list = list.getValidCards(valid, sa.getSourceCard().getController(), sa.getSourceCard()); if (list.size() != 0) { - final Card disc = CardUtil.getRandom(list.toArray()); + final Card disc = CardUtil.getRandom(list); discarded.add(disc); this.doDiscard(disc, sa); } @@ -1721,13 +1721,12 @@ public abstract class Player extends GameEntity implements Comparable { */ public final void shuffle() { final PlayerZone library = this.getZone(ZoneType.Library); - final Card[] c = this.getCardsIn(ZoneType.Library).toArray(); + final List list = this.getCardsIn(ZoneType.Library); - if (c.length <= 1) { + if (list.size() <= 1) { return; } - final ArrayList list = new ArrayList(Arrays.asList(c)); // overdone but wanted to make sure it was really random final Random random = MyRandom.getRandom(); Collections.shuffle(list, random); diff --git a/src/main/java/forge/game/zone/MagicStack.java b/src/main/java/forge/game/zone/MagicStack.java index b8895ceb1a7..7dbb73627de 100644 --- a/src/main/java/forge/game/zone/MagicStack.java +++ b/src/main/java/forge/game/zone/MagicStack.java @@ -1350,7 +1350,7 @@ public class MagicStack extends MyObservable { } else{ // Otherwise, gave a dual list form to create instead of needing to do it one at a time - List orderedSAs = GuiUtils.getOrderChoices("Select order for Simultaneous Spell Abilities", "Resolve first", 0, (Object[])activePlayerSAs.toArray(), null); + List orderedSAs = GuiUtils.getOrderChoices("Select order for Simultaneous Spell Abilities", "Resolve first", 0, activePlayerSAs.toArray(), null); int size = orderedSAs.size(); for(int i = size-1; i >= 0; i--){ SpellAbility next = (SpellAbility)orderedSAs.get(i); diff --git a/src/main/java/forge/gui/GuiDisplayUtil.java b/src/main/java/forge/gui/GuiDisplayUtil.java index bf61a3ab913..67f3199b457 100644 --- a/src/main/java/forge/gui/GuiDisplayUtil.java +++ b/src/main/java/forge/gui/GuiDisplayUtil.java @@ -620,7 +620,7 @@ public final class GuiDisplayUtil { */ public static void devModeTutor() { final CardList lib = AllZone.getHumanPlayer().getCardsIn(ZoneType.Library); - final Object o = GuiUtils.chooseOneOrNone("Choose a card", lib.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Choose a card", lib); if (null == o) { return; } else { @@ -685,8 +685,7 @@ public final class GuiDisplayUtil { * @since 1.0.15 */ public static void devModeAddCounter() { - final CardList play = AllZoneUtil.getCardsIn(ZoneType.Battlefield); - final Object o = GuiUtils.chooseOneOrNone("Add counters to which card?", play.toArray()); + final Card o = GuiUtils.chooseOneOrNone("Add counters to which card?", AllZoneUtil.getCardsIn(ZoneType.Battlefield)); if (null == o) { return; } else { @@ -718,7 +717,7 @@ public final class GuiDisplayUtil { */ public static void devModeTapPerm() { final CardList play = AllZoneUtil.getCardsIn(ZoneType.Battlefield); - final Object o = GuiUtils.chooseOneOrNone("Choose a permanent", play.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Choose a permanent", play); if (null == o) { return; } else { @@ -736,7 +735,7 @@ public final class GuiDisplayUtil { */ public static void devModeUntapPerm() { final CardList play = AllZoneUtil.getCardsIn(ZoneType.Battlefield); - final Object o = GuiUtils.chooseOneOrNone("Choose a permanent", play.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Choose a permanent", play); if (null == o) { return; } else { @@ -765,7 +764,7 @@ public final class GuiDisplayUtil { */ public static void devModeSetLife() { final List players = AllZone.getPlayersInGame(); - final Object o = GuiUtils.chooseOneOrNone("Set life for which player?", players.toArray()); + final Player o = GuiUtils.chooseOneOrNone("Set life for which player?", players); if (null == o) { return; } else { diff --git a/src/main/java/forge/gui/GuiUtils.java b/src/main/java/forge/gui/GuiUtils.java index d7fada5f0a6..e94e4e921c1 100644 --- a/src/main/java/forge/gui/GuiUtils.java +++ b/src/main/java/forge/gui/GuiUtils.java @@ -44,7 +44,6 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import forge.Card; -import forge.CardList; import forge.gui.match.CMatchUI; import forge.properties.ForgeProps; import forge.properties.NewConstants; @@ -260,10 +259,6 @@ public final class GuiUtils { return choice.isEmpty() ? null : choice.get(0); } // getChoiceOptional(String,T...) - public static Card chooseOneOrNone(final String message, final CardList choices) { - return chooseOneOrNone(message, choices.toArray()); - } // getChoiceOptional(String,T...) - // returned Object will never be null /** *

@@ -291,10 +286,6 @@ public final class GuiUtils { return chooseOne(message, choices); } - public static Card chooseOne(final String message, final CardList cardList) { - return chooseOne(message, cardList.toArray()); - } - public static T chooseOne(final String message, final Collection choices) { final List choice = GuiUtils.getChoices(message, 1, 1, choices); assert choice.size() == 1; @@ -318,7 +309,9 @@ public final class GuiUtils { public static List chooseNoneOrMany(final String message, final T[] choices) { return GuiUtils.getChoices(message, 0, choices.length, choices); } // getChoice() - + public static List chooseNoneOrMany(final String message, final List choices) { + return GuiUtils.getChoices(message, 0, choices.size(), choices); + } // returned Object will never be null /** *

diff --git a/src/main/java/forge/gui/UnsortedListModel.java b/src/main/java/forge/gui/UnsortedListModel.java index ec2a0c94ce0..87eafb2456e 100644 --- a/src/main/java/forge/gui/UnsortedListModel.java +++ b/src/main/java/forge/gui/UnsortedListModel.java @@ -21,7 +21,7 @@ class UnsortedListModel extends AbstractListModel { } public Object getElementAt(int index) { - return model.toArray()[index]; + return model.get(index); } public void add(Object element) { diff --git a/src/main/java/forge/gui/match/ControlWinLose.java b/src/main/java/forge/gui/match/ControlWinLose.java index 3fcf478adc6..0fc7fb31570 100644 --- a/src/main/java/forge/gui/match/ControlWinLose.java +++ b/src/main/java/forge/gui/match/ControlWinLose.java @@ -106,7 +106,7 @@ public class ControlWinLose { Constant.Runtime.COMPUTER_DECK[0] = cDeck; - List o = GuiUtils.chooseNoneOrMany("Select cards to add to your deck", compAntes.toArray()); + List o = GuiUtils.chooseNoneOrMany("Select cards to add to your deck", compAntes); if (null != o) { for (Card c : o) { hDeck.getMain().add(c); diff --git a/src/main/java/forge/gui/match/nonsingleton/CField.java b/src/main/java/forge/gui/match/nonsingleton/CField.java index 334c2bc1b14..0d74128d3eb 100644 --- a/src/main/java/forge/gui/match/nonsingleton/CField.java +++ b/src/main/java/forge/gui/match/nonsingleton/CField.java @@ -304,7 +304,7 @@ public class CField implements ICDoc { choices2.add(crd); } } - final Card choice = (Card) GuiUtils.chooseOneOrNone(this.title, choices2.toArray()); + final Card choice = (Card) GuiUtils.chooseOneOrNone(this.title, choices2); if (choice != null) { this.doAction(choice); }