Remove remaining references to java.awt from forge-gui and forge-gui-mobile

This commit is contained in:
drdev
2014-04-27 22:07:12 +00:00
parent 8858249b69
commit e6efda2716
31 changed files with 134 additions and 93 deletions

4
.gitattributes vendored
View File

@@ -972,6 +972,7 @@ forge-gui-desktop/src/main/java/forge/toolbox/FUndoManager.java -text
forge-gui-desktop/src/main/java/forge/toolbox/IDisposable.java -text
forge-gui-desktop/src/main/java/forge/toolbox/JXButtonPanel.java -text
forge-gui-desktop/src/main/java/forge/toolbox/LayoutHelper.java -text
forge-gui-desktop/src/main/java/forge/toolbox/MouseTriggerEvent.java -text
forge-gui-desktop/src/main/java/forge/toolbox/SaveOpenDialog.java -text
forge-gui-desktop/src/main/java/forge/toolbox/SmartScroller.java -text
forge-gui-desktop/src/main/java/forge/toolbox/ToolTipListener.java -text
@@ -984,6 +985,7 @@ forge-gui-desktop/src/main/java/forge/toolbox/special/PhaseIndicator.java -text
forge-gui-desktop/src/main/java/forge/toolbox/special/PhaseLabel.java -text
forge-gui-desktop/src/main/java/forge/toolbox/special/PlayerDetailsPanel.java -text
forge-gui-desktop/src/main/java/forge/toolbox/special/package-info.java -text
forge-gui-desktop/src/main/java/forge/util/AwtUtil.java -text
forge-gui-desktop/src/main/java/forge/view/ButtonUtil.java -text
forge-gui-desktop/src/main/java/forge/view/FDialog.java -text
forge-gui-desktop/src/main/java/forge/view/FFrame.java -text
@@ -16317,6 +16319,7 @@ forge-gui/src/main/java/forge/gauntlet/GauntletIO.java -text
forge-gui/src/main/java/forge/interfaces/IButton.java -text
forge-gui/src/main/java/forge/interfaces/IGuiBase.java -text
forge-gui/src/main/java/forge/interfaces/IProgressBar.java -text
forge-gui/src/main/java/forge/interfaces/ITriggerEvent.java -text
forge-gui/src/main/java/forge/itemmanager/ColumnDef.java -text
forge-gui/src/main/java/forge/itemmanager/GroupDef.java -text
forge-gui/src/main/java/forge/itemmanager/IItemManager.java -text
@@ -16459,7 +16462,6 @@ forge-gui/src/main/java/forge/sound/IAudioClip.java -text
forge-gui/src/main/java/forge/sound/NoSoundClip.java -text
forge-gui/src/main/java/forge/sound/SoundEffectType.java -text
forge-gui/src/main/java/forge/sound/SoundSystem.java -text
forge-gui/src/main/java/forge/util/AwtUtil.java -text
forge-gui/src/main/java/forge/util/Base64Coder.java svneol=native#text/plain
forge-gui/src/main/java/forge/util/Callback.java -text
forge-gui/src/main/java/forge/util/Evaluator.java -text

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>forge-android</name>
<name>forge-gui-android</name>
<comment></comment>
<projects>
</projects>

View File

@@ -1,9 +1,13 @@
package forge;
import java.awt.Desktop;
import java.awt.Toolkit;
import java.awt.datatransfer.StringSelection;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.io.File;
import java.lang.reflect.InvocationTargetException;
import java.net.URI;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -398,4 +402,15 @@ public class GuiDesktop implements IGuiBase {
fc.showSaveDialog(null);
return fc.getSelectedFile();
}
@Override
public void copyToClipboard(String text) {
StringSelection ss = new StringSelection(text);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
}
@Override
public void browseToUrl(String url) throws Exception {
Desktop.getDesktop().browse(new URI(url));
}
}

View File

