diff --git a/Mage.Common/src/main/java/mage/view/GameView.java b/Mage.Common/src/main/java/mage/view/GameView.java index 74d7d849c00..f9c9ff50117 100644 --- a/Mage.Common/src/main/java/mage/view/GameView.java +++ b/Mage.Common/src/main/java/mage/view/GameView.java @@ -27,10 +27,7 @@ import mage.players.Player; import org.apache.log4j.Logger; import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.UUID; +import java.util.*; /** * @author BetaSteward_at_googlemail.com @@ -46,8 +43,8 @@ public class GameView implements Serializable { private UUID myPlayerId = null; // null for watcher private final CardsView myHand = new CardsView(); private PlayableObjectsList canPlayObjects; - private Map opponentHands; - private Map watchedHands; + private Map opponentHands = new HashMap<>(); + private Map watchedHands = new HashMap<>(); private final CardsView stack = new CardsView(); private final List exiles = new ArrayList<>(); private final List revealed = new ArrayList<>(); @@ -250,18 +247,10 @@ public class GameView implements Serializable { return opponentHands; } - public void setOpponentHands(Map opponentHands) { - this.opponentHands = opponentHands; - } - public Map getWatchedHands() { return watchedHands; } - public void setWatchedHands(Map watchedHands) { - this.watchedHands = watchedHands; - } - public TurnPhase getPhase() { return phase; } diff --git a/Mage.Server/src/main/java/mage/server/game/GameSessionPlayer.java b/Mage.Server/src/main/java/mage/server/game/GameSessionPlayer.java index ca5002295ff..d623f35b90f 100644 --- a/Mage.Server/src/main/java/mage/server/game/GameSessionPlayer.java +++ b/Mage.Server/src/main/java/mage/server/game/GameSessionPlayer.java @@ -229,13 +229,12 @@ public class GameSessionPlayer extends GameSessionWatcher { // ignore watcher return; } + gameView.getOpponentHands().clear(); if (!player.getPlayersUnderYourControl().isEmpty()) { - Map handCards = new HashMap<>(); for (UUID controlledPlayerId : player.getPlayersUnderYourControl()) { Player opponent = game.getPlayer(controlledPlayerId); - handCards.put(opponent.getName(), new SimpleCardsView(opponent.getHand().getCards(game), true)); + gameView.getOpponentHands().put(opponent.getName(), new SimpleCardsView(opponent.getHand().getCards(game), true)); } - gameView.setOpponentHands(handCards); } } diff --git a/Mage.Server/src/main/java/mage/server/game/GameSessionWatcher.java b/Mage.Server/src/main/java/mage/server/game/GameSessionWatcher.java index 12c562f9c17..aa328f658cf 100644 --- a/Mage.Server/src/main/java/mage/server/game/GameSessionWatcher.java +++ b/Mage.Server/src/main/java/mage/server/game/GameSessionWatcher.java @@ -103,11 +103,10 @@ public class GameSessionWatcher { } protected static void processWatchedHands(Game game, UUID userId, GameView gameView) { - Map handCards = new HashMap<>(); + gameView.getWatchedHands().clear(); for (Player player : game.getPlayers().values()) { if (player.hasUserPermissionToSeeHand(userId)) { - handCards.put(player.getName(), new SimpleCardsView(player.getHand().getCards(game), true)); - gameView.setWatchedHands(handCards); + gameView.getWatchedHands().put(player.getName(), new SimpleCardsView(player.getHand().getCards(game), true)); } } }