mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
had to make a different event to ensure it is fired after log has composed all strings.
PhaseHandler: passPriority is never called from non-EDT, simplifying code here.
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -57,9 +57,9 @@ 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);
|
||||
|
||||
3
src/main/java/forge/game/event/DuelFinishedEvent.java
Normal file
3
src/main/java/forge/game/event/DuelFinishedEvent.java
Normal file
@@ -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
|
||||
@@ -752,18 +752,9 @@ 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();
|
||||
}
|
||||
} else {
|
||||
// pass the priority to other player
|
||||
this.pPlayerPriority = nextPlayer;
|
||||
|
||||
Reference in New Issue
Block a user