serialVersionUID=7849903731842214245L. */
private static final long serialVersionUID = 7849903731842214245L;
diff --git a/src/main/java/forge/control/input/InputAutoPassPriority.java b/src/main/java/forge/control/input/InputAutoPassPriority.java
index d3244abc907..477917750e9 100644
--- a/src/main/java/forge/control/input/InputAutoPassPriority.java
+++ b/src/main/java/forge/control/input/InputAutoPassPriority.java
@@ -6,7 +6,7 @@ import forge.game.player.Player;
* TODO: Write javadoc for this type.
*
*/
-public class InputAutoPassPriority extends InputBase {
+public class InputAutoPassPriority extends InputNonSyncBase {
private static final long serialVersionUID = -7520803307255234647L;
public InputAutoPassPriority(Player player) {
diff --git a/src/main/java/forge/control/input/InputBase.java b/src/main/java/forge/control/input/InputBase.java
index 679adf8b08c..185b22cae59 100644
--- a/src/main/java/forge/control/input/InputBase.java
+++ b/src/main/java/forge/control/input/InputBase.java
@@ -18,7 +18,6 @@
package forge.control.input;
import forge.Card;
-import forge.FThreads;
import forge.game.player.Player;
import forge.gui.framework.SDisplayUtil;
import forge.gui.match.CMatchUI;
@@ -35,14 +34,16 @@ import forge.gui.match.views.VMessage;
public abstract class InputBase implements java.io.Serializable, Input {
/** Constant serialVersionUID=-6539552513871194081L. */
private static final long serialVersionUID = -6539552513871194081L;
- protected final Player player;
- public InputBase(Player player) {
- this.player = player;
- }
+ private InputQueue queue;
// showMessage() is always the first method called
@Override
- public abstract void showMessage();
+ public final void showMessage(InputQueue iq) {
+ queue = iq;
+ showMessage();
+ }
+
+ protected abstract void showMessage();
@Override
public void selectCard(final Card c, boolean isMetaDown) { }
@@ -61,23 +62,13 @@ public abstract class InputBase implements java.io.Serializable, Input {
// Removes this input from the stack and releases any latches (in synchronous imports)
protected final void stop() {
// clears a "temp" Input like Input_PayManaCost if there is one
- player.getGame().getInputQueue().removeInput(this);
+ queue.removeInput(this);
afterStop(); // sync inputs will release their latch there
}
protected void afterStop() { }
- protected void passPriority() {
- final Runnable pass = new Runnable() {
- @Override public void run() {
- player.getController().passPriority();
- }
- };
- if( FThreads.isEDT() )
- player.getGame().getInputQueue().LockAndInvokeGameAction(pass);
- else
- pass.run();
- }
+
protected final void flashIncorrectAction() {
diff --git a/src/main/java/forge/control/input/InputBlock.java b/src/main/java/forge/control/input/InputBlock.java
index 82584f3401a..57fd22d7baa 100644
--- a/src/main/java/forge/control/input/InputBlock.java
+++ b/src/main/java/forge/control/input/InputBlock.java
@@ -37,7 +37,7 @@ import forge.view.ButtonUtil;
* @author Forge
* @version $Id$
*/
-public class InputBlock extends InputBase {
+public class InputBlock extends InputNonSyncBase {
/** Constant serialVersionUID=6120743598368928128L. */
private static final long serialVersionUID = 6120743598368928128L;
diff --git a/src/main/java/forge/control/input/InputCleanup.java b/src/main/java/forge/control/input/InputCleanup.java
index 765ca6b64bf..081b56d1733 100644
--- a/src/main/java/forge/control/input/InputCleanup.java
+++ b/src/main/java/forge/control/input/InputCleanup.java
@@ -31,7 +31,7 @@ import forge.view.ButtonUtil;
* @author Forge
* @version $Id$
*/
-public class InputCleanup extends InputBase {
+public class InputCleanup extends InputNonSyncBase {
/** Constant serialVersionUID=-4164275418971547948L. */
private static final long serialVersionUID = -4164275418971547948L;
private final GameState game;
diff --git a/src/main/java/forge/control/input/InputConfirmMulligan.java b/src/main/java/forge/control/input/InputConfirmMulligan.java
index 7b0feab91c0..7206246f541 100644
--- a/src/main/java/forge/control/input/InputConfirmMulligan.java
+++ b/src/main/java/forge/control/input/InputConfirmMulligan.java
@@ -39,13 +39,16 @@ public class InputConfirmMulligan extends InputSyncronizedBase {
/** Constant serialVersionUID=-8112954303001155622L. */
private static final long serialVersionUID = -8112954303001155622L;
+
boolean keepHand = false;
final boolean isCommander;
- final ListserialVersionUID=-581477682214137181L. */
private static final long serialVersionUID = -581477682214137181L;
diff --git a/src/main/java/forge/control/input/InputPayManaBase.java b/src/main/java/forge/control/input/InputPayManaBase.java
index 5edd4c28430..f4fc570df8d 100644
--- a/src/main/java/forge/control/input/InputPayManaBase.java
+++ b/src/main/java/forge/control/input/InputPayManaBase.java
@@ -16,6 +16,7 @@ import forge.card.spellability.AbilityManaPart;
import forge.card.spellability.SpellAbility;
import forge.game.GameState;
import forge.game.player.HumanPlay;
+import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.gui.GuiChoose;
@@ -29,6 +30,7 @@ public abstract class InputPayManaBase extends InputSyncronizedBase implements I
protected int phyLifeToLose = 0;
+ protected final Player player;
protected final GameState game;
protected ManaCostBeingPaid manaCost;
protected final SpellAbility saPaidFor;
@@ -36,7 +38,7 @@ public abstract class InputPayManaBase extends InputSyncronizedBase implements I
boolean bPaid = false;
protected InputPayManaBase(SpellAbility saToPayFor) {
- super(saToPayFor.getActivatingPlayer());
+ this.player = saToPayFor.getActivatingPlayer();
this.game = player.getGame();
this.saPaidFor = saToPayFor;
}
diff --git a/src/main/java/forge/control/input/InputSelectCards.java b/src/main/java/forge/control/input/InputSelectCards.java
index 91ab0bb60f3..307761fb43f 100644
--- a/src/main/java/forge/control/input/InputSelectCards.java
+++ b/src/main/java/forge/control/input/InputSelectCards.java
@@ -6,7 +6,6 @@ public abstract class InputSelectCards extends InputSelectManyBase
@@ -27,7 +27,7 @@ import forge.control.input.InputBase;
* @author Forge
* @version $Id$
*/
-public class AiInputCommon extends InputBase implements AiInput {
+public class AiInputCommon extends InputNonSyncBase implements AiInput {
/** Constant serialVersionUID=-3091338639571662216L. */
private static final long serialVersionUID = -3091338639571662216L;
diff --git a/src/main/java/forge/gui/InputProxy.java b/src/main/java/forge/gui/InputProxy.java
index bcf7c13952e..9a46aad7b74 100644
--- a/src/main/java/forge/gui/InputProxy.java
+++ b/src/main/java/forge/gui/InputProxy.java
@@ -82,7 +82,7 @@ public class InputProxy implements Observer {
@Override public void run() {
if(INPUT_DEBUG)
System.out.printf("%s > showMessage @ %s during %s%n", FThreads.debugGetCurrThreadId(), nextInput.getClass().getSimpleName(), ph.debugPrintState());
- nextInput.showMessage();
+ nextInput.showMessage(game.getInputQueue());
}
};
// if( nextInput instanceof AiInput )