remove imports of forge.gui from where they are not supposed to be (part 1 of many)

This commit is contained in:
Maxmtg
2013-11-24 10:53:58 +00:00
parent 96084d7b26
commit bda47748f2
7 changed files with 17 additions and 11 deletions

View File

@@ -66,7 +66,6 @@ import forge.game.trigger.Trigger;
import forge.game.trigger.TriggerType; import forge.game.trigger.TriggerType;
import forge.game.zone.Zone; import forge.game.zone.Zone;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.gui.GuiChoose;
import forge.util.Aggregates; import forge.util.Aggregates;
import forge.util.MyRandom; import forge.util.MyRandom;
@@ -115,7 +114,7 @@ public class ComputerUtil {
if (pay.payComputerCosts(ai, game)) { if (pay.payComputerCosts(ai, game)) {
game.getStack().addAndUnfreeze(sa); game.getStack().addAndUnfreeze(sa);
if (sa.getSplicedCards() != null && !sa.getSplicedCards().isEmpty()) { if (sa.getSplicedCards() != null && !sa.getSplicedCards().isEmpty()) {
GuiChoose.oneOrNone("Computer reveals spliced cards:", sa.getSplicedCards()); game.getAction().reveal("Computer reveals spliced cards:", sa.getSplicedCards(), ai, true);
} }
return true; return true;
// TODO: solve problems with TapsForMana triggers by adding // TODO: solve problems with TapsForMana triggers by adding
@@ -1704,8 +1703,6 @@ public class ComputerUtil {
chosen = "Island"; chosen = "Island";
} }
GuiChoose.one("Computer picked: ", new String[]{chosen});
return chosen; return chosen;
} }

View File