@@ -35,6 +35,7 @@ import forge.player.HumanPlay;
import forge.properties.ForgePreferences;
import forge.screens.match.ZoneAction;
import forge.screens.match.views.VField;
import forge.toolbox.MouseTriggerEvent;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
@@ -53,9 +54,12 @@ public class CField implements ICDoc {
private final VField view;
private boolean initializedAlready = false;
private final MouseListener madAvatar = new MouseAdapter() { @Override
private final MouseListener madAvatar = new MouseAdapter() {
@Override
public void mousePressed(final MouseEvent e) {
CPrompt.SINGLETON_INSTANCE.getInputControl().selectPlayer(player, e); } };
CPrompt.SINGLETON_INSTANCE.getInputControl().selectPlayer(player, new MouseTriggerEvent(e));
}
};
/**
* Controls Swing components of a player's field instance.

View File

@@ -0,0 +1,19 @@
package forge.toolbox;
import java.awt.event.MouseEvent;
import forge.interfaces.ITriggerEvent;
//MouseEvent wrapper used for passing trigger to input classes
public class MouseTriggerEvent implements ITriggerEvent {
private final MouseEvent event;
public MouseTriggerEvent(MouseEvent event0) {
event = event0;
}
@Override
public int getButton() {
return event.getButton();
}
}

View File

@@ -20,6 +20,7 @@ package forge.view.arcane;
import forge.screens.match.CMatchUI;
import forge.screens.match.controllers.CPrompt;
import forge.toolbox.FScrollPane;
import forge.toolbox.MouseTriggerEvent;
import java.awt.event.MouseEvent;
@@ -61,14 +62,14 @@ public class HandArea extends CardArea {
/** {@inheritDoc} */
@Override
public final void mouseLeftClicked(final CardPanel panel, final MouseEvent evt) {
CPrompt.SINGLETON_INSTANCE.getInputControl().selectCard(panel.getCard(), evt);
CPrompt.SINGLETON_INSTANCE.getInputControl().selectCard(panel.getCard(), new MouseTriggerEvent(evt));
super.mouseLeftClicked(panel, evt);
}
/** {@inheritDoc} */
@Override
public final void mouseRightClicked(final CardPanel panel, final MouseEvent evt) {
CPrompt.SINGLETON_INSTANCE.getInputControl().selectCard(panel.getCard(), evt);
CPrompt.SINGLETON_INSTANCE.getInputControl().selectCard(panel.getCard(), new MouseTriggerEvent(evt));
super.mouseRightClicked(panel, evt);
}
}

View File

