From 148994c9e591dec543855b7279b93299f0279a0b Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Wed, 7 Jan 2015 23:43:58 +0100 Subject: [PATCH] * Fixed a bug that for players was not shown, that they play a tournament after round 1. --- .../java/mage/server/TableController.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/Mage.Server/src/main/java/mage/server/TableController.java b/Mage.Server/src/main/java/mage/server/TableController.java index cceb14916ab..9690e0da2cf 100644 --- a/Mage.Server/src/main/java/mage/server/TableController.java +++ b/Mage.Server/src/main/java/mage/server/TableController.java @@ -300,7 +300,9 @@ public class TableController { logger.trace(player.getName() + " joined tableId: " + table.getId()); //only inform human players and add them to sessionPlayerMap if (seat.getPlayer().isHuman()) { - user.addTable(player.getId(), table); + if (!table.isTournamentSubTable()) { + user.addTable(player.getId(), table); + } user.ccJoinedTable(table.getRoomId(), table.getId(), false); userPlayerMap.put(userId, player.getId()); } @@ -466,7 +468,9 @@ public class TableController { User user = UserManager.getInstance().getUser(userId); if (user != null) { ChatManager.getInstance().broadcast(chatId, user.getName(), "has left the table", ChatMessage.MessageColor.BLUE, true, ChatMessage.MessageType.STATUS, ChatMessage.SoundToPlay.PlayerLeft); - user.removeTable(playerId); + if (!table.isTournamentSubTable()) { + user.removeTable(playerId); + } } else { logger.debug("User not found - userId: " + userId + " tableId:" + table.getId()); } @@ -777,7 +781,9 @@ public class TableController { user.showUserMessage("Match info", sb.toString()); } // remove table from user - table manager holds table for display of finished matches - user.removeTable(entry.getValue()); + if (!table.isTournamentSubTable()) { + user.removeTable(entry.getValue()); + } } } } @@ -923,11 +929,13 @@ public class TableController { } void cleanUp() { - for(Map.Entry entry: userPlayerMap.entrySet()) { - User user = UserManager.getInstance().getUser(entry.getKey()); - if (user != null) { - user.removeTable(entry.getValue()); - } + if (!table.isTournamentSubTable()) { + for(Map.Entry entry: userPlayerMap.entrySet()) { + User user = UserManager.getInstance().getUser(entry.getKey()); + if (user != null) { + user.removeTable(entry.getValue()); + } + } } ChatManager.getInstance().destroyChatSession(chatId); }