@@ -1412,6 +1412,12 @@ public class GameAction {
reveal(cardOwner + " reveals card from " + zt, cards, zt, cardOwner, dontRevealToOwner); reveal(cardOwner + " reveals card from " + zt, cards, zt, cardOwner, dontRevealToOwner);
} }
public void reveal(String message, List<Card> cards, Player cardOwner, boolean dontRevealToOwner) {
if (cards.isEmpty())
return;
reveal(message, cards, cards.get(0).getZone().getZoneType(), cardOwner, dontRevealToOwner);
}
public void reveal(String message, List<Card> cards, ZoneType zt, Player cardOwner, boolean dontRevealToOwner) { public void reveal(String message, List<Card> cards, ZoneType zt, Player cardOwner, boolean dontRevealToOwner) {
for(Player p : game.getPlayers()) { for(Player p : game.getPlayers()) {
if (dontRevealToOwner && cardOwner == p) continue; if (dontRevealToOwner && cardOwner == p) continue;

View File

@@ -58,7 +58,7 @@ public class ChooseTypeEffect extends SpellAbilityEffect {
if( !validTypes.isEmpty()) { if( !validTypes.isEmpty()) {
for (final Player p : tgtPlayers) { for (final Player p : tgtPlayers) {
if ((tgt == null) || p.canBeTargetedBy(sa)) { if ((tgt == null) || p.canBeTargetedBy(sa)) {
String choice = p.getController().chooseSomeType(type, sa.getParam("AILogic"), validTypes, invalidTypes); String choice = p.getController().chooseSomeType(type, sa, validTypes, invalidTypes);
card.setChosenType(choice); card.setChosenType(choice);
} }
} }

View File

@@ -153,7 +153,7 @@ public abstract class PlayerController {
public abstract List<SpellAbility> chooseSaToActivateFromOpeningHand(List<SpellAbility> usableFromOpeningHand); public abstract List<SpellAbility> chooseSaToActivateFromOpeningHand(List<SpellAbility> usableFromOpeningHand);
public abstract Mana chooseManaFromPool(List<Mana> manaChoices); public abstract Mana chooseManaFromPool(List<Mana> manaChoices);
public abstract String chooseSomeType(String kindOfType, String aiLogic, List<String> validTypes, List<String> invalidTypes); public abstract String chooseSomeType(String kindOfType, SpellAbility sa, List<String> validTypes, List<String> invalidTypes);
public abstract Pair<CounterType,String> chooseAndRemoveOrPutCounter(Card cardWithCounter); public abstract Pair<CounterType,String> chooseAndRemoveOrPutCounter(Card cardWithCounter);
public abstract boolean confirmReplacementEffect(ReplacementEffect replacementEffect, SpellAbility effectSA, String question); public abstract boolean confirmReplacementEffect(ReplacementEffect replacementEffect, SpellAbility effectSA, String question);
public abstract List<Card> getCardsToMulligan(boolean isCommander, Player firstPlayer); public abstract List<Card> getCardsToMulligan(boolean isCommander, Player firstPlayer);

View File

@@ -312,8 +312,10 @@ public class PlayerControllerAi extends PlayerController {
* @see forge.game.player.PlayerController#ChooseSomeType(java.lang.String, java.util.List, java.util.List) * @see forge.game.player.PlayerController#ChooseSomeType(java.lang.String, java.util.List, java.util.List)
*/ */
@Override @Override
public String chooseSomeType(String kindOfType, String aiLogic, List<String> validTypes, List<String> invalidTypes) { public String chooseSomeType(String kindOfType, SpellAbility sa, List<String> validTypes, List<String> invalidTypes) {
return ComputerUtil.chooseSomeType(player, kindOfType, aiLogic, invalidTypes); String chosen = ComputerUtil.chooseSomeType(player, kindOfType, sa.getParam("AILogic"), invalidTypes);
game.getAction().nofityOfValue(sa, null, "Computer picked: " + chosen, player);
return chosen;
} }
/* (non-Javadoc) /* (non-Javadoc)

View File

@@ -589,7 +589,7 @@ public class PlayerControllerHuman extends PlayerController {
* @see forge.game.player.PlayerController#chooseSomeType(java.lang.String, java.lang.String, java.util.List, java.util.List, java.lang.String) * @see forge.game.player.PlayerController#chooseSomeType(java.lang.String, java.lang.String, java.util.List, java.util.List, java.lang.String)
*/ */
@Override @Override
public String chooseSomeType(String kindOfType, String aiLogic, List<String> validTypes, List<String> invalidTypes) { public String chooseSomeType(String kindOfType, SpellAbility sa, List<String> validTypes, List<String> invalidTypes) {
return GuiChoose.one("Choose a " + kindOfType.toLowerCase() + " type", validTypes); return GuiChoose.one("Choose a " + kindOfType.toLowerCase() + " type", validTypes);
} }

View File

@@ -30,6 +30,7 @@ import forge.game.card.Card;
import forge.game.cost.CostPartMana; import forge.game.cost.CostPartMana;
import forge.game.cost.CostPayment; import forge.game.cost.CostPayment;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.player.PlayerController;
import forge.game.zone.Zone; import forge.game.zone.Zone;
/** /**
@@ -192,12 +193,12 @@ public class HumanPlaySpellAbility {
private boolean announceType() { private boolean announceType() {
// Announcing Requirements like choosing creature type or number // Announcing Requirements like choosing creature type or number
String announce = ability.getParam("AnnounceType"); String announce = ability.getParam("AnnounceType");
PlayerController pc = ability.getActivatingPlayer().getController();
if (announce != null) { if (announce != null) {
for(String aVar : announce.split(",")) { for(String aVar : announce.split(",")) {
String varName = aVar.trim(); String varName = aVar.trim();
if ("CreatureType".equals(varName)) { if ("CreatureType".equals(varName)) {
String choice = ability.getActivatingPlayer().getController().chooseSomeType("Creature", String choice = pc.chooseSomeType("Creature", ability, CardType.getCreatureTypes(), new ArrayList<String>());
ability.getParam("AILogic"), CardType.getCreatureTypes(), new ArrayList<String>());
ability.getSourceCard().setChosenType(choice); ability.getSourceCard().setChosenType(choice);
} }
if ("ChooseNumber".equals(varName)) { if ("ChooseNumber".equals(varName)) {