UI fixes - can now play simultaneous games

This commit is contained in:
BetaSteward 2011-03-04 22:46:56 -05:00
parent 7e00b5cc25
commit 4f06f78621
31 changed files with 323 additions and 291 deletions

View file

@ -78,7 +78,7 @@ public class ChatSession {
for (UUID sessionId: clients.keySet()) {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("chatMessage", new ChatMessage(chatId, msg, color)));
session.fireCallback(new ClientCallback("chatMessage", chatId, new ChatMessage(msg, color)));
else
kill(sessionId);
}

View file

@ -636,7 +636,7 @@ public class ServerImpl extends RemoteServer implements Server {
}
@Override
public void replayGame(final UUID sessionId) throws MageException {
public void replayGame(final UUID gameID, final UUID sessionId) throws MageException {
try {
rmiExecutor.execute(
new Runnable() {

View file

@ -91,23 +91,23 @@ public class Session {
}
public void gameStarted(final UUID gameId, final UUID playerId) {
fireCallback(new ClientCallback("startGame", new TableClientMessage(gameId, playerId)));
fireCallback(new ClientCallback("startGame", gameId, new TableClientMessage(gameId, playerId)));
}
public void draftStarted(final UUID draftId, final UUID playerId) {
fireCallback(new ClientCallback("startDraft", new TableClientMessage(draftId, playerId)));
fireCallback(new ClientCallback("startDraft", draftId, new TableClientMessage(draftId, playerId)));
}
public void tournamentStarted(final UUID tournamentId, final UUID playerId) {
fireCallback(new ClientCallback("startTournament", new TableClientMessage(tournamentId, playerId)));
fireCallback(new ClientCallback("startTournament", tournamentId, new TableClientMessage(tournamentId, playerId)));
}
public void sideboard(final Deck deck, final UUID tableId, final int time) {
fireCallback(new ClientCallback("sideboard", new TableClientMessage(deck, tableId, time)));
fireCallback(new ClientCallback("sideboard", tableId, new TableClientMessage(deck, tableId, time)));
}
public void construct(final Deck deck, final UUID tableId, final int time) {
fireCallback(new ClientCallback("construct", new TableClientMessage(deck, tableId, time)));
fireCallback(new ClientCallback("construct", tableId, new TableClientMessage(deck, tableId, time)));
}
public void watchGame(final UUID gameId) {

View file

@ -72,7 +72,7 @@ public class DraftSession {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null) {
session.clearAck();
session.fireCallback(new ClientCallback("draftInit", draftView));
session.fireCallback(new ClientCallback("draftInit", draft.getId(), draftView));
if (waitForAck("draftInit"))
return true;
}
@ -92,7 +92,7 @@ public class DraftSession {
if (!killed) {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("draftUpdate", draftView));
session.fireCallback(new ClientCallback("draftUpdate", draft.getId(), draftView));
}
}
@ -100,7 +100,7 @@ public class DraftSession {
if (!killed) {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("draftInform", new DraftClientMessage(draftView, message)));
session.fireCallback(new ClientCallback("draftInform", draft.getId(), new DraftClientMessage(draftView, message)));
}
}
@ -108,7 +108,7 @@ public class DraftSession {
if (!killed) {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("draftOver"));
session.fireCallback(new ClientCallback("draftOver", draft.getId()));
}
}
@ -117,7 +117,7 @@ public class DraftSession {
setupTimeout(timeout);
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("draftPick", new DraftClientMessage(draftPickView)));
session.fireCallback(new ClientCallback("draftPick", draft.getId(), new DraftClientMessage(draftPickView)));
}
}

View file

@ -69,7 +69,7 @@ public class GameSession extends GameWatcher {
setupTimeout();
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("gameAsk", new GameClientMessage(gameView, question)));
session.fireCallback(new ClientCallback("gameAsk", game.getId(), new GameClientMessage(gameView, question)));
}
}
@ -78,7 +78,7 @@ public class GameSession extends GameWatcher {
setupTimeout();
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("gameTarget", new GameClientMessage(gameView, question, cardView, targets, required, options)));
session.fireCallback(new ClientCallback("gameTarget", game.getId(), new GameClientMessage(gameView, question, cardView, targets, required, options)));
}
}
@ -87,7 +87,7 @@ public class GameSession extends GameWatcher {
setupTimeout();
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("gameSelect", new GameClientMessage(gameView, message)));
session.fireCallback(new ClientCallback("gameSelect", game.getId(), new GameClientMessage(gameView, message)));
}
}
@ -96,7 +96,7 @@ public class GameSession extends GameWatcher {
setupTimeout();
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("gameChooseAbility", abilities));
session.fireCallback(new ClientCallback("gameChooseAbility", game.getId(), abilities));
}
}
@ -105,7 +105,7 @@ public class GameSession extends GameWatcher {
setupTimeout();
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("gameChoose", new GameClientMessage(choices.toArray(new String[0]), message)));
session.fireCallback(new ClientCallback("gameChoose", game.getId(), new GameClientMessage(choices.toArray(new String[0]), message)));
}
}
@ -114,7 +114,7 @@ public class GameSession extends GameWatcher {
setupTimeout();
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("gamePlayMana", new GameClientMessage(gameView, message)));
session.fireCallback(new ClientCallback("gamePlayMana", game.getId(), new GameClientMessage(gameView, message)));
}
}
@ -123,7 +123,7 @@ public class GameSession extends GameWatcher {
setupTimeout();
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("gamePlayXMana", new GameClientMessage(gameView, message)));
session.fireCallback(new ClientCallback("gamePlayXMana", game.getId(), new GameClientMessage(gameView, message)));
}
}
@ -132,7 +132,7 @@ public class GameSession extends GameWatcher {
setupTimeout();
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("gameSelectAmount", new GameClientMessage(message, min, max)));
session.fireCallback(new ClientCallback("gameSelectAmount", game.getId(), new GameClientMessage(message, min, max)));
}
}
@ -140,7 +140,7 @@ public class GameSession extends GameWatcher {
if (!killed) {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("gameReveal", new GameClientMessage(cardView, name)));
session.fireCallback(new ClientCallback("gameReveal", game.getId(), new GameClientMessage(cardView, name)));
}
}

