mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
move inputs to forge.gui.input
DrawEffect.java - removed isHuman, fixed description using Lang library
This commit is contained in:
46
.gitattributes
vendored
46
.gitattributes
vendored
@@ -14163,32 +14163,10 @@ src/main/java/forge/control/ChatArea.java -text
|
|||||||
src/main/java/forge/control/ControlBazaarUI.java -text
|
src/main/java/forge/control/ControlBazaarUI.java -text
|
||||||
src/main/java/forge/control/FControl.java -text
|
src/main/java/forge/control/FControl.java -text
|
||||||
src/main/java/forge/control/FControlGameEventHandler.java -text
|
src/main/java/forge/control/FControlGameEventHandler.java -text
|
||||||
|
src/main/java/forge/control/InputQueue.java svneol=native#text/plain
|
||||||
src/main/java/forge/control/KeyboardShortcuts.java -text
|
src/main/java/forge/control/KeyboardShortcuts.java -text
|
||||||
src/main/java/forge/control/Lobby.java -text
|
src/main/java/forge/control/Lobby.java -text
|
||||||
src/main/java/forge/control/RestartUtil.java -text
|
src/main/java/forge/control/RestartUtil.java -text
|
||||||
src/main/java/forge/control/input/Input.java -text
|
|
||||||
src/main/java/forge/control/input/InputAttack.java svneol=native#text/plain
|
|
||||||
src/main/java/forge/control/input/InputBase.java svneol=native#text/plain
|
|
||||||
src/main/java/forge/control/input/InputBlock.java svneol=native#text/plain
|
|
||||||
src/main/java/forge/control/input/InputConfirmMulligan.java svneol=native#text/plain
|
|
||||||
src/main/java/forge/control/input/InputLockUI.java -text
|
|
||||||
src/main/java/forge/control/input/InputPassPriority.java svneol=native#text/plain
|
|
||||||
src/main/java/forge/control/input/InputPayMana.java -text
|
|
||||||
src/main/java/forge/control/input/InputPayManaExecuteCommands.java svneol=native#text/plain
|
|
||||||
src/main/java/forge/control/input/InputPayManaOfCostPayment.java -text
|
|
||||||
src/main/java/forge/control/input/InputPayManaSimple.java svneol=native#text/plain
|
|
||||||
src/main/java/forge/control/input/InputPayManaX.java -text
|
|
||||||
src/main/java/forge/control/input/InputPlayOrDraw.java -text
|
|
||||||
src/main/java/forge/control/input/InputProliferate.java -text
|
|
||||||
src/main/java/forge/control/input/InputQueue.java svneol=native#text/plain
|
|
||||||
src/main/java/forge/control/input/InputSelectCards.java -text
|
|
||||||
src/main/java/forge/control/input/InputSelectCardsFromList.java -text
|
|
||||||
src/main/java/forge/control/input/InputSelectMany.java -text
|
|
||||||
src/main/java/forge/control/input/InputSelectManyBase.java -text
|
|
||||||
src/main/java/forge/control/input/InputSelectTargets.java -text
|
|
||||||
src/main/java/forge/control/input/InputSynchronized.java -text
|
|
||||||
src/main/java/forge/control/input/InputSyncronizedBase.java -text
|
|
||||||
src/main/java/forge/control/input/package-info.java svneol=native#text/plain
|
|
||||||
src/main/java/forge/control/package-info.java -text
|
src/main/java/forge/control/package-info.java -text
|
||||||
src/main/java/forge/deck/CardCollections.java -text
|
src/main/java/forge/deck/CardCollections.java -text
|
||||||
src/main/java/forge/deck/CardPool.java -text
|
src/main/java/forge/deck/CardPool.java -text
|
||||||
@@ -14462,6 +14440,28 @@ src/main/java/forge/gui/home/variant/CSubmenuVanguard.java -text
|
|||||||
src/main/java/forge/gui/home/variant/VSubmenuArchenemy.java -text
|
src/main/java/forge/gui/home/variant/VSubmenuArchenemy.java -text
|
||||||
src/main/java/forge/gui/home/variant/VSubmenuPlanechase.java -text
|
src/main/java/forge/gui/home/variant/VSubmenuPlanechase.java -text
|
||||||
src/main/java/forge/gui/home/variant/VSubmenuVanguard.java -text
|
src/main/java/forge/gui/home/variant/VSubmenuVanguard.java -text
|
||||||
|
src/main/java/forge/gui/input/Input.java -text
|
||||||
|
src/main/java/forge/gui/input/InputAttack.java svneol=native#text/plain
|
||||||
|
src/main/java/forge/gui/input/InputBase.java svneol=native#text/plain
|
||||||
|
src/main/java/forge/gui/input/InputBlock.java svneol=native#text/plain
|
||||||
|
src/main/java/forge/gui/input/InputConfirmMulligan.java svneol=native#text/plain
|
||||||
|
src/main/java/forge/gui/input/InputLockUI.java -text
|
||||||
|
src/main/java/forge/gui/input/InputPassPriority.java svneol=native#text/plain
|
||||||
|
src/main/java/forge/gui/input/InputPayMana.java -text
|
||||||
|
src/main/java/forge/gui/input/InputPayManaExecuteCommands.java svneol=native#text/plain
|
||||||
|
src/main/java/forge/gui/input/InputPayManaOfCostPayment.java -text
|
||||||
|
src/main/java/forge/gui/input/InputPayManaSimple.java svneol=native#text/plain
|
||||||
|
src/main/java/forge/gui/input/InputPayManaX.java -text
|
||||||
|
src/main/java/forge/gui/input/InputPlayOrDraw.java -text
|
||||||
|
src/main/java/forge/gui/input/InputProliferate.java -text
|
||||||
|
src/main/java/forge/gui/input/InputSelectCards.java -text
|
||||||
|
src/main/java/forge/gui/input/InputSelectCardsFromList.java -text
|
||||||
|
src/main/java/forge/gui/input/InputSelectMany.java -text
|
||||||
|
src/main/java/forge/gui/input/InputSelectManyBase.java -text
|
||||||
|
src/main/java/forge/gui/input/InputSelectTargets.java -text
|
||||||
|
src/main/java/forge/gui/input/InputSynchronized.java -text
|
||||||
|
src/main/java/forge/gui/input/InputSyncronizedBase.java -text
|
||||||
|
src/main/java/forge/gui/input/package-info.java svneol=native#text/plain
|
||||||
src/main/java/forge/gui/match/CMatchUI.java -text
|
src/main/java/forge/gui/match/CMatchUI.java -text
|
||||||
src/main/java/forge/gui/match/ControlWinLose.java -text
|
src/main/java/forge/gui/match/ControlWinLose.java -text
|
||||||
src/main/java/forge/gui/match/GauntletWinLose.java -text
|
src/main/java/forge/gui/match/GauntletWinLose.java -text
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import forge.card.spellability.SpellAbility;
|
|||||||
import forge.card.spellability.SpellAbilityStackInstance;
|
import forge.card.spellability.SpellAbilityStackInstance;
|
||||||
import forge.card.spellability.Target;
|
import forge.card.spellability.Target;
|
||||||
import forge.card.trigger.TriggerType;
|
import forge.card.trigger.TriggerType;
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.ComputerUtilCard;
|
import forge.game.ai.ComputerUtilCard;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
@@ -28,6 +27,7 @@ import forge.game.zone.Zone;
|
|||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
import forge.util.Aggregates;
|
import forge.util.Aggregates;
|
||||||
import forge.util.Lang;
|
import forge.util.Lang;
|
||||||
|
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ import forge.GameEntity;
|
|||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.card.ability.SpellAbilityEffect;
|
import forge.card.ability.SpellAbilityEffect;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.control.input.InputProliferate;
|
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
|
import forge.gui.input.InputProliferate;
|
||||||
|
|
||||||
public class CountersProliferateEffect extends SpellAbilityEffect {
|
public class CountersProliferateEffect extends SpellAbilityEffect {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import forge.game.player.Player;
|
|||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
|
import forge.util.Lang;
|
||||||
|
|
||||||
public class DrawEffect extends SpellAbilityEffect {
|
public class DrawEffect extends SpellAbilityEffect {
|
||||||
@Override
|
@Override
|
||||||
@@ -23,20 +24,16 @@ public class DrawEffect extends SpellAbilityEffect {
|
|||||||
|
|
||||||
if (!tgtPlayers.isEmpty()) {
|
if (!tgtPlayers.isEmpty()) {
|
||||||
|
|
||||||
sb.append(StringUtils.join(tgtPlayers, " and "));
|
int numCards = sa.hasParam("NumCards") ? AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("NumCards"), sa) : 1;
|
||||||
|
|
||||||
int numCards = 1;
|
sb.append(Lang.joinHomogenous(tgtPlayers));
|
||||||
if (sa.hasParam("NumCards")) {
|
|
||||||
numCards = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("NumCards"), sa);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tgtPlayers.size() > 1) {
|
if (tgtPlayers.size() > 1) {
|
||||||
sb.append(" each");
|
sb.append(" each");
|
||||||
}
|
}
|
||||||
sb.append(" draw");
|
sb.append(Lang.joinVerb(tgtPlayers, "draw")).append(" ");
|
||||||
if (tgtPlayers.size() == 1) {
|
|
||||||
sb.append("s");
|
sb.append(numCards).append(Lang.joinNounToAmount(numCards, "card"));
|
||||||
}
|
|
||||||
sb.append(" (").append(numCards).append(")");
|
sb.append(" (").append(numCards).append(")");
|
||||||
|
|
||||||
if (sa.hasParam("NextUpkeep")) {
|
if (sa.hasParam("NextUpkeep")) {
|
||||||
@@ -52,10 +49,8 @@ public class DrawEffect extends SpellAbilityEffect {
|
|||||||
@Override
|
@Override
|
||||||
public void resolve(SpellAbility sa) {
|
public void resolve(SpellAbility sa) {
|
||||||
final Card source = sa.getSourceCard();
|
final Card source = sa.getSourceCard();
|
||||||
int numCards = 1;
|
int numCards = sa.hasParam("NumCards") ? AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("NumCards"), sa) : 1;
|
||||||
if (sa.hasParam("NumCards")) {
|
|
||||||
numCards = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("NumCards"), sa);
|
|
||||||
}
|
|
||||||
|
|
||||||
final Target tgt = sa.getTarget();
|
final Target tgt = sa.getTarget();
|
||||||
|
|
||||||
@@ -64,30 +59,16 @@ public class DrawEffect extends SpellAbilityEffect {
|
|||||||
|
|
||||||
for (final Player p : getDefinedPlayersBeforeTargetOnes(sa)) {
|
for (final Player p : getDefinedPlayersBeforeTargetOnes(sa)) {
|
||||||
if ((tgt == null) || p.canBeTargetedBy(sa)) {
|
if ((tgt == null) || p.canBeTargetedBy(sa)) {
|
||||||
if (optional) {
|
if (optional && !p.getController().confirmAction(sa, null, "Do you want to draw " + numCards + " cards(s)?"))
|
||||||
if (p.isComputer()) {
|
continue;
|
||||||
if (numCards >= p.getCardsIn(ZoneType.Library).size()) {
|
|
||||||
// AI shouldn't itself
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
final StringBuilder sb = new StringBuilder();
|
|
||||||
sb.append("Do you want to draw ").append(numCards).append(" cards(s)");
|
|
||||||
|
|
||||||
sb.append("?");
|
|
||||||
|
|
||||||
if (!GuiDialog.confirm(sa.getSourceCard(), sb.toString())) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//TODO: remove this deprecation exception
|
//TODO: remove this deprecation exception
|
||||||
if (slowDraw) {
|
if (slowDraw) {
|
||||||
throw new RuntimeException("This api option is no longer supported. Please file a bug report with the card that threw this error.");
|
throw new RuntimeException("This api option is no longer supported. Please file a bug report with the card that threw this error.");
|
||||||
} else {
|
} else {
|
||||||
final List<Card> drawn = p.drawCards(numCards);
|
final List<Card> drawn = p.drawCards(numCards);
|
||||||
if (sa.hasParam("Reveal")) {
|
if (sa.hasParam("Reveal")) {
|
||||||
GuiChoose.one("Revealing drawn cards", drawn);
|
p.getGame().getAction().reveal(drawn, p);
|
||||||
}
|
}
|
||||||
if (sa.hasParam("RememberDrawn")) {
|
if (sa.hasParam("RememberDrawn")) {
|
||||||
for (final Card c : drawn) {
|
for (final Card c : drawn) {
|
||||||
|
|||||||
@@ -12,11 +12,11 @@ import forge.card.ability.AbilityUtils;
|
|||||||
import forge.card.ability.SpellAbilityEffect;
|
import forge.card.ability.SpellAbilityEffect;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.card.spellability.Target;
|
import forge.card.spellability.Target;
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.ai.ComputerUtilCard;
|
import forge.game.ai.ComputerUtilCard;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
|
|
||||||
public class UntapEffect extends SpellAbilityEffect {
|
public class UntapEffect extends SpellAbilityEffect {
|
||||||
|
|
||||||
|
|||||||
@@ -41,8 +41,6 @@ import forge.card.spellability.SpellPermanent;
|
|||||||
import forge.card.spellability.Target;
|
import forge.card.spellability.Target;
|
||||||
import forge.card.trigger.Trigger;
|
import forge.card.trigger.Trigger;
|
||||||
import forge.card.trigger.TriggerHandler;
|
import forge.card.trigger.TriggerHandler;
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.ComputerUtilCard;
|
import forge.game.ai.ComputerUtilCard;
|
||||||
import forge.game.ai.ComputerUtilCombat;
|
import forge.game.ai.ComputerUtilCombat;
|
||||||
@@ -50,6 +48,8 @@ import forge.game.player.Player;
|
|||||||
import forge.game.zone.PlayerZone;
|
import forge.game.zone.PlayerZone;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
import forge.util.Aggregates;
|
import forge.util.Aggregates;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -30,15 +30,15 @@ import forge.card.cost.Cost;
|
|||||||
import forge.card.mana.ManaCost;
|
import forge.card.mana.ManaCost;
|
||||||
import forge.card.spellability.Spell;
|
import forge.card.spellability.Spell;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.control.input.InputPayManaExecuteCommands;
|
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.AiController;
|
import forge.game.ai.AiController;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.player.PlayerControllerAi;
|
import forge.game.player.PlayerControllerAi;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
|
import forge.gui.input.InputPayManaExecuteCommands;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -61,8 +61,6 @@ import forge.card.spellability.Target;
|
|||||||
import forge.card.trigger.Trigger;
|
import forge.card.trigger.Trigger;
|
||||||
import forge.card.trigger.TriggerHandler;
|
import forge.card.trigger.TriggerHandler;
|
||||||
import forge.card.trigger.TriggerType;
|
import forge.card.trigger.TriggerType;
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.ComputerUtilCard;
|
import forge.game.ai.ComputerUtilCard;
|
||||||
import forge.game.ai.ComputerUtilCost;
|
import forge.game.ai.ComputerUtilCost;
|
||||||
@@ -73,6 +71,8 @@ import forge.game.zone.PlayerZone;
|
|||||||
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.gui.GuiChoose;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
import forge.util.Aggregates;
|
import forge.util.Aggregates;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -27,13 +27,13 @@ import forge.CardPredicates;
|
|||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.card.ability.AbilityUtils;
|
import forge.card.ability.AbilityUtils;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.AiController;
|
import forge.game.ai.AiController;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.player.PlayerControllerAi;
|
import forge.game.player.PlayerControllerAi;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
import forge.util.Aggregates;
|
import forge.util.Aggregates;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -27,14 +27,14 @@ import forge.Singletons;
|
|||||||
import forge.card.ability.AbilityUtils;
|
import forge.card.ability.AbilityUtils;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.card.spellability.SpellAbilityStackInstance;
|
import forge.card.spellability.SpellAbilityStackInstance;
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.ComputerUtil;
|
import forge.game.ai.ComputerUtil;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class CostExile.
|
* The Class CostExile.
|
||||||
|
|||||||
@@ -25,12 +25,12 @@ import forge.card.mana.ManaCost;
|
|||||||
import forge.card.mana.ManaCostBeingPaid;
|
import forge.card.mana.ManaCostBeingPaid;
|
||||||
import forge.card.mana.ManaCostShard;
|
import forge.card.mana.ManaCostShard;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.control.input.InputPayMana;
|
|
||||||
import forge.control.input.InputPayManaOfCostPayment;
|
|
||||||
import forge.control.input.InputPayManaX;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.ComputerUtilMana;
|
import forge.game.ai.ComputerUtilMana;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
|
import forge.gui.input.InputPayMana;
|
||||||
|
import forge.gui.input.InputPayManaOfCostPayment;
|
||||||
|
import forge.gui.input.InputPayManaX;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The mana component of any spell or ability cost
|
* The mana component of any spell or ability cost
|
||||||
|
|||||||
@@ -27,11 +27,11 @@ import forge.CounterType;
|
|||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.card.ability.AbilityUtils;
|
import forge.card.ability.AbilityUtils;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.ComputerUtilCard;
|
import forge.game.ai.ComputerUtilCard;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class CostPutCounter.
|
* The Class CostPutCounter.
|
||||||
|
|||||||
@@ -28,11 +28,11 @@ import forge.CounterType;
|
|||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.card.ability.AbilityUtils;
|
import forge.card.ability.AbilityUtils;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class CostRemoveCounter.
|
* The Class CostRemoveCounter.
|
||||||
|
|||||||
@@ -24,13 +24,13 @@ import forge.CardLists;
|
|||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.card.ability.AbilityUtils;
|
import forge.card.ability.AbilityUtils;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.ComputerUtil;
|
import forge.game.ai.ComputerUtil;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class CostReturn.
|
* The Class CostReturn.
|
||||||
|
|||||||
@@ -27,13 +27,13 @@ import forge.CardLists;
|
|||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.card.ability.AbilityUtils;
|
import forge.card.ability.AbilityUtils;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.AiController;
|
import forge.game.ai.AiController;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.player.PlayerControllerAi;
|
import forge.game.player.PlayerControllerAi;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class CostReveal.
|
* The Class CostReveal.
|
||||||
|
|||||||
@@ -24,13 +24,13 @@ import forge.CardLists;
|
|||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.card.ability.AbilityUtils;
|
import forge.card.ability.AbilityUtils;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.ComputerUtil;
|
import forge.game.ai.ComputerUtil;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class CostSacrifice.
|
* The Class CostSacrifice.
|
||||||
|
|||||||
@@ -28,12 +28,12 @@ import forge.Singletons;
|
|||||||
import forge.CardPredicates.Presets;
|
import forge.CardPredicates.Presets;
|
||||||
import forge.card.ability.AbilityUtils;
|
import forge.card.ability.AbilityUtils;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.ComputerUtil;
|
import forge.game.ai.ComputerUtil;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class CostTapType.
|
* The Class CostTapType.
|
||||||
|
|||||||
@@ -24,12 +24,12 @@ import forge.Singletons;
|
|||||||
import forge.CardPredicates.Presets;
|
import forge.CardPredicates.Presets;
|
||||||
import forge.card.ability.AbilityUtils;
|
import forge.card.ability.AbilityUtils;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.ComputerUtil;
|
import forge.game.ai.ComputerUtil;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class CostUntapType.
|
* The Class CostUntapType.
|
||||||
|
|||||||
@@ -26,12 +26,12 @@ import forge.Card;
|
|||||||
import forge.CardLists;
|
import forge.CardLists;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.card.ability.AbilityUtils;
|
import forge.card.ability.AbilityUtils;
|
||||||
import forge.control.input.InputSelectTargets;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
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.gui.GuiChoose;
|
||||||
|
import forge.gui.input.InputSelectTargets;
|
||||||
import forge.util.Aggregates;
|
import forge.util.Aggregates;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ import forge.Card;
|
|||||||
import forge.Constant.Preferences;
|
import forge.Constant.Preferences;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.control.KeyboardShortcuts.Shortcut;
|
import forge.control.KeyboardShortcuts.Shortcut;
|
||||||
import forge.control.input.InputQueue;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.AiProfileUtil;
|
import forge.game.ai.AiProfileUtil;
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
|
|||||||
@@ -15,12 +15,15 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.control.input;
|
package forge.control;
|
||||||
|
|
||||||
import java.util.concurrent.BlockingDeque;
|
import java.util.concurrent.BlockingDeque;
|
||||||
import java.util.concurrent.LinkedBlockingDeque;
|
import java.util.concurrent.LinkedBlockingDeque;
|
||||||
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
|
import forge.gui.input.Input;
|
||||||
|
import forge.gui.input.InputLockUI;
|
||||||
|
import forge.gui.input.InputSynchronized;
|
||||||
import forge.util.MyObservable;
|
import forge.util.MyObservable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -43,13 +46,6 @@ public class InputQueue extends MyObservable implements java.io.Serializable {
|
|||||||
inputLock = new InputLockUI(this);
|
inputLock = new InputLockUI(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* Getter for the field <code>input</code>.
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @return a {@link forge.control.input.InputBase} object.
|
|
||||||
*/
|
|
||||||
public final Input getInput() {
|
public final Input getInput() {
|
||||||
return inputStack.isEmpty() ? null : this.inputStack.peek();
|
return inputStack.isEmpty() ? null : this.inputStack.peek();
|
||||||
}
|
}
|
||||||
@@ -62,7 +58,7 @@ public class InputQueue extends MyObservable implements java.io.Serializable {
|
|||||||
* @param update
|
* @param update
|
||||||
* a boolean.
|
* a boolean.
|
||||||
*/
|
*/
|
||||||
final void removeInput(Input inp) {
|
public final void removeInput(Input inp) {
|
||||||
Input topMostInput = inputStack.isEmpty() ? null : inputStack.pop();
|
Input topMostInput = inputStack.isEmpty() ? null : inputStack.pop();
|
||||||
|
|
||||||
if( topMostInput != inp )
|
if( topMostInput != inp )
|
||||||
@@ -75,7 +71,7 @@ public class InputQueue extends MyObservable implements java.io.Serializable {
|
|||||||
* updateInput.
|
* updateInput.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @return a {@link forge.control.input.InputBase} object.
|
* @return a {@link forge.gui.input.InputBase} object.
|
||||||
*/
|
*/
|
||||||
public final Input getActualInput(Game game) {
|
public final Input getActualInput(Game game) {
|
||||||
Input topMost = inputStack.peek(); // incoming input to Control
|
Input topMost = inputStack.peek(); // incoming input to Control
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
/** Forge Card Game. */
|
|
||||||
package forge.control.input;
|
|
||||||
|
|
||||||
@@ -35,6 +35,7 @@ import forge.CardPredicates;
|
|||||||
import forge.CardPredicates.Presets;
|
import forge.CardPredicates.Presets;
|
||||||
import forge.Constant;
|
import forge.Constant;
|
||||||
import forge.GameEntity;
|
import forge.GameEntity;
|
||||||
|
import forge.card.ability.AbilityUtils;
|
||||||
import forge.card.ability.ApiType;
|
import forge.card.ability.ApiType;
|
||||||
import forge.card.cardfactory.CardFactoryUtil;
|
import forge.card.cardfactory.CardFactoryUtil;
|
||||||
import forge.card.cost.CostDiscard;
|
import forge.card.cost.CostDiscard;
|
||||||
@@ -740,6 +741,14 @@ public class AiController {
|
|||||||
//the spell in the first place if it would curse its own creature
|
//the spell in the first place if it would curse its own creature
|
||||||
//and the pump isn't mandatory
|
//and the pump isn't mandatory
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
case Draw:
|
||||||
|
int numCards = sa.hasParam("NumCards") ? AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("NumCards"), sa) : 1;
|
||||||
|
// AI shouldn't mill itself
|
||||||
|
return numCards < player.getZone(ZoneType.Library).size();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
String exMsg = String.format("AI confirmAction does not know what to decide about %s API with %s mode.", api, mode);
|
String exMsg = String.format("AI confirmAction does not know what to decide about %s API with %s mode.", api, mode);
|
||||||
|
|||||||
@@ -30,13 +30,13 @@ import forge.Singletons;
|
|||||||
import forge.CardPredicates.Presets;
|
import forge.CardPredicates.Presets;
|
||||||
import forge.CounterType;
|
import forge.CounterType;
|
||||||
import forge.GameEntity;
|
import forge.GameEntity;
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.ComputerUtilCard;
|
import forge.game.ai.ComputerUtilCard;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -37,9 +37,6 @@ import forge.card.spellability.Ability;
|
|||||||
import forge.card.spellability.AbilityManaPart;
|
import forge.card.spellability.AbilityManaPart;
|
||||||
import forge.card.spellability.AbilityStatic;
|
import forge.card.spellability.AbilityStatic;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.control.input.InputPayManaExecuteCommands;
|
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.ComputerUtil;
|
import forge.game.ai.ComputerUtil;
|
||||||
import forge.game.ai.ComputerUtilCard;
|
import forge.game.ai.ComputerUtilCard;
|
||||||
@@ -52,6 +49,9 @@ import forge.game.zone.PlayerZone;
|
|||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
|
import forge.gui.input.InputPayManaExecuteCommands;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -39,16 +39,16 @@ import forge.card.spellability.Ability;
|
|||||||
import forge.card.spellability.HumanPlaySpellAbility;
|
import forge.card.spellability.HumanPlaySpellAbility;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.card.spellability.Target;
|
import forge.card.spellability.Target;
|
||||||
import forge.control.input.InputPayMana;
|
|
||||||
import forge.control.input.InputPayManaExecuteCommands;
|
|
||||||
import forge.control.input.InputPayManaSimple;
|
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.GameActionUtil;
|
import forge.game.GameActionUtil;
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
|
import forge.gui.input.InputPayMana;
|
||||||
|
import forge.gui.input.InputPayManaExecuteCommands;
|
||||||
|
import forge.gui.input.InputPayManaSimple;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Write javadoc for this type.
|
* TODO: Write javadoc for this type.
|
||||||
|
|||||||
@@ -19,14 +19,6 @@ import forge.card.replacement.ReplacementEffect;
|
|||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.card.spellability.Target;
|
import forge.card.spellability.Target;
|
||||||
import forge.card.spellability.TargetSelection;
|
import forge.card.spellability.TargetSelection;
|
||||||
import forge.control.input.InputAttack;
|
|
||||||
import forge.control.input.InputBlock;
|
|
||||||
import forge.control.input.InputConfirmMulligan;
|
|
||||||
import forge.control.input.InputPassPriority;
|
|
||||||
import forge.control.input.InputPlayOrDraw;
|
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.control.input.InputSynchronized;
|
|
||||||
import forge.deck.CardPool;
|
import forge.deck.CardPool;
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.deck.DeckSection;
|
import forge.deck.DeckSection;
|
||||||
@@ -37,6 +29,14 @@ import forge.game.zone.ZoneType;
|
|||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
|
import forge.gui.input.InputAttack;
|
||||||
|
import forge.gui.input.InputBlock;
|
||||||
|
import forge.gui.input.InputConfirmMulligan;
|
||||||
|
import forge.gui.input.InputPassPriority;
|
||||||
|
import forge.gui.input.InputPlayOrDraw;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
|
import forge.gui.input.InputSynchronized;
|
||||||
import forge.gui.match.CMatchUI;
|
import forge.gui.match.CMatchUI;
|
||||||
import forge.item.CardPrinted;
|
import forge.item.CardPrinted;
|
||||||
import forge.util.TextUtil;
|
import forge.util.TextUtil;
|
||||||
|
|||||||
@@ -50,9 +50,6 @@ import forge.card.spellability.Target;
|
|||||||
import forge.card.spellability.TargetChoices;
|
import forge.card.spellability.TargetChoices;
|
||||||
import forge.card.trigger.Trigger;
|
import forge.card.trigger.Trigger;
|
||||||
import forge.card.trigger.TriggerType;
|
import forge.card.trigger.TriggerType;
|
||||||
import forge.control.input.InputPayManaExecuteCommands;
|
|
||||||
import forge.control.input.InputSelectCards;
|
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.GameActionUtil;
|
import forge.game.GameActionUtil;
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ai.ComputerUtil;
|
import forge.game.ai.ComputerUtil;
|
||||||
@@ -62,6 +59,9 @@ import forge.game.event.GameEventSpellResolved;
|
|||||||
import forge.game.player.HumanPlay;
|
import forge.game.player.HumanPlay;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
|
import forge.gui.input.InputPayManaExecuteCommands;
|
||||||
|
import forge.gui.input.InputSelectCards;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
import forge.util.MyObservable;
|
import forge.util.MyObservable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ import forge.Singletons;
|
|||||||
import forge.card.spellability.AbilityManaPart;
|
import forge.card.spellability.AbilityManaPart;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.card.trigger.TriggerType;
|
import forge.card.trigger.TriggerType;
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.PlanarDice;
|
import forge.game.PlanarDice;
|
||||||
@@ -53,6 +52,7 @@ import forge.game.player.HumanPlay;
|
|||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.PlayerZone;
|
import forge.game.zone.PlayerZone;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
|
import forge.gui.input.InputSelectCardsFromList;
|
||||||
import forge.item.CardDb;
|
import forge.item.CardDb;
|
||||||
import forge.item.CardPrinted;
|
import forge.item.CardPrinted;
|
||||||
import forge.item.IPaperCard;
|
import forge.item.IPaperCard;
|
||||||
|
|||||||
@@ -24,9 +24,9 @@ import java.util.concurrent.atomic.AtomicReference;
|
|||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.control.input.Input;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
|
import forge.gui.input.Input;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.game.phase.PhaseHandler;
|
import forge.game.phase.PhaseHandler;
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
|
import forge.control.InputQueue;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.gui.match.CMatchUI;
|
import forge.gui.match.CMatchUI;
|
||||||
import forge.view.ButtonUtil;
|
import forge.view.ButtonUtil;
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import forge.card.cost.Cost;
|
import forge.card.cost.Cost;
|
||||||
import forge.card.mana.ManaCost;
|
import forge.card.mana.ManaCost;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.card.mana.ManaCostBeingPaid;
|
import forge.card.mana.ManaCostBeingPaid;
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.card.mana.ManaCostBeingPaid;
|
import forge.card.mana.ManaCostBeingPaid;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.view.ButtonUtil;
|
import forge.view.ButtonUtil;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
public interface InputSynchronized extends Input {
|
public interface InputSynchronized extends Input {
|
||||||
void awaitLatchRelease();
|
void awaitLatchRelease();
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.control.input;
|
package forge.gui.input;
|
||||||
|
|
||||||
import java.util.concurrent.CountDownLatch;
|
import java.util.concurrent.CountDownLatch;
|
||||||
|
|
||||||
3
src/main/java/forge/gui/input/package-info.java
Normal file
3
src/main/java/forge/gui/input/package-info.java
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
/** Forge Card Game. */
|
||||||
|
package forge.gui.input;
|
||||||
|
|
||||||
@@ -35,8 +35,6 @@ import forge.Singletons;
|
|||||||
import forge.Constant.Preferences;
|
import forge.Constant.Preferences;
|
||||||
import forge.card.cardfactory.CardFactoryUtil;
|
import forge.card.cardfactory.CardFactoryUtil;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.control.input.Input;
|
|
||||||
import forge.control.input.InputPayMana;
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.player.HumanPlay;
|
import forge.game.player.HumanPlay;
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
@@ -44,6 +42,8 @@ import forge.game.player.Player;
|
|||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.ForgeAction.MatchConstants;
|
import forge.gui.ForgeAction.MatchConstants;
|
||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
|
import forge.gui.input.Input;
|
||||||
|
import forge.gui.input.InputPayMana;
|
||||||
import forge.gui.match.CMatchUI;
|
import forge.gui.match.CMatchUI;
|
||||||
import forge.gui.match.controllers.CMessage;
|
import forge.gui.match.controllers.CMessage;
|
||||||
import forge.gui.toolbox.FLabel;
|
import forge.gui.toolbox.FLabel;
|
||||||
|
|||||||
@@ -43,6 +43,16 @@ public class Lang {
|
|||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static <T> String joinVerb(List<T> subjects, String verb) {
|
||||||
|
// English is simple - just add (s) for multiple objects.
|
||||||
|
return subjects.size() > 1 ? verb : verb + "s";
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> String joinNounToAmount(int cnt, String noun) {
|
||||||
|
// Simpliest check
|
||||||
|
return cnt > 1 ? noun : ( noun.endsWith("s") || noun.endsWith("x") ? noun + "es" : noun + "s");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Write javadoc for this method.
|
* TODO: Write javadoc for this method.
|
||||||
* @param name
|
* @param name
|
||||||
|
|||||||
Reference in New Issue
Block a user