From e47ad1eeed7f8769dc5714d5e8dec512043baff8 Mon Sep 17 00:00:00 2001 From: drdev Date: Thu, 25 Sep 2014 10:14:33 +0000 Subject: [PATCH] Make it so human player has prompt disabled while other human player has an input active --- forge-gui/src/main/java/forge/match/MatchUtil.java | 12 ++++++++++++ .../src/main/java/forge/match/input/InputBase.java | 5 ++++- .../src/main/java/forge/match/input/InputQueue.java | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/forge-gui/src/main/java/forge/match/MatchUtil.java b/forge-gui/src/main/java/forge/match/MatchUtil.java index 51fef5782ad..838fecb46aa 100644 --- a/forge-gui/src/main/java/forge/match/MatchUtil.java +++ b/forge-gui/src/main/java/forge/match/MatchUtil.java @@ -232,6 +232,18 @@ public class MatchUtil { } } + public static LocalGameView getOtherGameView() { + //return other game view besides current game view + if (gameViews.size() < 2) { + return null; + } + LocalGameView gameView = getGameView(); + if (gameView == gameViews.get(0)) { + return gameViews.get(1); + } + return gameViews.get(0); + } + public static InputQueue getInputQueue() { LocalGameView gameView = getGameView(); if (gameView != null) { diff --git a/forge-gui/src/main/java/forge/match/input/InputBase.java b/forge-gui/src/main/java/forge/match/input/InputBase.java index 141345f3645..d93ce43669a 100644 --- a/forge-gui/src/main/java/forge/match/input/InputBase.java +++ b/forge-gui/src/main/java/forge/match/input/InputBase.java @@ -100,7 +100,10 @@ public abstract class InputBase implements java.io.Serializable, Input { awaitNextInputTimer.schedule(awaitNextInputTask, 250); } - public static void waitForHumanOpponent(final LocalGameView gameView) { + public static void waitForOtherPlayer() { + final LocalGameView gameView = MatchUtil.getOtherGameView(); + if (gameView == null) { return; } + cancelAwaitNextInput(); FThreads.invokeInEdtNowOrLater(gameView.getGui(), new Runnable() { @Override diff --git a/forge-gui/src/main/java/forge/match/input/InputQueue.java b/forge-gui/src/main/java/forge/match/input/InputQueue.java index 2cb9d25a9d5..81d1570a1b7 100644 --- a/forge-gui/src/main/java/forge/match/input/InputQueue.java +++ b/forge-gui/src/main/java/forge/match/input/InputQueue.java @@ -92,6 +92,7 @@ public class InputQueue extends Observable { activeInput = input; inputStack.push(input); inputLock.setGui(input.getGui()); + InputBase.waitForOtherPlayer(); syncPoint(); updateObservers(); }