@@ -22,6 +22,7 @@ import forge.game.card.Card;
import forge.screens.match.CMatchUI;
import forge.screens.match.controllers.CPrompt;
import forge.toolbox.FScrollPane;
import forge.toolbox.MouseTriggerEvent;
import forge.view.arcane.util.Animation;
import forge.view.arcane.util.CardPanelMouseListener;
@@ -498,7 +499,7 @@ public class PlayArea extends CardPanelContainer implements CardPanelMouseListen
/** {@inheritDoc} */
@Override
public final void mouseLeftClicked(final CardPanel panel, final MouseEvent evt) {
CPrompt.SINGLETON_INSTANCE.getInputControl().selectCard(panel.getCard(), evt);
CPrompt.SINGLETON_INSTANCE.getInputControl().selectCard(panel.getCard(), new MouseTriggerEvent(evt));
if ((panel.getTappedAngle() != 0) && (panel.getTappedAngle() != CardPanel.TAPPED_ANGLE)) {
return;
}
@@ -508,7 +509,7 @@ public class PlayArea extends CardPanelContainer implements CardPanelMouseListen
/** {@inheritDoc} */
@Override
public final void mouseRightClicked(final CardPanel panel, final MouseEvent evt) {
CPrompt.SINGLETON_INSTANCE.getInputControl().selectCard(panel.getCard(), evt);
CPrompt.SINGLETON_INSTANCE.getInputControl().selectCard(panel.getCard(), new MouseTriggerEvent(evt));
super.mouseRightClicked(panel, evt);
}

View File

@@ -5,6 +5,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.commons.lang3.tuple.Pair;
import com.badlogic.gdx.Gdx;
@@ -329,4 +330,14 @@ public class GuiMobile implements IGuiBase {
public File getSaveFile(File defaultFile) {
return defaultFile; //TODO: Show dialog
}
@Override
public void copyToClipboard(String text) {
Forge.getClipboard().setContents(text);
}
@Override
public void browseToUrl(String url) throws Exception {
Gdx.net.openURI(url);
}
}

View File

@@ -169,9 +169,9 @@ public class FSkinColor {
* Returns opaque (non-alpha) stepped color.
* Plus for lighter, minus for darker.
*
* @param clr0 {@link java.awt.Color}
* @param clr0 {Color}
* @param step int
* @return {@link java.awt.Color}
* @return {@link Color}
*/
public static Color stepColor(Color clr0, int step) {
float r = clr0.r * 255;

View File

@@ -23,12 +23,12 @@ import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FLabel;
import forge.toolbox.FScrollPane;
import java.awt.Point;
import java.util.*;
import java.util.Map.Entry;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.math.Vector2;
public class ImageView<T extends InventoryItem> extends ItemView<T> {
private static final float PADDING = 5;
@@ -54,8 +54,8 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
private GroupDef groupBy = null;
private boolean lockHoveredItem = false;
private boolean lockInput = false;
private Point hoverPoint;
private Point hoverScrollPos;
private Vector2 hoverPoint;
private Vector2 hoverScrollPos;
private ItemInfo hoveredItem;
private ItemInfo focalItem;
private final ArrayList<ItemInfo> orderedItems = new ArrayList<ItemInfo>();
@@ -667,7 +667,7 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
}
}
private boolean updateHoveredItem(Point hoverPoint0, Point hoverScrollPos0) {
private boolean updateHoveredItem(Vector2 hoverPoint0, Vector2 hoverScrollPos0) {
hoverPoint = hoverPoint0;
if (hoverScrollPos != hoverScrollPos0) {
hoverScrollPos = hoverScrollPos0;
@@ -679,7 +679,7 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
ItemInfo item = null;
FScrollPane scroller = getScroller();
if (hoverPoint0 != null) {
Point displayPoint = new Point(hoverPoint0);
Vector2 displayPoint = new Vector2(hoverPoint0);
//account for change in scroll positions since mouse last moved
displayPoint.x += scroller.getScrollLeft() - hoverScrollPos0.x;
displayPoint.y += scroller.getScrollTop() - hoverScrollPos0.y;

View File

@@ -24,10 +24,7 @@ import forge.util.BuildInfo;
import org.apache.commons.lang3.StringUtils;
import java.awt.*;
import java.awt.datatransfer.StringSelection;
import java.io.*;
import java.net.URI;
import java.util.Map;
import java.util.Map.Entry;
@@ -194,11 +191,8 @@ public class BugReporter {
public static void copyAndGoToForums(String text) {
try {
// copy text to clipboard
StringSelection ss = new StringSelection(text);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
// browse to url
Desktop.getDesktop().browse(new URI(FORUM_URL));
GuiBase.getInterface().copyToClipboard(text);
GuiBase.getInterface().browseToUrl(FORUM_URL);
}
catch (Exception ex) {
SOptionPane.showMessageDialog("Sorry, a problem occurred while opening the forum in your default browser.",

View File

@@ -76,4 +76,6 @@ public interface IGuiBase {
SpellAbility getAbilityToPlay(List<SpellAbility> abilities, Object triggerEvent);
void hear(LobbyPlayer player, String message);
int getAvatarCount();
void copyToClipboard(String text);
void browseToUrl(String url) throws Exception;
}

View File

@@ -0,0 +1,5 @@
package forge.interfaces;
public interface ITriggerEvent {
int getButton();
}

View File

@@ -1,20 +1,19 @@
package forge.match.input;
import java.awt.event.MouseEvent;
import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.interfaces.ITriggerEvent;
public interface Input {
void showMessageInitial();
void selectCard(Card c, MouseEvent triggerEvent);
void selectCard(Card c, ITriggerEvent triggerEvent);
void selectAbility(SpellAbility ab);
void selectPlayer(Player player, MouseEvent triggerEvent);
void selectPlayer(Player player, ITriggerEvent triggerEvent);
void selectButtonOK();

View File

@@ -30,8 +30,8 @@ import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.interfaces.ITriggerEvent;
import java.awt.event.MouseEvent;
import java.util.List;
/**
@@ -112,16 +112,18 @@ public class InputAttack extends InputSyncronizedBase {
}
@Override
protected final void onPlayerSelected(Player selected, final MouseEvent triggerEvent) {
if(defenders.contains(selected))
protected final void onPlayerSelected(Player selected, final ITriggerEvent triggerEvent) {
if(defenders.contains(selected)) {
setCurrentDefender(selected);
else
}
else {
flashIncorrectAction(); // cannot attack that player
}
}
/** {@inheritDoc} */
@Override
protected final void onCardSelected(final Card card, final MouseEvent triggerEvent) {
protected final void onCardSelected(final Card card, final ITriggerEvent triggerEvent) {
final List<Card> att = combat.getAttackers();
if (triggerEvent != null && triggerEvent.getButton() == 3 && att.contains(card) && !card.hasKeyword("CARDNAME attacks each turn if able.")
&& !card.hasStartOfKeyword("CARDNAME attacks specific player each combat if able")) {

View File

@@ -23,8 +23,7 @@ import forge.game.card.Card;
import forge.game.phase.PhaseHandler;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import java.awt.event.MouseEvent;
import forge.interfaces.ITriggerEvent;
/**
* <p>
@@ -51,7 +50,7 @@ public abstract class InputBase implements java.io.Serializable, Input {
protected abstract void showMessage();
@Override
public final void selectPlayer(final Player player, final MouseEvent triggerEvent) {
public final void selectPlayer(final Player player, final ITriggerEvent triggerEvent) {
if (isFinished()) { return; }
onPlayerSelected(player, triggerEvent);
}
@@ -72,13 +71,13 @@ public abstract class InputBase implements java.io.Serializable, Input {
}
@Override
public final void selectCard(final Card c, final MouseEvent triggerEvent) {
public final void selectCard(final Card c, final ITriggerEvent triggerEvent) {
if (isFinished()) { return; }
onCardSelected(c, triggerEvent);
}
protected void onCardSelected(final Card c, final MouseEvent triggerEvent) {}
protected void onPlayerSelected(final Player p, final MouseEvent triggerEvent) {}
protected void onCardSelected(final Card c, final ITriggerEvent triggerEvent) {}
protected void onPlayerSelected(final Player p, final ITriggerEvent triggerEvent) {}
protected void onCancel() {}
protected void onOk() {}

View File

@@ -25,8 +25,7 @@ import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import java.awt.event.MouseEvent;
import forge.interfaces.ITriggerEvent;
/**
* <p>
@@ -98,7 +97,7 @@ public class InputBlock extends InputSyncronizedBase {
/** {@inheritDoc} */
@Override
public final void onCardSelected(final Card card, final MouseEvent triggerEvent) {
public final void onCardSelected(final Card card, final ITriggerEvent triggerEvent) {
if (triggerEvent != null && triggerEvent.getButton() == 3 && card.getController() == defender) {
combat.removeFromCombat(card);
GuiBase.getInterface().fireEvent(new UiEventBlockerAssigned(card, (Card)null));

View File

@@ -23,10 +23,10 @@ import forge.game.Game;
import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.interfaces.ITriggerEvent;
import forge.util.Lang;
import forge.util.ThreadUtil;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.List;
@@ -111,7 +111,7 @@ public class InputConfirmMulligan extends InputSyncronizedBase {
volatile boolean cardSelectLocked = false;
@Override
protected void onCardSelected(final Card c0, final MouseEvent triggerEvent) { // the only place that would cause troubles - input is supposed only to confirm, not to fire abilities
protected void onCardSelected(final Card c0, final ITriggerEvent triggerEvent) { // the only place that would cause troubles - input is supposed only to confirm, not to fire abilities
boolean fromHand = player.getZone(ZoneType.Hand).contains(c0);
boolean isSerumPowder = c0.getName().equals("Serum Powder");
boolean isLegalChoice = fromHand && (isCommander || isSerumPowder);

View File

@@ -5,15 +5,12 @@ import forge.GuiBase;
import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.interfaces.ITriggerEvent;
import forge.util.ThreadUtil;
import java.awt.event.MouseEvent;
import java.util.concurrent.atomic.AtomicInteger;
/**
* TODO: Write javadoc for this type.
*
*/
public class InputLockUI implements Input {
private final AtomicInteger iCall = new AtomicInteger();
@@ -62,9 +59,9 @@ public class InputLockUI implements Input {
GuiBase.getInterface().showPromptMessage(message);
}
@Override public void selectCard(Card c, MouseEvent triggerEvent) {}
@Override public void selectCard(Card c, ITriggerEvent triggerEvent) {}
@Override public void selectAbility(SpellAbility ab) {}
@Override public void selectPlayer(Player player, MouseEvent triggerEvent) {}
@Override public void selectPlayer(Player player, ITriggerEvent triggerEvent) {}
@Override public void selectButtonOK() {}
@Override public void selectButtonCancel() {}

View File

@@ -20,7 +20,8 @@ package forge.match.input;
import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import java.awt.event.MouseEvent;
import forge.interfaces.ITriggerEvent;
import java.util.List;
/**
@@ -60,7 +61,7 @@ public class InputPassPriority extends InputSyncronizedBase {
@Override
protected void onCardSelected(final Card card, final MouseEvent triggerEvent) {
protected void onCardSelected(final Card card, final ITriggerEvent triggerEvent) {
List<SpellAbility> abilities = card.getAllPossibleAbilities(player, false);
if (abilities.isEmpty()) {
flashIncorrectAction();

View File

@@ -16,20 +16,17 @@ import forge.game.player.Player;
import forge.game.replacement.ReplacementEffect;
import forge.game.spellability.AbilityManaPart;
import forge.game.spellability.SpellAbility;
import forge.interfaces.ITriggerEvent;
import forge.player.HumanPlay;
import forge.util.Evaluator;
import org.apache.commons.lang3.StringUtils;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
* TODO: Write javadoc for this type.
*
*/
public abstract class InputPayMana extends InputSyncronizedBase {
private static final long serialVersionUID = -9133423708688480255L;
@@ -52,7 +49,7 @@ public abstract class InputPayMana extends InputSyncronizedBase {
}
@Override
protected void onCardSelected(final Card card, final MouseEvent triggerEvent) {
protected void onCardSelected(final Card card, final ITriggerEvent triggerEvent) {
if (card.getManaAbility().isEmpty()) {
flashIncorrectAction();
return;

View File

@@ -4,8 +4,7 @@ import forge.game.card.Card;
import forge.game.mana.ManaCostBeingPaid;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import java.awt.event.MouseEvent;
import forge.interfaces.ITriggerEvent;
public class InputPayManaOfCostPayment extends InputPayMana {
public InputPayManaOfCostPayment(ManaCostBeingPaid cost, SpellAbility spellAbility, Player payer) {
@@ -17,7 +16,7 @@ public class InputPayManaOfCostPayment extends InputPayMana {
private int phyLifeToLose = 0;
@Override
protected final void onPlayerSelected(Player selected, final MouseEvent triggerEvent) {
protected final void onPlayerSelected(Player selected, final ITriggerEvent triggerEvent) {
if (player == selected) {
if (player.canPayLife(this.phyLifeToLose + 2) && manaCost.payPhyrexian()) {
this.phyLifeToLose += 2;

View File

@@ -23,8 +23,7 @@ import forge.game.card.Card;
import forge.game.mana.ManaCostBeingPaid;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import java.awt.event.MouseEvent;
import forge.interfaces.ITriggerEvent;
//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
@@ -59,7 +58,7 @@ public class InputPayManaSimple extends InputPayMana {
/** {@inheritDoc} */
@Override
protected final void onPlayerSelected(Player selected, final MouseEvent triggerEvent) {
protected final void onPlayerSelected(Player selected, final ITriggerEvent triggerEvent) {
if (player == selected) {
if (player.canPayLife(this.phyLifeToLose + 2) && manaCost.payPhyrexian()) {
this.phyLifeToLose += 2;

View File

@@ -7,9 +7,10 @@ import forge.game.card.Card;
import forge.game.mana.Mana;
import forge.game.mana.ManaCostBeingPaid;
import forge.game.spellability.SpellAbility;
import forge.interfaces.ITriggerEvent;
import org.apache.commons.lang3.StringUtils;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.List;
@@ -91,7 +92,7 @@ public class InputPayManaX extends InputPayMana {
}
@Override
protected void onCardSelected(final Card card, final MouseEvent triggerEvent) {
protected void onCardSelected(final Card card, final ITriggerEvent triggerEvent) {
// don't allow here the cards that produce only wrong colors
activateManaAbility(card, this.manaCost);
}

View File

@@ -5,15 +5,12 @@ import forge.game.GameEntity;
import forge.game.card.Card;
import forge.game.card.CounterType;
import forge.game.player.Player;
import forge.interfaces.ITriggerEvent;
import java.awt.event.MouseEvent;
import java.util.*;
import java.util.Map.Entry;
/**
* TODO: Write javadoc for this type.
*
*/
public final class InputProliferate extends InputSelectManyBase<GameEntity> {
private static final long serialVersionUID = -1779224307654698954L;
private Map<GameEntity, CounterType> chosenCounters = new HashMap<GameEntity, CounterType>();
@@ -45,7 +42,7 @@ public final class InputProliferate extends InputSelectManyBase<GameEntity> {
}
@Override
protected void onCardSelected(final Card card, final MouseEvent triggerEvent) {
protected void onCardSelected(final Card card, final ITriggerEvent triggerEvent) {
if (!card.hasCounters()) {
return;
}
@@ -70,7 +67,7 @@ public final class InputProliferate extends InputSelectManyBase<GameEntity> {
}
@Override
protected final void onPlayerSelected(Player player, final MouseEvent triggerEvent) {
protected final void onPlayerSelected(Player player, final ITriggerEvent triggerEvent) {
if (player.getPoisonCounters() == 0 || player.hasKeyword("You can't get poison counters")) {
return;
}

View File

@@ -24,8 +24,8 @@ import forge.game.Game;
import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.interfaces.ITriggerEvent;
import java.awt.event.MouseEvent;
import java.util.Observable;
import java.util.Observer;
import java.util.concurrent.atomic.AtomicReference;
@@ -120,7 +120,7 @@ public class InputProxy implements Observer {
* @param player
* a {@link forge.game.player.Player} object.
*/
public final void selectPlayer(final Player player, final MouseEvent triggerEvent) {
public final void selectPlayer(final Player player, final ITriggerEvent triggerEvent) {
Input inp = getInput();
if (inp != null) {
inp.selectPlayer(player, triggerEvent);
@@ -136,7 +136,7 @@ public class InputProxy implements Observer {
* a {@link forge.game.card.Card} object.
* @param triggerEvent
*/
public final void selectCard(final Card card, final MouseEvent triggerEvent) {
public final void selectCard(final Card card, final ITriggerEvent triggerEvent) {
Input inp = getInput();
if (inp != null) {
inp.selectCard(card, triggerEvent);

View File

@@ -6,19 +6,17 @@ import forge.game.card.Card;
import forge.game.card.CardUtil;
import forge.game.mana.ManaCostBeingPaid;
import forge.game.player.Player;
import forge.interfaces.ITriggerEvent;
import org.apache.commons.lang3.tuple.ImmutablePair;
import java.awt.event.MouseEvent;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
/**
* TODO: Write javadoc for this type.
*
*/
public final class InputSelectCardsForConvoke extends InputSelectManyBase<Card> {
private static final long serialVersionUID = -1779224307654698954L;
private final Map<Card, ImmutablePair<Byte, ManaCostShard>> chosenCards = new HashMap<Card, ImmutablePair<Byte, ManaCostShard>>();
@@ -39,8 +37,7 @@ public final class InputSelectCardsForConvoke extends InputSelectManyBase<Card>
}
@Override
protected void onCardSelected(final Card card, final MouseEvent triggerEvent) {
protected void onCardSelected(final Card card, final ITriggerEvent triggerEvent) {
boolean entityWasSelected = chosenCards.containsKey(card);
if (entityWasSelected) {
ImmutablePair<Byte, ManaCostShard> color = this.chosenCards.remove(card);
@@ -76,7 +73,7 @@ public final class InputSelectCardsForConvoke extends InputSelectManyBase<Card>
@Override
protected final void onPlayerSelected(Player player, final MouseEvent triggerEvent) {
protected final void onPlayerSelected(Player player, final ITriggerEvent triggerEvent) {
}
public Map<Card, ManaCostShard> getConvokeMap() {

View File

@@ -3,8 +3,8 @@ package forge.match.input;
import forge.game.GameEntity;
import forge.game.card.Card;
import forge.game.player.Player;
import forge.interfaces.ITriggerEvent;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -25,7 +25,7 @@ public class InputSelectEntitiesFromList<T extends GameEntity> extends InputSele
}
@Override
protected void onCardSelected(final Card c, final MouseEvent triggerEvent) {
protected void onCardSelected(final Card c, final ITriggerEvent triggerEvent) {
if (!selectEntity(c)) {
return;
}
@@ -33,7 +33,7 @@ public class InputSelectEntitiesFromList<T extends GameEntity> extends InputSele
}
@Override
protected void onPlayerSelected(final Player p, final MouseEvent triggerEvent) {
protected void onPlayerSelected(final Player p, final ITriggerEvent triggerEvent) {
if (!selectEntity(p)) {
return;
}

View File

@@ -9,8 +9,8 @@ import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.spellability.TargetRestrictions;
import forge.interfaces.ITriggerEvent;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -104,7 +104,7 @@ public final class InputSelectTargets extends InputSyncronizedBase {
}
@Override
protected final void onCardSelected(final Card card, final MouseEvent triggerEvent) {
protected final void onCardSelected(final Card card, final ITriggerEvent triggerEvent) {
if (!tgt.isUniqueTargets() && targetDepth.containsKey(card)) {
return;
}
@@ -193,7 +193,7 @@ public final class InputSelectTargets extends InputSyncronizedBase {
} // selectCard()
@Override
protected final void onPlayerSelected(Player player, final MouseEvent triggerEvent) {
protected final void onPlayerSelected(Player player, final ITriggerEvent triggerEvent) {
if (!tgt.isUniqueTargets() && targetDepth.containsKey(player)) {
return;
}

View File

@@ -19,12 +19,12 @@ import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.spellability.SpellAbilityStackInstance;
import forge.game.zone.ZoneType;
import forge.interfaces.ITriggerEvent;
import forge.match.input.InputSelectCardsFromList;
import forge.match.input.InputSelectManyBase;
import forge.util.Aggregates;
import forge.util.Lang;
import java.awt.event.MouseEvent;
import java.util.*;
import java.util.Map.Entry;
@@ -715,7 +715,7 @@ public class HumanCostDecision extends CostDecisionMakerBase {
private static final long serialVersionUID = 8338626212893374798L;
@Override
protected void onCardSelected(Card c, MouseEvent triggerEvent) {
protected void onCardSelected(Card c, ITriggerEvent triggerEvent) {
Card firstCard = Iterables.getFirst(this.selected, null);
if(firstCard != null && !CardPredicates.sharesColorWith(firstCard).apply(c))
return;
@@ -805,7 +805,7 @@ public class HumanCostDecision extends CostDecisionMakerBase {
}
@Override
protected void onCardSelected(Card c, java.awt.event.MouseEvent triggerEvent) {
protected void onCardSelected(Card c, ITriggerEvent triggerEvent) {
if (!isValidChoice(c) || c.getCounters(counterType) <= getTimesSelected(c)) {
return;
}