move refactoring

removed old card alignment code from guiDisplay
This commit is contained in:
Maxmtg
2012-04-07 10:26:44 +00:00
parent a0b74add1d
commit 5ce60300ea
59 changed files with 903 additions and 1684 deletions

18
.gitattributes vendored
View File

@@ -11348,7 +11348,6 @@ src/main/java/arcane/util/Util.java svneol=native#text/plain
src/main/java/arcane/util/package-info.java svneol=native#text/plain
src/main/java/forge/AllZone.java svneol=native#text/plain
src/main/java/forge/AllZoneUtil.java svneol=native#text/plain
src/main/java/forge/ButtonUtil.java svneol=native#text/plain
src/main/java/forge/Card.java svneol=native#text/plain
src/main/java/forge/CardCharactersticName.java -text
src/main/java/forge/CardColor.java svneol=native#text/plain
@@ -11367,19 +11366,12 @@ src/main/java/forge/Command.java svneol=native#text/plain
src/main/java/forge/CommandArgs.java svneol=native#text/plain
src/main/java/forge/CommandList.java svneol=native#text/plain
src/main/java/forge/CommandReturn.java svneol=native#text/plain
src/main/java/forge/ComputerUtilBlock.java svneol=native#text/plain
src/main/java/forge/Constant.java svneol=native#text/plain
src/main/java/forge/Counters.java svneol=native#text/plain
src/main/java/forge/GameAction.java svneol=native#text/plain
src/main/java/forge/GameActionUtil.java svneol=native#text/plain
src/main/java/forge/GameEntity.java -text
src/main/java/forge/GameLog.java -text
src/main/java/forge/GuiDisplayUtil.java svneol=native#text/plain
src/main/java/forge/GuiImportPicture.java svneol=native#text/plain
src/main/java/forge/GuiInput.java svneol=native#text/plain
src/main/java/forge/GuiMigrateLocalMWSSetPicturesHQ.java svneol=native#text/plain
src/main/java/forge/GuiMultipleBlockers.java svneol=native#text/plain
src/main/java/forge/GuiProgressBarWindow.java svneol=native#text/plain
src/main/java/forge/HandSizeOp.java svneol=native#text/plain
src/main/java/forge/ImageCache.java svneol=native#text/plain
src/main/java/forge/MagicStack.java svneol=native#text/plain
@@ -11389,7 +11381,6 @@ src/main/java/forge/Singletons.java svneol=native#text/plain
src/main/java/forge/StaticEffect.java svneol=native#text/plain
src/main/java/forge/StaticEffects.java svneol=native#text/plain
src/main/java/forge/UndoCommand.java svneol=native#text/plain
src/main/java/forge/ZCTrigger.java svneol=native#text/plain
src/main/java/forge/card/BoosterData.java -text
src/main/java/forge/card/BoosterGenerator.java svneol=native#text/plain
src/main/java/forge/card/CardBlock.java -text
@@ -11557,6 +11548,7 @@ src/main/java/forge/card/trigger/TriggerTurnFaceUp.java svneol=native#text/plain
src/main/java/forge/card/trigger/TriggerType.java -text
src/main/java/forge/card/trigger/TriggerUnequip.java svneol=native#text/plain
src/main/java/forge/card/trigger/TriggerUntaps.java svneol=native#text/plain
src/main/java/forge/card/trigger/ZCTrigger.java svneol=native#text/plain
src/main/java/forge/card/trigger/package-info.java svneol=native#text/plain
src/main/java/forge/control/ControlBazaarUI.java -text
src/main/java/forge/control/ControlMatchUI.java -text
@@ -11647,6 +11639,7 @@ src/main/java/forge/game/player/ComputerAIGeneral.java svneol=native#text/plain
src/main/java/forge/game/player/ComputerAIInput.java svneol=native#text/plain
src/main/java/forge/game/player/ComputerUtil.java svneol=native#text/plain
src/main/java/forge/game/player/ComputerUtilAttack.java svneol=native#text/plain
src/main/java/forge/game/player/ComputerUtilBlock.java svneol=native#text/plain
src/main/java/forge/game/player/DefaultPlayerZone.java svneol=native#text/plain
src/main/java/forge/game/player/HumanPlayer.java svneol=native#text/plain
src/main/java/forge/game/player/IPlayerZone.java svneol=native#text/plain
@@ -11658,6 +11651,12 @@ src/main/java/forge/game/player/PlayerZoneComesIntoPlay.java svneol=native#text/
src/main/java/forge/gui/CardContainer.java svneol=native#text/plain
src/main/java/forge/gui/CardListViewer.java -text
src/main/java/forge/gui/ForgeAction.java svneol=native#text/plain
src/main/java/forge/gui/GuiDisplayUtil.java svneol=native#text/plain
src/main/java/forge/gui/GuiImportPicture.java svneol=native#text/plain
src/main/java/forge/gui/GuiInput.java svneol=native#text/plain
src/main/java/forge/gui/GuiMigrateLocalMWSSetPicturesHQ.java svneol=native#text/plain
src/main/java/forge/gui/GuiMultipleBlockers.java svneol=native#text/plain
src/main/java/forge/gui/GuiProgressBarWindow.java svneol=native#text/plain
src/main/java/forge/gui/GuiUtils.java svneol=native#text/plain
src/main/java/forge/gui/ListChooser.java svneol=native#text/plain
src/main/java/forge/gui/MultiLineLabel.java svneol=native#text/plain
@@ -11872,6 +11871,7 @@ src/main/java/forge/util/StorageView.java -text
src/main/java/forge/util/TextUtil.java -text
src/main/java/forge/util/XmlUtil.java -text
src/main/java/forge/util/package-info.java -text
src/main/java/forge/view/ButtonUtil.java svneol=native#text/plain
src/main/java/forge/view/FView.java svneol=native#text/plain
src/main/java/forge/view/Main.java -text
src/main/java/forge/view/SplashFrame.java -text

View File

