diff --git a/.gitattributes b/.gitattributes index fd1b78a05d8..1feb0f3c132 100644 --- a/.gitattributes +++ b/.gitattributes @@ -14241,6 +14241,7 @@ src/main/java/forge/game/event/CardsAntedEvent.java -text src/main/java/forge/game/event/CounterAddedEvent.java -text src/main/java/forge/game/event/CounterRemovedEvent.java -text src/main/java/forge/game/event/DrawCardEvent.java -text +src/main/java/forge/game/event/DuelFinishedEvent.java -text src/main/java/forge/game/event/DuelOutcomeEvent.java -text src/main/java/forge/game/event/EndOfTurnEvent.java -text src/main/java/forge/game/event/Event.java -text diff --git a/src/main/java/forge/control/FControl.java b/src/main/java/forge/control/FControl.java index 993c9824dc5..4ee2b596e88 100644 --- a/src/main/java/forge/control/FControl.java +++ b/src/main/java/forge/control/FControl.java @@ -43,7 +43,7 @@ import forge.control.KeyboardShortcuts.Shortcut; import forge.game.GameState; import forge.game.ai.AiProfileUtil; import forge.game.event.CardsAntedEvent; -import forge.game.event.DuelOutcomeEvent; +import forge.game.event.DuelFinishedEvent; import forge.game.event.Event; import forge.game.player.LobbyPlayer; import forge.game.player.Player; @@ -394,7 +394,7 @@ public enum FControl { @Subscribe public void receiveGameEvent(Event ev) { - if( ev instanceof DuelOutcomeEvent ) { + if( ev instanceof DuelFinishedEvent ) { FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() { new ViewWinLose(game.getMatch()); SOverlayUtils.showOverlay(); diff --git a/src/main/java/forge/game/MatchController.java b/src/main/java/forge/game/MatchController.java index 9715e96b845..8cd98cba001 100644 --- a/src/main/java/forge/game/MatchController.java +++ b/src/main/java/forge/game/MatchController.java @@ -13,6 +13,7 @@ import forge.Singletons; import forge.control.FControl; import forge.error.BugReporter; import forge.game.event.CardsAntedEvent; +import forge.game.event.DuelFinishedEvent; import forge.game.event.DuelOutcomeEvent; import forge.game.event.FlipCoinEvent; import forge.game.player.LobbyPlayer; @@ -91,6 +92,9 @@ public class MatchController { // The log shall listen to events and generate text internally game.getEvents().post(new DuelOutcomeEvent(result, gamesPlayedRo)); + + // will pull UI + game.getEvents().post(new DuelFinishedEvent()); } diff --git a/src/main/java/forge/game/ai/AiInputCommon.java b/src/main/java/forge/game/ai/AiInputCommon.java index 08b8054b402..70d34d2a931 100644 --- a/src/main/java/forge/game/ai/AiInputCommon.java +++ b/src/main/java/forge/game/ai/AiInputCommon.java @@ -57,17 +57,17 @@ public class AiInputCommon extends InputPassPriorityBase implements AiInput { /* * //put this back in ButtonUtil.disableAll(); * AllZone.getDisplay().showMessage("Phase: " + - * Singletons.getModel().getGameState().getPhaseHandler().getPhase() + "\nAn error may have occurred. Please - * send the \"Stack Report\" and the - * \"Detailed Error Trace\" to the Forge forum."); + * Singletons.getModel().getGameState().getPhaseHandler().getPhase() + + * "\nAn error may have occurred. Please send the \"Stack Report\" and + * the \"Detailed Error Trace\" to the Forge forum."); */ - + computer.getGame().getInputQueue().LockAndInvokeGameAction(aiActions); - + } // getMessage(); final Runnable aiActions = new Runnable() { - + @Override public void run() { computer.onPriorityRecieved(); diff --git a/src/main/java/forge/game/event/DuelFinishedEvent.java b/src/main/java/forge/game/event/DuelFinishedEvent.java new file mode 100644 index 00000000000..fd5332f4a6f --- /dev/null +++ b/src/main/java/forge/game/event/DuelFinishedEvent.java @@ -0,0 +1,3 @@ +package forge.game.event; + +public class DuelFinishedEvent extends Event {} // need this class to launch after log was built via previous event \ No newline at end of file diff --git a/src/main/java/forge/game/phase/PhaseHandler.java b/src/main/java/forge/game/phase/PhaseHandler.java index 753ea7c5991..66c216d5f31 100644 --- a/src/main/java/forge/game/phase/PhaseHandler.java +++ b/src/main/java/forge/game/phase/PhaseHandler.java @@ -752,17 +752,8 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable { nextPhase(); return; } else if (!game.getStack().hasSimultaneousStackEntries()) { - Runnable proc = new Runnable(){ - @Override public void run() { - game.getStack().resolveStack(); - game.getStack().chooseOrderOfSimultaneousStackEntryAll(); - } - }; - - if ( FThreads.isEDT() ) - game.getInputQueue().LockAndInvokeGameAction(proc); - else - proc.run(); + game.getStack().resolveStack(); + game.getStack().chooseOrderOfSimultaneousStackEntryAll(); } } else { // pass the priority to other player