mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
Support passing priority
This commit is contained in:
@@ -2,6 +2,8 @@ package forge;
|
|||||||
|
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.Gdx;
|
||||||
|
|
||||||
import forge.util.ThreadUtil;
|
import forge.util.ThreadUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -16,7 +18,7 @@ public class FThreads {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void invokeInEdtLater(Runnable runnable) {
|
public static void invokeInEdtLater(Runnable runnable) {
|
||||||
//SwingUtilities.invokeLater(runnable);
|
Gdx.app.postRunnable(runnable);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void invokeInEdtNowOrLater(Runnable proc) {
|
public static void invokeInEdtNowOrLater(Runnable proc) {
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package forge.screens.constructed;
|
package forge.screens.constructed;
|
||||||
|
|
||||||
import forge.ai.LobbyPlayerAi;
|
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.game.player.RegisteredPlayer;
|
import forge.game.player.RegisteredPlayer;
|
||||||
import forge.player.LobbyPlayerHuman;
|
import forge.net.FServer;
|
||||||
import forge.screens.LaunchScreen;
|
import forge.screens.LaunchScreen;
|
||||||
import forge.utils.Utils;
|
import forge.utils.Utils;
|
||||||
|
|
||||||
@@ -25,15 +25,13 @@ public class ConstructedScreen extends LaunchScreen {
|
|||||||
|
|
||||||
//TODO: Allow picking decks
|
//TODO: Allow picking decks
|
||||||
Deck humanDeck = Utils.generateRandomDeck(2);
|
Deck humanDeck = Utils.generateRandomDeck(2);
|
||||||
LobbyPlayerHuman humanLobbyPlayer = new LobbyPlayerHuman("Human");
|
LobbyPlayer humanLobbyPlayer = FServer.getLobby().getGuiPlayer();
|
||||||
humanLobbyPlayer.setAvatarIndex(0);
|
|
||||||
RegisteredPlayer humanRegisteredPlayer = new RegisteredPlayer(humanDeck);
|
RegisteredPlayer humanRegisteredPlayer = new RegisteredPlayer(humanDeck);
|
||||||
humanRegisteredPlayer.setPlayer(humanLobbyPlayer);
|
humanRegisteredPlayer.setPlayer(humanLobbyPlayer);
|
||||||
launchParams.players.add(humanRegisteredPlayer);
|
launchParams.players.add(humanRegisteredPlayer);
|
||||||
|
|
||||||
Deck aiDeck = Utils.generateRandomDeck(2);
|
Deck aiDeck = Utils.generateRandomDeck(2);
|
||||||
LobbyPlayerAi aiLobbyPlayer = new LobbyPlayerAi("AI Player");
|
LobbyPlayer aiLobbyPlayer = FServer.getLobby().getAiPlayer();
|
||||||
aiLobbyPlayer.setAvatarIndex(1);
|
|
||||||
RegisteredPlayer aiRegisteredPlayer = new RegisteredPlayer(aiDeck);
|
RegisteredPlayer aiRegisteredPlayer = new RegisteredPlayer(aiDeck);
|
||||||
aiRegisteredPlayer.setPlayer(aiLobbyPlayer);
|
aiRegisteredPlayer.setPlayer(aiLobbyPlayer);
|
||||||
launchParams.players.add(aiRegisteredPlayer);
|
launchParams.players.add(aiRegisteredPlayer);
|
||||||
|
|||||||
@@ -118,9 +118,12 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void> {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Runnable unlockGameThreadOnGameOver = new Runnable() { @Override public void run() {
|
private final Runnable unlockGameThreadOnGameOver = new Runnable() {
|
||||||
FControl.getInputQueue().onGameOver(true); // this will unlock any game threads waiting for inputs to complete
|
@Override
|
||||||
} };
|
public void run() {
|
||||||
|
FControl.getInputQueue().onGameOver(true); // this will unlock any game threads waiting for inputs to complete
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Void visit(GameEventGameOutcome ev) {
|
public Void visit(GameEventGameOutcome ev) {
|
||||||
|
|||||||
@@ -3,10 +3,6 @@ package forge.screens.match.input;
|
|||||||
import forge.screens.match.FControl;
|
import forge.screens.match.FControl;
|
||||||
import forge.screens.match.FControlGamePlayback;
|
import forge.screens.match.FControlGamePlayback;
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO: Write javadoc for this type.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class InputPlaybackControl extends InputSyncronizedBase implements InputSynchronized {
|
public class InputPlaybackControl extends InputSyncronizedBase implements InputSynchronized {
|
||||||
private static final long serialVersionUID = 7979208993306642072L;
|
private static final long serialVersionUID = 7979208993306642072L;
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ public class InputQueue extends Observable {
|
|||||||
return topMost;
|
return topMost;
|
||||||
}
|
}
|
||||||
return inputLock;
|
return inputLock;
|
||||||
} // getInput()
|
}
|
||||||
|
|
||||||
// only for debug purposes
|
// only for debug purposes
|
||||||
public String printInputStack() {
|
public String printInputStack() {
|
||||||
@@ -88,9 +88,6 @@ public class InputQueue extends Observable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO: Write javadoc for this method.
|
|
||||||
*/
|
|
||||||
public void onGameOver(boolean releaseAllInputs) {
|
public void onGameOver(boolean releaseAllInputs) {
|
||||||
for (InputSynchronized inp : inputStack) {
|
for (InputSynchronized inp : inputStack) {
|
||||||
inp.relaseLatchWhenGameIsOver();
|
inp.relaseLatchWhenGameIsOver();
|
||||||
@@ -99,4 +96,4 @@ public class InputQueue extends Observable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // InputControl
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user