@@ -50,6 +50,7 @@ import forge.card.spellability.Target;
import forge.card.staticability.StaticAbility;
import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerType;
import forge.card.trigger.ZCTrigger;
import forge.game.player.ComputerUtil;
import forge.game.player.Player;
import forge.item.CardDb;
@@ -3224,7 +3225,7 @@ public class Card extends GameEntity implements Comparable<Card> {
* @param c
* a {@link forge.Command} object.
* @param typeIn
* a {@link forge.ZCTrigger} object.
* a {@link forge.card.trigger.ZCTrigger} object.
*/
public final void addTrigger(final Command c, final ZCTrigger typeIn) {
this.zcTriggers.add(new AbilityTriggered(this, c, typeIn));
@@ -3238,7 +3239,7 @@ public class Card extends GameEntity implements Comparable<Card> {
* @param c
* a {@link forge.Command} object.
* @param typeIn
* a {@link forge.ZCTrigger} object.
* a {@link forge.card.trigger.ZCTrigger} object.
*/
public final void removeTrigger(final Command c, final ZCTrigger typeIn) {
this.zcTriggers.remove(new AbilityTriggered(this, c, typeIn));
@@ -3250,7 +3251,7 @@ public class Card extends GameEntity implements Comparable<Card> {
* </p>
*
* @param type
* a {@link forge.ZCTrigger} object.
* a {@link forge.card.trigger.ZCTrigger} object.
*/
public final void executeTrigger(final ZCTrigger type) {
for (final AbilityTriggered t : this.zcTriggers) {

View File

@@ -38,6 +38,7 @@ import forge.card.spellability.SpellAbilityList;
import forge.card.trigger.TriggerType;
import forge.control.input.InputPayManaCostUtil;
import forge.game.player.DefaultPlayerZone;
import forge.gui.GuiDisplayUtil;
import forge.item.CardPrinted;
import forge.properties.ForgeProps;
import forge.properties.NewConstants;

File diff suppressed because it is too large Load Diff

View File

@@ -35,6 +35,7 @@ import com.google.common.collect.ComputationException;
import com.google.common.util.concurrent.UncheckedExecutionException;
import com.mortennobel.imagescaling.ResampleOp;
import forge.gui.GuiDisplayUtil;
import forge.item.InventoryItem;
import forge.properties.ForgePreferences.FPref;
import forge.properties.ForgeProps;

View File

@@ -48,7 +48,9 @@ import forge.game.phase.PhaseType;
import forge.game.player.ComputerUtil;
import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.gui.GuiDisplayUtil;
import forge.gui.GuiUtils;
import forge.view.ButtonUtil;
/**
* <p>

View File

@@ -25,7 +25,6 @@ import java.util.Random;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
@@ -49,6 +48,7 @@ import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.gui.GuiUtils;
import forge.util.MyRandom;
import forge.view.ButtonUtil;
/**
* <p>

View File

@@ -30,7 +30,6 @@ import javax.swing.JOptionPane;
import net.slightlymagic.braids.util.ImmutableIterableFrom;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardCharactersticName;
import forge.CardList;
@@ -61,6 +60,7 @@ import forge.gui.GuiUtils;
import forge.properties.ForgeProps;
import forge.properties.NewConstants;
import forge.util.FileUtil;
import forge.view.ButtonUtil;
/**
* <p>

View File

@@ -27,7 +27,6 @@ import com.esotericsoftware.minlog.Log;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardCharactersticName;
import forge.CardList;
@@ -56,6 +55,7 @@ import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.gui.GuiUtils;
import forge.util.MyRandom;
import forge.view.ButtonUtil;
/**
* <p>

View File

@@ -21,7 +21,6 @@ import javax.swing.JOptionPane;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
@@ -42,6 +41,7 @@ import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.gui.GuiUtils;
import forge.util.MyRandom;
import forge.view.ButtonUtil;
/**
* <p>

View File

@@ -28,7 +28,6 @@ import com.esotericsoftware.minlog.Log;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
@@ -52,6 +51,7 @@ import forge.game.player.Player;
import forge.game.player.PlayerUtil;
import forge.game.player.PlayerZone;
import forge.gui.GuiUtils;
import forge.view.ButtonUtil;
/**
* <p>

View File

@@ -30,7 +30,6 @@ import com.esotericsoftware.minlog.Log;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardCharactersticName;
import forge.CardList;
@@ -70,6 +69,7 @@ import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.gui.GuiUtils;
import forge.util.MyRandom;
import forge.view.ButtonUtil;
/**
* <p>

View File

@@ -18,7 +18,6 @@
package forge.card.cost;
import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.CardListUtil;
@@ -31,6 +30,7 @@ import forge.control.input.Input;
import forge.game.player.ComputerUtil;
import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.view.ButtonUtil;
/**
* The Class CostDiscard.

View File

@@ -22,7 +22,6 @@ import java.util.Iterator;
import javax.swing.JOptionPane;
import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.Constant;
@@ -36,6 +35,7 @@ import forge.game.player.ComputerUtil;
import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.gui.GuiUtils;
import forge.view.ButtonUtil;
/**
* The Class CostExile.

View File

@@ -20,7 +20,6 @@ package forge.card.cost;
import com.google.common.base.Strings;
import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.Constant.Zone;
import forge.Singletons;
@@ -35,6 +34,7 @@ import forge.game.phase.PhaseHandler;
import forge.game.player.ComputerUtil;
import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.view.ButtonUtil;
/**
* The Class CostMana.

View File

@@ -17,7 +17,6 @@
*/
package forge.card.cost;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.Constant.Zone;
@@ -29,6 +28,7 @@ import forge.card.spellability.SpellAbility;
import forge.control.input.Input;
import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.view.ButtonUtil;
/**
* The Class CostPutCounter.

View File

@@ -20,7 +20,6 @@ package forge.card.cost;
import javax.swing.JOptionPane;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.Constant.Zone;
@@ -31,6 +30,7 @@ import forge.control.input.Input;
import forge.game.player.ComputerUtil;
import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.view.ButtonUtil;
/**
* The Class CostReturn.

View File

@@ -18,7 +18,6 @@
package forge.card.cost;
import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.Constant;
@@ -31,6 +30,7 @@ import forge.game.player.ComputerUtil;
import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.gui.GuiUtils;
import forge.view.ButtonUtil;
/**
* The Class CostReveal.

View File

@@ -20,7 +20,6 @@ package forge.card.cost;
import javax.swing.JOptionPane;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.Constant.Zone;
@@ -31,6 +30,7 @@ import forge.control.input.Input;
import forge.game.player.ComputerUtil;
import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.view.ButtonUtil;
/**
* The Class CostSacrifice.

View File

@@ -17,7 +17,6 @@
*/
package forge.card.cost;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
@@ -30,6 +29,7 @@ import forge.control.input.Input;
import forge.game.player.ComputerUtil;
import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.view.ButtonUtil;
/**
* The Class CostTapType.

View File

@@ -23,8 +23,8 @@ import forge.Card;
import forge.CardCharactersticName;
import forge.CardList;
import forge.Command;
import forge.ZCTrigger;
import forge.card.CardCharacteristics;
import forge.card.trigger.ZCTrigger;
/**
* <p>
@@ -79,7 +79,7 @@ public class AbilityTriggered extends Ability implements Command {
* @param sourceCommand
* a {@link forge.Command} object.
* @param situation
* a {@link forge.ZCTrigger} object.
* a {@link forge.card.trigger.ZCTrigger} object.
*/
public AbilityTriggered(final Card sourceCard, final Command sourceCommand, final ZCTrigger situation) {
super(sourceCard, "0");

View File

@@ -21,7 +21,6 @@ import java.util.HashMap;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.CardUtil;
@@ -40,6 +39,7 @@ import forge.game.phase.PhaseType;
import forge.game.player.ComputerAIGeneral;
import forge.game.player.ComputerUtil;
import forge.game.player.Player;
import forge.view.ButtonUtil;
/**
* <p>

View File

@@ -23,7 +23,6 @@ import java.util.List;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.Constant;
@@ -34,6 +33,7 @@ import forge.control.input.Input;
import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.gui.GuiUtils;
import forge.view.ButtonUtil;
/**
* <p>

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge;
package forge.card.trigger;
/**
* <p>
@@ -84,7 +84,7 @@ public enum ZCTrigger {
*
* @param description
* a {@link java.lang.String} object.
* @return a {@link forge.ZCTrigger} object.
* @return a {@link forge.card.trigger.ZCTrigger} object.
*/
public static ZCTrigger getTrigger(final String description) {
for (final ZCTrigger t : ZCTrigger.values()) {

View File

@@ -29,7 +29,6 @@ import forge.Card;
import forge.CardList;
import forge.Constant;
import forge.Constant.Zone;
import forge.GuiMultipleBlockers;
import forge.Singletons;
import forge.control.match.ControlDetail;
import forge.control.match.ControlDock;
@@ -42,6 +41,7 @@ import forge.game.GameType;
import forge.game.phase.PhaseType;
import forge.game.player.Player;
import forge.gui.CardContainer;
import forge.gui.GuiMultipleBlockers;
import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FSkin;
import forge.properties.ForgePreferences.FPref;

View File

@@ -18,13 +18,13 @@
package forge.control.input;
import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.Constant;
import forge.Constant.Zone;
import forge.game.phase.CombatUtil;
import forge.game.player.PlayerZone;
import forge.view.ButtonUtil;
import forge.Singletons;
/**

View File

@@ -20,12 +20,12 @@ package forge.control.input;
import java.util.ArrayList;
import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.Constant;
import forge.Singletons;
import forge.game.phase.CombatUtil;
import forge.game.player.PlayerZone;
import forge.view.ButtonUtil;
/**
* <p>

View File

@@ -18,12 +18,12 @@
package forge.control.input;
import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.Constant;
import forge.Constant.Zone;
import forge.game.phase.CombatUtil;
import forge.game.player.PlayerZone;
import forge.view.ButtonUtil;
import forge.Singletons;
/**

View File

@@ -21,7 +21,6 @@ import java.util.ArrayList;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.Constant;
@@ -39,6 +38,7 @@ import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.quest.QuestController;
import forge.quest.bazaar.QuestItemType;
import forge.view.ButtonUtil;
/**
* <p>
* InputMulligan class.

View File

@@ -18,13 +18,13 @@
package forge.control.input;
import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.GuiDisplayUtil;
import forge.Singletons;
import forge.game.phase.PhaseType;
import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.gui.GuiDisplayUtil;
import forge.view.ButtonUtil;
/**
* <p>

View File

@@ -18,7 +18,6 @@
package forge.control.input;
import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.Constant.Zone;
import forge.Singletons;
@@ -28,6 +27,7 @@ import forge.card.trigger.TriggerType;
import forge.game.phase.PhaseHandler;
import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.view.ButtonUtil;
//pays the cost of a card played from the player's hand
//the card is removed from the players hand if the cost is paid

View File

@@ -18,7 +18,6 @@
package forge.control.input;
import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.Command;
import forge.Constant.Zone;
@@ -26,6 +25,7 @@ import forge.Singletons;
import forge.card.mana.ManaCost;
import forge.card.spellability.SpellAbility;
import forge.game.player.PlayerZone;
import forge.view.ButtonUtil;
//if cost is paid, Command.execute() is called

View File

@@ -37,7 +37,6 @@ import forge.Card;
import forge.CardList;
import forge.Constant;
import forge.Constant.Zone;
import forge.GuiDisplayUtil;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
import forge.control.input.Input;
@@ -49,6 +48,7 @@ import forge.control.input.InputPayManaCostAbility;
import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.gui.ForgeAction;
import forge.gui.GuiDisplayUtil;
import forge.gui.GuiUtils;
import forge.gui.toolbox.FLabel;
import forge.properties.ForgeProps;

View File

@@ -21,8 +21,8 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import forge.Constant;
import forge.GuiInput;
import forge.Singletons;
import forge.gui.GuiInput;
import forge.view.match.ViewMessage;
/**

View File

@@ -24,9 +24,9 @@ import java.util.Observable;
import java.util.Observer;
import forge.AllZone;
import forge.GuiDisplayUtil;
import forge.MyObservable;
import forge.Singletons;
import forge.gui.GuiDisplayUtil;
import forge.properties.ForgePreferences.FPref;
import forge.view.match.ViewTabber;

View File

@@ -21,7 +21,6 @@ import java.util.ArrayList;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
@@ -35,6 +34,7 @@ import forge.card.cardfactory.CardFactoryUtil;
import forge.control.input.Input;
import forge.game.player.Player;
import forge.game.player.PlayerZone;
import forge.view.ButtonUtil;
/**
* <p>

View File

@@ -21,7 +21,6 @@ import java.util.ArrayList;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardCharactersticName;
import forge.CardList;
@@ -46,6 +45,7 @@ import forge.game.player.Player;
import forge.game.player.PlayerUtil;
import forge.game.player.PlayerZone;
import forge.gui.GuiUtils;
import forge.view.ButtonUtil;
/**
* <p>

View File

@@ -27,7 +27,6 @@ import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
import forge.CardList;
import forge.ComputerUtilBlock;
import forge.Singletons;
import forge.Constant.Zone;
import forge.card.abilityfactory.AbilityFactory;

View File

@@ -29,7 +29,6 @@ import forge.CardList;
import forge.CardListFilter;
import forge.CardListUtil;
import forge.CardUtil;
import forge.ComputerUtilBlock;
import forge.Constant;
import forge.GameAction;
import forge.Singletons;

View File

@@ -15,10 +15,17 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge;
package forge.game.player;
import java.util.List;
import forge.AllZone;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
import forge.CardListUtil;
import forge.Counters;
import forge.GameEntity;
import forge.card.cardfactory.CardFactoryUtil;
import forge.game.phase.Combat;
import forge.game.phase.CombatUtil;

View File

@@ -39,8 +39,6 @@ import forge.GameActionUtil;
import forge.GameEntity;
import forge.HandSizeOp;
import forge.Singletons;
import forge.Constant.Color;
import forge.Constant.Runtime;
import forge.Constant.Zone;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.mana.ManaPool;

View File

@@ -18,7 +18,6 @@
package forge.game.player;
import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
@@ -27,6 +26,7 @@ import forge.Singletons;
import forge.Constant.Zone;
import forge.card.spellability.SpellAbility;
import forge.control.input.Input;
import forge.view.ButtonUtil;
/**
* <p>

View File

@@ -0,0 +1,809 @@
/*
* Forge: Play Magic: the Gathering.
* Copyright (C) 2011 Forge Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.gui;
import java.awt.Color;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.border.Border;
import arcane.ui.PlayArea;
import arcane.ui.util.Animation;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
import forge.CardCharactersticName;
import forge.CardList;
import forge.CardUtil;
import forge.Constant;
import forge.Counters;
import forge.Singletons;
import forge.Constant.Zone;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.AbilityMana;
import forge.card.trigger.TriggerType;
import forge.game.player.Player;
import forge.gui.game.CardPanel;
import forge.item.CardDb;
import forge.item.CardPrinted;
/**
* <p>
* GuiDisplayUtil class.
* </p>
*
* @author Forge
* @version $Id$
*/
public final class GuiDisplayUtil {
private GuiDisplayUtil() {
throw new AssertionError();
}
/**
* <p>
* getBorder.
* </p>
*
* @param card
* a {@link forge.Card} object.
* @return a {@link javax.swing.border.Border} object.
*/
public static Border getBorder(final Card card) {
// color info
if (card == null) {
return BorderFactory.createEmptyBorder(2, 2, 2, 2);
}
java.awt.Color color;
final ArrayList<String> list = CardUtil.getColors(card);
if (card.isFaceDown()) {
color = Color.gray;
} else if (list.size() > 1) {
color = Color.orange;
} else if (list.get(0).equals(Constant.Color.BLACK)) {
color = Color.black;
} else if (list.get(0).equals(Constant.Color.GREEN)) {
color = new Color(0, 220, 39);
} else if (list.get(0).equals(Constant.Color.WHITE)) {
color = Color.white;
} else if (list.get(0).equals(Constant.Color.RED)) {
color = Color.red;
} else if (list.get(0).equals(Constant.Color.BLUE)) {
color = Color.blue;
} else if (list.get(0).equals(Constant.Color.COLORLESS)) {
color = Color.gray;
} else {
color = new Color(200, 0, 230); // If your card has a violet border,
// something is wrong
}
if (color != Color.gray) {
int r = color.getRed();
int g = color.getGreen();
int b = color.getBlue();
final int shade = 10;
r -= shade;
g -= shade;
b -= shade;
r = Math.max(0, r);
g = Math.max(0, g);
b = Math.max(0, b);
color = new Color(r, g, b);
return BorderFactory.createLineBorder(color, 2);
} else {
return BorderFactory.createLineBorder(Color.gray, 2);
}
}
/**
* <p>
* devModeGenerateMana.
* </p>
*/
public static void devModeGenerateMana() {
final Card dummy = new Card();
dummy.setOwner(AllZone.getHumanPlayer());
dummy.addController(AllZone.getHumanPlayer());
final AbilityMana abMana = new AbilityMana(dummy, "0", "W U B G R 1", 10) {
private static final long serialVersionUID = -2164401486331182356L;
};
abMana.produceMana();
}
/**
* <p>
* formatCardType.
* </p>
*
* @param card
* a {@link forge.Card} object.
* @return a {@link java.lang.String} object.
*/
public static String formatCardType(final Card card) {
final ArrayList<String> list = card.getType();
final StringBuilder sb = new StringBuilder();
final ArrayList<String> superTypes = new ArrayList<String>();
final ArrayList<String> cardTypes = new ArrayList<String>();
final ArrayList<String> subTypes = new ArrayList<String>();
final boolean allCreatureTypes = list.contains("AllCreatureTypes");
for (final String t : list) {
if (allCreatureTypes && t.equals("AllCreatureTypes")) {
continue;
}
if (CardUtil.isASuperType(t) && !superTypes.contains(t)) {
superTypes.add(t);
}
if (CardUtil.isACardType(t) && !cardTypes.contains(t)) {
cardTypes.add(t);
}
if (CardUtil.isASubType(t) && !subTypes.contains(t) && (!allCreatureTypes || !CardUtil.isACreatureType(t))) {
subTypes.add(t);
}
}
for (final String type : superTypes) {
sb.append(type).append(" ");
}
for (final String type : cardTypes) {
sb.append(type).append(" ");
}
if (!subTypes.isEmpty() || allCreatureTypes) {
sb.append("- ");
}
if (allCreatureTypes) {
sb.append("All creature types ");
}
for (final String type : subTypes) {
sb.append(type).append(" ");
}
return sb.toString();
}
/**
* <p>
* cleanString.
* </p>
*
* @param in
* a {@link java.lang.String} object.
* @return a {@link java.lang.String} object.
*/
public static String cleanString(final String in) {
final StringBuffer out = new StringBuffer();
char c;
for (int i = 0; i < in.length(); i++) {
c = in.charAt(i);
if ((c == ' ') || (c == '-')) {
out.append('_');
} else if (Character.isLetterOrDigit(c) || (c == '_')) {
out.append(c);
}
}
return out.toString().toLowerCase();
}
/**
* <p>
* cleanStringMWS.
* </p>
*
* @param in
* a {@link java.lang.String} object.
* @return a {@link java.lang.String} object.
*/
public static String cleanStringMWS(final String in) {
final StringBuffer out = new StringBuffer();
char c;
for (int i = 0; i < in.length(); i++) {
c = in.charAt(i);
if ((c == '"') || (c == '/')) {
out.append("");
} else {
out.append(c);
}
}
return out.toString();
}
/**
* <p>
* isStackable.
* </p>
*
* @param c
* a {@link forge.Card} object.
* @return a boolean.
*/
public static boolean isStackable(final Card c) {
if (c.isLand() || (c.getName().startsWith("Mox") && !c.getName().equals("Mox Diamond"))
|| (c.isLand() && c.isEnchanted()) || (c.isAura() && c.isEnchanting())
|| (c.isToken() && CardFactoryUtil.multipleControlled(c))
|| (c.isCreature() && (c.isEquipped() || c.isEnchanted())) || (c.isEquipment() && c.isEquipping())
|| (c.isEnchantment())) {
return true;
}
return false;
}
// ~
/**
* <p>
* setupConnectedCards.
* </p>
*
* @param connectedCards
* a {@link java.util.ArrayList} object.
*/
public static void setupConnectedCards(final ArrayList<CardPanel> connectedCards) {
for (int i = connectedCards.size() - 1; i > 0; i--) {
// System.out.println("We should have a stack");
final CardPanel cp = connectedCards.get(i);
cp.setConnectedCard(connectedCards.get(i - 1));
}
}
// ~
/**
* <p>
* setupPlayZone.
* </p>
*
* @param p
* a {@link arcane.ui.PlayArea} object.
* @param c
* an array of {@link forge.Card} objects.
*/
public static void setupPlayZone(final PlayArea p, final List<Card> c) {
List<Card> tmp, diff;
tmp = new ArrayList<Card>();
for (final arcane.ui.CardPanel cpa : p.getCardPanels()) {
tmp.add(cpa.getGameCard());
}
diff = new ArrayList<Card>(tmp);
diff.removeAll(c);
if (diff.size() == p.getCardPanels().size()) {
p.clear();
} else {
for (final Card card : diff) {
p.removeCardPanel(p.getCardPanel(card.getUniqueNumber()));
}
}
diff = new ArrayList<Card>(c);
diff.removeAll(tmp);
arcane.ui.CardPanel toPanel = null;
for (final Card card : diff) {
toPanel = p.addCard(card);
Animation.moveCard(toPanel);
}
for (final Card card : c) {
toPanel = p.getCardPanel(card.getUniqueNumber());
if (card.isTapped()) {
toPanel.setTapped(true);
toPanel.setTappedAngle(arcane.ui.CardPanel.TAPPED_ANGLE);
} else {
toPanel.setTapped(false);
toPanel.setTappedAngle(0);
}
toPanel.getAttachedPanels().clear();
if (card.isEnchanted()) {
final ArrayList<Card> enchants = card.getEnchantedBy();
for (final Card e : enchants) {
final arcane.ui.CardPanel cardE = p.getCardPanel(e.getUniqueNumber());
if (cardE != null) {
toPanel.getAttachedPanels().add(cardE);
}
}
}
if (card.isEquipped()) {
final ArrayList<Card> enchants = card.getEquippedBy();
for (final Card e : enchants) {
final arcane.ui.CardPanel cardE = p.getCardPanel(e.getUniqueNumber());
if (cardE != null) {
toPanel.getAttachedPanels().add(cardE);
}
}
}
if (card.isEnchantingCard()) {
toPanel.setAttachedToPanel(p.getCardPanel(card.getEnchantingCard().getUniqueNumber()));
} else if (card.isEquipping()) {
toPanel.setAttachedToPanel(p.getCardPanel(card.getEquipping().get(0).getUniqueNumber()));
} else {
toPanel.setAttachedToPanel(null);
}
toPanel.setCard(toPanel.getGameCard());
}
p.invalidate();
p.repaint();
}
/**
* <p>
* updateGUI.
* </p>
*/
public static void updateGUI() {
AllZone.getComputerPlayer().getZone(Zone.Battlefield).updateObservers();
AllZone.getHumanPlayer().getZone(Zone.Battlefield).updateObservers();
//AllZone.getHumanPlayer().getZone(Zone.Hand).updateObservers();
AllZone.getComputerPlayer().updateObservers();
AllZone.getHumanPlayer().updateObservers();
}
/**
* <p>
* devSetupGameState.
* </p>
*/
public static void devSetupGameState() {
String tHumanLife = "-1";
String tComputerLife = "-1";
String tHumanSetupCardsInPlay = "NONE";
String tComputerSetupCardsInPlay = "NONE";
String tHumanSetupCardsInHand = "NONE";
String tComputerSetupCardsInHand = "NONE";
String tHumanSetupGraveyard = "NONE";
String tComputerSetupGraveyard = "NONE";
String tHumanSetupLibrary = "NONE";
String tComputerSetupLibrary = "NONE";
String tHumanSetupExile = "NONE";
String tComputerSetupExile = "NONE";
String tChangePlayer = "NONE";
String tChangePhase = "NONE";
final String wd = ".";
final JFileChooser fc = new JFileChooser(wd);
final int rc = fc.showDialog(null, "Select Game State File");
if (rc != JFileChooser.APPROVE_OPTION) {
return;
}
try {
final FileInputStream fstream = new FileInputStream(fc.getSelectedFile().getAbsolutePath());
final DataInputStream in = new DataInputStream(fstream);
final BufferedReader br = new BufferedReader(new InputStreamReader(in));
String temp = "";
while ((temp = br.readLine()) != null) {
final String[] tempData = temp.split("=");
if (tempData.length < 2) {
continue;
}
if (tempData[0].toCharArray()[0] == '#') {
continue;
}
final String categoryName = tempData[0];
final String categoryValue = tempData[1];
if (categoryName.toLowerCase().equals("humanlife")) {
tHumanLife = categoryValue;
} else if (categoryName.toLowerCase().equals("ailife")) {
tComputerLife = categoryValue;
} else if (categoryName.toLowerCase().equals("humancardsinplay")) {
tHumanSetupCardsInPlay = categoryValue;
} else if (categoryName.toLowerCase().equals("aicardsinplay")) {
tComputerSetupCardsInPlay = categoryValue;
} else if (categoryName.toLowerCase().equals("humancardsinhand")) {
tHumanSetupCardsInHand = categoryValue;
} else if (categoryName.toLowerCase().equals("aicardsinhand")) {
tComputerSetupCardsInHand = categoryValue;
} else if (categoryName.toLowerCase().equals("humancardsingraveyard")) {
tHumanSetupGraveyard = categoryValue;
} else if (categoryName.toLowerCase().equals("aicardsingraveyard")) {
tComputerSetupGraveyard = categoryValue;
} else if (categoryName.toLowerCase().equals("humancardsinlibrary")) {
tHumanSetupLibrary = categoryValue;
} else if (categoryName.toLowerCase().equals("aicardsinlibrary")) {
tComputerSetupLibrary = categoryValue;
} else if (categoryName.toLowerCase().equals("humancardsinexile")) {
tHumanSetupExile = categoryValue;
} else if (categoryName.toLowerCase().equals("aicardsinexile")) {
tComputerSetupExile = categoryValue;
} else if (categoryName.toLowerCase().equals("activeplayer")) {
tChangePlayer = categoryValue;
} else if (categoryName.toLowerCase().equals("activephase")) {
tChangePhase = categoryValue;
}
}
in.close();
} catch (final FileNotFoundException fnfe) {
JOptionPane.showMessageDialog(null, "File not found: " + fc.getSelectedFile().getAbsolutePath());
} catch (final Exception e) {
JOptionPane.showMessageDialog(null, "Error loading battle setup file!");
return;
}
final int setHumanLife = Integer.parseInt(tHumanLife);
final int setComputerLife = Integer.parseInt(tComputerLife);
final String[] humanSetupCardsInPlay = tHumanSetupCardsInPlay.split(";");
final String[] computerSetupCardsInPlay = tComputerSetupCardsInPlay.split(";");
final String[] humanSetupCardsInHand = tHumanSetupCardsInHand.split(";");
final String[] computerSetupCardsInHand = tComputerSetupCardsInHand.split(";");
final String[] humanSetupGraveyard = tHumanSetupGraveyard.split(";");
final String[] computerSetupGraveyard = tComputerSetupGraveyard.split(";");
final String[] humanSetupLibrary = tHumanSetupLibrary.split(";");
final String[] computerSetupLibrary = tComputerSetupLibrary.split(";");
final String[] humanSetupExile = tHumanSetupExile.split(";");
final String[] computerSetupExile = tComputerSetupExile.split(";");
CardList humanDevSetup = new CardList();
CardList computerDevSetup = new CardList();
CardList humanDevHandSetup = new CardList();
CardList computerDevHandSetup = new CardList();
CardList humanDevGraveyardSetup = new CardList();
CardList computerDevGraveyardSetup = new CardList();
CardList humanDevLibrarySetup = new CardList();
CardList computerDevLibrarySetup = new CardList();
CardList humanDevExileSetup = new CardList();
CardList computerDevExileSetup = new CardList();
if (!tChangePlayer.trim().toLowerCase().equals("none")) {
if (tChangePlayer.trim().toLowerCase().equals("human")) {
Singletons.getModel().getGameState().getPhaseHandler().setPlayerTurn(AllZone.getHumanPlayer());
}
if (tChangePlayer.trim().toLowerCase().equals("ai")) {
Singletons.getModel().getGameState().getPhaseHandler().setPlayerTurn(AllZone.getComputerPlayer());
}
}
if (!tChangePhase.trim().toLowerCase().equals("none")) {
Singletons.getModel().getGameState().getPhaseHandler().setDevPhaseState(forge.game.phase.PhaseType.smartValueOf(tChangePhase));
}
if (!tHumanSetupCardsInPlay.trim().toLowerCase().equals("none")) {
humanDevSetup = GuiDisplayUtil.devProcessCardsForZone(humanSetupCardsInPlay, AllZone.getHumanPlayer());
}
if (!tHumanSetupCardsInHand.trim().toLowerCase().equals("none")) {
humanDevHandSetup = GuiDisplayUtil.devProcessCardsForZone(humanSetupCardsInHand, AllZone.getHumanPlayer());
}
if (!tComputerSetupCardsInPlay.trim().toLowerCase().equals("none")) {
computerDevSetup = GuiDisplayUtil.devProcessCardsForZone(computerSetupCardsInPlay,
AllZone.getComputerPlayer());
}
if (!tComputerSetupCardsInHand.trim().toLowerCase().equals("none")) {
computerDevHandSetup = GuiDisplayUtil.devProcessCardsForZone(computerSetupCardsInHand,
AllZone.getComputerPlayer());
}
if (!tComputerSetupGraveyard.trim().toLowerCase().equals("none")) {
computerDevGraveyardSetup = GuiDisplayUtil.devProcessCardsForZone(computerSetupGraveyard,
AllZone.getComputerPlayer());
}
if (!tHumanSetupGraveyard.trim().toLowerCase().equals("none")) {
humanDevGraveyardSetup = GuiDisplayUtil.devProcessCardsForZone(humanSetupGraveyard,
AllZone.getHumanPlayer());
}
if (!tHumanSetupLibrary.trim().toLowerCase().equals("none")) {
humanDevLibrarySetup = GuiDisplayUtil.devProcessCardsForZone(humanSetupLibrary, AllZone.getHumanPlayer());
}
if (!tComputerSetupLibrary.trim().toLowerCase().equals("none")) {
computerDevLibrarySetup = GuiDisplayUtil.devProcessCardsForZone(computerSetupLibrary,
AllZone.getComputerPlayer());
}
if (!tHumanSetupExile.trim().toLowerCase().equals("none")) {
humanDevExileSetup = GuiDisplayUtil.devProcessCardsForZone(humanSetupExile, AllZone.getHumanPlayer());
}
if (!tComputerSetupExile.trim().toLowerCase().equals("none")) {
computerDevExileSetup = GuiDisplayUtil.devProcessCardsForZone(computerSetupExile,
AllZone.getComputerPlayer());
}
AllZone.getTriggerHandler().suppressMode(TriggerType.ChangesZone);
AllZone.getCombat().reset();
for (final Card c : humanDevSetup) {
AllZone.getHumanPlayer().getZone(Zone.Hand).add(c);
Singletons.getModel().getGameAction().moveToPlay(c);
c.setSickness(false);
}
for (final Card c : computerDevSetup) {
AllZone.getComputerPlayer().getZone(Zone.Hand).add(c);
Singletons.getModel().getGameAction().moveToPlay(c);
c.setSickness(false);
}
if (computerDevGraveyardSetup.size() > 0) {
AllZone.getComputerPlayer().getZone(Zone.Graveyard).setCards(computerDevGraveyardSetup);
}
if (humanDevGraveyardSetup.size() > 0) {
AllZone.getHumanPlayer().getZone(Zone.Graveyard).setCards(humanDevGraveyardSetup);
}
if (computerDevHandSetup.size() > 0) {
AllZone.getComputerPlayer().getZone(Zone.Hand).setCards(computerDevHandSetup);
}
if (humanDevHandSetup.size() > 0) {
AllZone.getHumanPlayer().getZone(Zone.Hand).setCards(humanDevHandSetup);
}
if (humanDevLibrarySetup.size() > 0) {
AllZone.getHumanPlayer().getZone(Zone.Library).setCards(humanDevLibrarySetup);
}
if (computerDevLibrarySetup.size() > 0) {
AllZone.getComputerPlayer().getZone(Zone.Library).setCards(computerDevLibrarySetup);
}
if (humanDevExileSetup.size() > 0) {
AllZone.getHumanPlayer().getZone(Zone.Exile).setCards(humanDevExileSetup);
}
if (computerDevExileSetup.size() > 0) {
AllZone.getComputerPlayer().getZone(Zone.Exile).setCards(computerDevExileSetup);
}
AllZone.getTriggerHandler().clearSuppression(TriggerType.ChangesZone);
if (setComputerLife > 0) {
AllZone.getComputerPlayer().setLife(setComputerLife, null);
}
if (setHumanLife > 0) {
AllZone.getHumanPlayer().setLife(setHumanLife, null);
}
Singletons.getModel().getGameAction().checkStateEffects();
Singletons.getModel().getGameState().getPhaseHandler().updateObservers();
AllZone.getHumanPlayer().getZone(Zone.Exile).updateObservers();
AllZone.getComputerPlayer().getZone(Zone.Exile).updateObservers();
AllZone.getHumanPlayer().getZone(Zone.Hand).updateObservers();
AllZone.getComputerPlayer().getZone(Zone.Hand).updateObservers();
AllZone.getHumanPlayer().getZone(Zone.Graveyard).updateObservers();
AllZone.getComputerPlayer().getZone(Zone.Graveyard).updateObservers();
AllZone.getHumanPlayer().getZone(Zone.Battlefield).updateObservers();
AllZone.getComputerPlayer().getZone(Zone.Battlefield).updateObservers();
AllZone.getHumanPlayer().getZone(Zone.Library).updateObservers();
AllZone.getComputerPlayer().getZone(Zone.Library).updateObservers();
}
/**
* <p>
* devProcessCardsForZone.
* </p>
*
* @param data
* an array of {@link java.lang.String} objects.
* @param player
* a {@link forge.game.player.Player} object.
* @return a {@link forge.CardList} object.
*/
public static CardList devProcessCardsForZone(final String[] data, final Player player) {
final CardList cl = new CardList();
for (final String element : data) {
final String[] cardinfo = element.trim().split("\\|");
final Card c = AllZone.getCardFactory().getCard(cardinfo[0], player);
boolean hasSetCurSet = false;
for (final String info : cardinfo) {
if (info.startsWith("Set:")) {
c.setCurSetCode(info.substring(info.indexOf(':') + 1));
hasSetCurSet = true;
} else if (info.equalsIgnoreCase("Tapped:True")) {
c.tap();
} else if (info.startsWith("Counters:")) {
final String[] counterStrings = info.substring(info.indexOf(':') + 1).split(",");
for (final String counter : counterStrings) {
c.addCounter(Counters.valueOf(counter), 1);
}
} else if (info.equalsIgnoreCase("SummonSick:True")) {
c.setSickness(true);
} else if (info.equalsIgnoreCase("FaceDown:True")) {
c.setState(CardCharactersticName.FaceDown);
}
}
if (!hasSetCurSet) {
c.setCurSetCode(c.getMostRecentSet());
}
c.setImageFilename(CardUtil.buildFilename(c));
cl.add(c);
}
return cl;
}
/**
* <p>
* devModeTutor.
* </p>
*
* @since 1.0.15
*/
public static void devModeTutor() {
final CardList lib = AllZone.getHumanPlayer().getCardsIn(Zone.Library);
final Object o = GuiUtils.chooseOneOrNone("Choose a card", lib.toArray());
if (null == o) {
return;
} else {
final Card c = (Card) o;
Singletons.getModel().getGameAction().moveToHand(c);
}
}
/**
* <p>
* devModeTutor.
* </p>
*
* @since 1.2.7
*/
public static void devModeAddAnyCard() {
final Iterable<CardPrinted> uniqueCards = CardDb.instance().getAllUniqueCards();
final List<String> cards = new ArrayList<String>();
for (final CardPrinted c : uniqueCards) {
cards.add(c.getName());
}
Collections.sort(cards);
// use standard forge's list selection dialog
final ListChooser<String> c = new ListChooser<String>("Name the card", 0, 1, cards);
if (c.show()) {
CardPrinted cp = CardDb.instance().getCard(c.getSelectedValue());
Card forgeCard = cp.toForgeCard(AllZone.getHumanPlayer());
Singletons.getModel().getGameAction().moveToHand(forgeCard);
}
}
/**
* <p>
* devModeAddCounter.
* </p>
*
* @since 1.0.15
*/
public static void devModeAddCounter() {
final CardList play = AllZoneUtil.getCardsIn(Zone.Battlefield);
final Object o = GuiUtils.chooseOneOrNone("Add counters to which card?", play.toArray());
if (null == o) {
return;
} else {
final Card c = (Card) o;
final Counters counter = GuiUtils.chooseOneOrNone("Which type of counter?", Counters.values());
if (null == counter) {
return;
} else {
final Integer[] integers = new Integer[99];
for (int j = 0; j < 99; j++) {
integers[j] = Integer.valueOf(j);
}
final Integer i = GuiUtils.chooseOneOrNone("How many counters?", integers);
if (null == i) {
return;
} else {
c.addCounterFromNonEffect(counter, i);
}
}
}
}
/**
* <p>
* devModeTapPerm.
* </p>
*
* @since 1.0.15
*/
public static void devModeTapPerm() {
final CardList play = AllZoneUtil.getCardsIn(Zone.Battlefield);
final Object o = GuiUtils.chooseOneOrNone("Choose a permanent", play.toArray());
if (null == o) {
return;
} else {
final Card c = (Card) o;
c.tap();
}
}
/**
* <p>
* devModeUntapPerm.
* </p>
*
* @since 1.0.15
*/
public static void devModeUntapPerm() {
final CardList play = AllZoneUtil.getCardsIn(Zone.Battlefield);
final Object o = GuiUtils.chooseOneOrNone("Choose a permanent", play.toArray());
if (null == o) {
return;
} else {
final Card c = (Card) o;
c.untap();
}
}
/**
* <p>
* devModeUnlimitedLand.
* </p>
*
* @since 1.0.16
*/
public static void devModeUnlimitedLand() {
AllZone.getHumanPlayer().addMaxLandsToPlay(100);
}
/**
* <p>
* devModeSetLife.
* </p>
*
* @since 1.1.3
*/
public static void devModeSetLife() {
final List<Player> players = AllZone.getPlayersInGame();
final Object o = GuiUtils.chooseOneOrNone("Set life for which player?", players.toArray());
if (null == o) {
return;
} else {
final Player p = (Player) o;
final Integer[] integers = new Integer[99];
for (int j = 0; j < 99; j++) {
integers[j] = Integer.valueOf(j);
}
final Integer i = GuiUtils.chooseOneOrNone("Set life to what?", integers);
if (null == i) {
return;
} else {
p.setLife(i, null);
}
}
}
} // end class GuiDisplayUtil

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge;
package forge.gui;
import java.awt.Color;
import java.awt.Dimension;

View File

@@ -15,11 +15,15 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge;
package forge.gui;
import java.util.Observable;
import java.util.Observer;
import forge.AllZone;
import forge.Card;
import forge.MyObservable;
import forge.Singletons;
import forge.control.input.Input;
import forge.game.player.Player;
import forge.game.player.PlayerZone;

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge;
package forge.gui;
import java.awt.Dimension;
import java.awt.EventQueue;
@@ -51,6 +51,10 @@ import javax.swing.event.ChangeListener;
import com.esotericsoftware.minlog.Log;
import forge.AllZone;
import forge.Card;
import forge.CardUtil;
import forge.Singletons;
import forge.card.EditionInfo;
import forge.error.ErrorViewer;
import forge.properties.ForgeProps;
@@ -134,7 +138,7 @@ public final class GuiMigrateLocalMWSSetPicturesHQ extends DefaultBoundedRangeMo
*
* @param c
* an array of
* {@link forge.GuiMigrateLocalMWSSetPicturesHQ.MCard} objects.
* {@link forge.gui.GuiMigrateLocalMWSSetPicturesHQ.MCard} objects.
*/
private GuiMigrateLocalMWSSetPicturesHQ(final MCard[] c) {
this.cards = c;
@@ -475,7 +479,7 @@ public final class GuiMigrateLocalMWSSetPicturesHQ extends DefaultBoundedRangeMo
* getNeededCards.
* </p>
*
* @return an array of {@link forge.GuiMigrateLocalMWSSetPicturesHQ.MCard}
* @return an array of {@link forge.gui.GuiMigrateLocalMWSSetPicturesHQ.MCard}
* objects.
*/
private static MCard[] getNeededCards() {

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge;
package forge.gui;
import java.awt.BorderLayout;
import java.awt.Rectangle;
@@ -29,8 +29,11 @@ import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.SwingConstants;
import forge.AllZone;
import forge.Card;
import forge.CardList;
import forge.Singletons;
import forge.error.ErrorViewer;
import forge.gui.CardContainer;
import forge.gui.game.CardPanel;
/**

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge;
package forge.gui;
import java.awt.Dimension;

View File

@@ -25,7 +25,6 @@ import javax.swing.WindowConstants;
import net.slightlymagic.braids.util.UtilFunctions;
import net.slightlymagic.braids.util.progress_monitor.BaseProgressMonitor;
import forge.GuiProgressBarWindow;
/**
* GUI Progress Monitor that displays the ETA (Estimated Time of Arrival or

View File

@@ -28,7 +28,7 @@ import arcane.ui.CardPanel;
import arcane.ui.ViewPanel;
import forge.Card;
import forge.CardCharactersticName;
import forge.GuiDisplayUtil;
import forge.gui.GuiDisplayUtil;
import forge.gui.game.CardDetailPanel;
import forge.item.CardPrinted;
import forge.item.InventoryItem;

View File

@@ -25,7 +25,7 @@ import javax.swing.JFrame;
import forge.AllZone;
import forge.Card;
import forge.GuiDisplayUtil;
import forge.gui.GuiDisplayUtil;
import forge.properties.ForgeProps;
import forge.properties.NewConstants;

View File

@@ -38,9 +38,9 @@ import forge.Card;
import forge.Constant;
import forge.Constant.Zone;
import forge.gui.CardContainer;
import forge.gui.GuiDisplayUtil;
import forge.Counters;
import forge.GameEntity;
import forge.GuiDisplayUtil;
/**
* The class CardDetailPanel. Shows the details of a card.

View File

@@ -26,9 +26,9 @@ import javax.swing.JLabel;
import javax.swing.JPanel;
import forge.Card;
import forge.GuiDisplayUtil;
import forge.ImageCache;
import forge.gui.CardContainer;
import forge.gui.GuiDisplayUtil;
/**
* The class CardPanel. A card panel stores a card to display it on the

View File

@@ -1,8 +1,8 @@
package forge.gui.home.utilities;
import forge.Command;
import forge.GuiImportPicture;
import forge.error.BugzReporter;
import forge.gui.GuiImportPicture;
import forge.gui.download.GuiDownloadPicturesLQ;
import forge.gui.download.GuiDownloadPrices;
import forge.gui.download.GuiDownloadQuestImages;

View File

@@ -29,7 +29,7 @@ import javax.swing.JLabel;
import javax.swing.JProgressBar;
import javax.swing.SwingWorker;
import forge.GuiDisplayUtil;
import forge.gui.GuiDisplayUtil;
import forge.properties.ForgeProps;
import forge.properties.NewConstants;

View File

@@ -15,10 +15,12 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge;
package forge.view;
import javax.swing.JButton;
import forge.Singletons;
/**
* <p>
* ButtonUtil class.

View File

@@ -2,6 +2,8 @@ package forge;
import org.testng.annotations.Test;
import forge.gui.GuiMigrateLocalMWSSetPicturesHQ;
/**
* Created by IntelliJ IDEA. User: dhudson
*/

View File

@@ -2,6 +2,8 @@ package forge;
import org.testng.annotations.Test;
import forge.gui.GuiMultipleBlockers;
/**
* Created by IntelliJ IDEA. User: dhudson
*/

View File

@@ -5,6 +5,8 @@ import javax.swing.WindowConstants;
import org.testng.Assert;
import org.testng.annotations.Test;
import forge.gui.GuiProgressBarWindow;
/**
* Created by IntelliJ IDEA. User: dhudson
*/