View file

@ -61,7 +61,7 @@ public class GameWatcher {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null) {
session.clearAck();
session.fireCallback(new ClientCallback("gameInit", gameView));
session.fireCallback(new ClientCallback("gameInit", gameId, gameView));
if (waitForAck("gameInit"))
return true;
}
@ -81,7 +81,7 @@ public class GameWatcher {
if (!killed) {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("gameUpdate", gameView));
session.fireCallback(new ClientCallback("gameUpdate", gameId, gameView));
}
}
@ -89,7 +89,7 @@ public class GameWatcher {
if (!killed) {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("gameInform", new GameClientMessage(gameView, message)));
session.fireCallback(new ClientCallback("gameInform", gameId, new GameClientMessage(gameView, message)));
}
}
@ -97,7 +97,7 @@ public class GameWatcher {
if (!killed) {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("gameOver", message));
session.fireCallback(new ClientCallback("gameOver", gameId, message));
}
}

View file

@ -59,7 +59,7 @@ public class ReplaySession implements GameCallback {
replay.start();
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("replayInit", new GameView(replay.next(), replay.getGame())));
session.fireCallback(new ClientCallback("replayInit", replay.getGame().getId(), new GameView(replay.next(), replay.getGame())));
}
public void stop() {
@ -78,7 +78,7 @@ public class ReplaySession implements GameCallback {
public void gameResult(final String result) {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("replayDone", result));
session.fireCallback(new ClientCallback("replayDone", replay.getGame().getId(), result));
}
private void updateGame(final GameState state, Game game) {
@ -88,7 +88,7 @@ public class ReplaySession implements GameCallback {
else {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("replayUpdate", new GameView(state, game)));
session.fireCallback(new ClientCallback("replayUpdate", replay.getGame().getId(), new GameView(state, game)));
}
}

View file

@ -72,7 +72,7 @@ public class TournamentSession {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null) {
session.clearAck();
session.fireCallback(new ClientCallback("tournamentInit", tournamentView));
session.fireCallback(new ClientCallback("tournamentInit", tournament.getId(), tournamentView));
if (waitForAck("tournamentInit"))
return true;
}
@ -92,7 +92,7 @@ public class TournamentSession {
if (!killed) {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("tournamentUpdate", tournamentView));
session.fireCallback(new ClientCallback("tournamentUpdate", tournament.getId(), tournamentView));
}
}
@ -100,7 +100,7 @@ public class TournamentSession {
if (!killed) {
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("tournamentOver", message));
session.fireCallback(new ClientCallback("tournamentOver", tournament.getId(), message));
}
}