send list of targets to client

This commit is contained in:
BetaSteward 2010-12-02 04:39:18 +00:00
parent 36f512de71
commit 53d7e5623b
25 changed files with 92 additions and 103 deletions

View file

@ -124,7 +124,7 @@ public class GameController implements GameCallback {
ask(event.getPlayerId(), event.getMessage());
break;
case PICK_TARGET:
target(event.getPlayerId(), event.getMessage(), event.getCards(), event.isRequired());
target(event.getPlayerId(), event.getMessage(), event.getCards(), event.getTargets(), event.isRequired());
break;
case PICK_ABILITY:
target(event.getPlayerId(), event.getMessage(), event.getAbilities(), event.isRequired());
@ -317,19 +317,19 @@ public class GameController implements GameCallback {
informOthers(playerId);
}
private synchronized void target(UUID playerId, String question, Cards cards, boolean required) {
private synchronized void target(UUID playerId, String question, Cards cards, Set<UUID> targets, boolean required) {
if (gameSessions.containsKey(playerId)) {
if (cards != null)
gameSessions.get(playerId).target(question, new CardsView(cards.getCards(game)), required, getGameView(playerId));
gameSessions.get(playerId).target(question, new CardsView(cards.getCards(game)), targets, required, getGameView(playerId));
else
gameSessions.get(playerId).target(question, new CardsView(), required, getGameView(playerId));
gameSessions.get(playerId).target(question, new CardsView(), targets, required, getGameView(playerId));
}
informOthers(playerId);
}
private synchronized void target(UUID playerId, String question, Collection<? extends Ability> abilities, boolean required) {
if (gameSessions.containsKey(playerId))
gameSessions.get(playerId).target(question, new CardsView(abilities, game.getState()), required, getGameView(playerId));
gameSessions.get(playerId).target(question, new CardsView(abilities, game.getState()), null, required, getGameView(playerId));
informOthers(playerId);
}

View file

@ -71,12 +71,12 @@ public class GameSession extends GameWatcher {
}
}
public void target(final String question, final CardsView cardView, final boolean required, final GameView gameView) {
public void target(final String question, final CardsView cardView, final Set<UUID> targets, final boolean required, final GameView gameView) {
if (!killed) {
setupTimeout();
Session session = SessionManager.getInstance().getSession(sessionId);
if (session != null)
session.fireCallback(new ClientCallback("gameTarget", new GameClientMessage(gameView, question, cardView, required)));
session.fireCallback(new ClientCallback("gameTarget", new GameClientMessage(gameView, question, cardView, targets, required)));
}
}