mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Devmode tap / untap will use inputs - may select many cards at a time and need not guess them by number
This commit is contained in:
@@ -40,10 +40,12 @@ import forge.CardCharacteristicName;
|
|||||||
import forge.CardLists;
|
import forge.CardLists;
|
||||||
import forge.CardPredicates;
|
import forge.CardPredicates;
|
||||||
import forge.CounterType;
|
import forge.CounterType;
|
||||||
|
import forge.FThreads;
|
||||||
import forge.Singletons;
|
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.GameState;
|
import forge.game.GameState;
|
||||||
import forge.game.PlanarDice;
|
import forge.game.PlanarDice;
|
||||||
import forge.game.player.HumanPlay;
|
import forge.game.player.HumanPlay;
|
||||||
@@ -295,14 +297,20 @@ public final class GuiDisplayUtil {
|
|||||||
* @since 1.0.15
|
* @since 1.0.15
|
||||||
*/
|
*/
|
||||||
public static void devModeTapPerm() {
|
public static void devModeTapPerm() {
|
||||||
final List<Card> play = getGame().getCardsIn(ZoneType.Battlefield);
|
final GameState game = getGame();
|
||||||
final Object o = GuiChoose.oneOrNone("Choose a permanent", CardLists.filter(play, Predicates.not(CardPredicates.Presets.TAPPED)));
|
game.getInputQueue().invokeGameAction(new Runnable() {
|
||||||
if (null == o) {
|
@Override
|
||||||
return;
|
public void run() {
|
||||||
} else {
|
final List<Card> untapped = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), Predicates.not(CardPredicates.Presets.TAPPED));
|
||||||
final Card c = (Card) o;
|
InputSelectCardsFromList inp = new InputSelectCardsFromList(0, Integer.MAX_VALUE, untapped);
|
||||||
c.tap();
|
inp.setCancelAllowed(true);
|
||||||
}
|
inp.setMessage("Choose permanents to tap");
|
||||||
|
game.getInputQueue().setInputAndWait(inp);
|
||||||
|
if( !inp.hasCancelled() )
|
||||||
|
for(Card c : inp.getSelected())
|
||||||
|
c.tap();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -313,14 +321,20 @@ public final class GuiDisplayUtil {
|
|||||||
* @since 1.0.15
|
* @since 1.0.15
|
||||||
*/
|
*/
|
||||||
public static void devModeUntapPerm() {
|
public static void devModeUntapPerm() {
|
||||||
final List<Card> play = getGame().getCardsIn(ZoneType.Battlefield);
|
final GameState game = getGame();
|
||||||
final Object o = GuiChoose.oneOrNone("Choose a permanent", CardLists.filter(play, CardPredicates.Presets.TAPPED));
|
game.getInputQueue().invokeGameAction(new Runnable() {
|
||||||
if (null == o) {
|
@Override
|
||||||
return;
|
public void run() {
|
||||||
} else {
|
final List<Card> tapped = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), CardPredicates.Presets.TAPPED);
|
||||||
final Card c = (Card) o;
|
InputSelectCardsFromList inp = new InputSelectCardsFromList(0, Integer.MAX_VALUE, tapped);
|
||||||
c.untap();
|
inp.setCancelAllowed(true);
|
||||||
}
|
inp.setMessage("Choose permanents to untap");
|
||||||
|
game.getInputQueue().setInputAndWait(inp);
|
||||||
|
if( !inp.hasCancelled() )
|
||||||
|
for(Card c : inp.getSelected())
|
||||||
|
c.untap();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user