From 4694a3b9e94faf5c4aef3e0637ede6aa95fa700a Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Wed, 7 Dec 2011 22:10:57 +0000 Subject: [PATCH] Adding player display for game rooms. --- .../lotro/game/LotroGameMediator.java | 2 +- .../gemp-lotr-web/src/main/webapp/game.html | 11 ++++++++++ .../gemp-lotr-web/src/main/webapp/js/chat.js | 22 +++++++++++++++---- .../src/main/webapp/js/gameUi.js | 21 +++++++++++++++--- 4 files changed, 48 insertions(+), 8 deletions(-) diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroGameMediator.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroGameMediator.java index 310fc4f09..d9040e2d1 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroGameMediator.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroGameMediator.java @@ -180,7 +180,7 @@ public class LotroGameMediator { } if (_lotroGame.getGameState() != null && _lotroGame.getWinnerPlayerId() == null) { - for (Map.Entry playerDecision : _decisionQuerySentTimes.entrySet()) { + for (Map.Entry playerDecision : new HashMap(_decisionQuerySentTimes).entrySet()) { String playerId = playerDecision.getKey(); long decisionSent = playerDecision.getValue(); if (currentTime > decisionSent + _playerDecisionTimeoutPeriod) { diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/game.html b/gemp-lotr/gemp-lotr-web/src/main/webapp/game.html index eae49e411..1eb9a2ec0 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/game.html +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/game.html @@ -243,6 +243,13 @@ body { font-size: 300%; } +.ui-tabs .ui-tabs-nav li a.slimTab { + padding-left: 3px; + padding-right: 3px; + padding-top: 2px; + padding-bottom: 2px; +} + #chatBox { font-size: 90%; } @@ -282,6 +289,10 @@ body { font-size: 70%; padding: .2em .5em; } + +.ui-tabs .ui-tabs-panel.slimPanel { + padding: 4px; +} diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/js/chat.js b/gemp-lotr/gemp-lotr-web/src/main/webapp/js/chat.js index fc7ba0335..9a90254d9 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/js/chat.js +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/js/chat.js @@ -12,9 +12,11 @@ var ChatBoxUI = Class.extend({ processingMessages: null, retryCount: null, maxRetryCount: 5, + playerListener: null, - init: function(name, div, url, showList) { + init: function(name, div, url, showList, playerListener) { var that = this; + this.playerListener = playerListener; this.retryCount = 0; this.name = name; this.div = div; @@ -149,12 +151,24 @@ var ChatBoxUI = Class.extend({ } } - if (this.chatListDiv != null) { - this.chatListDiv.html(""); - var users = root.getElementsByTagName("user"); + var users = root.getElementsByTagName("user"); + if (this.playerListener != null) { + var players = new Array(); for (var i = 0; i < users.length; i++) { var user = users[i]; var userName = user.childNodes[0].nodeValue; + players.push(userName); + } + this.playerListener(players); + } + + if (this.chatListDiv != null) { + this.chatListDiv.html(""); + var players = new Array(); + for (var i = 0; i < users.length; i++) { + var user = users[i]; + var userName = user.childNodes[0].nodeValue; + players.push(userName); this.chatListDiv.append("
" + userName + "
"); } } diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/js/gameUi.js b/gemp-lotr/gemp-lotr-web/src/main/webapp/js/gameUi.js index de48a134e..1e6db8945 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/js/gameUi.js +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/js/gameUi.js @@ -312,8 +312,15 @@ var GempLotrGameUI = Class.extend({ addBottomLeftTabPane: function() { var that = this; - this.tabPane = $("
" - + "
").tabs(); + var tabsLabels = "
  • Chat
  • "; + var tabsBodies = "
    "; + if (!this.replayMode) { + tabsLabels += "
  • Settings
  • Options
  • Players
  • "; + tabsBodies += "
    "; + } + var tabsStr = "
      " + tabsLabels + "
    " + tabsBodies + "
    "; + + this.tabPane = $(tabsStr).tabs(); $("#main").append(this.tabPane); @@ -345,8 +352,16 @@ var GempLotrGameUI = Class.extend({ $.cookie("autoAccept", "" + selected, { expires: 365 }); }); + var playerListener = function(players) { + var val = ""; + for (var i = 0; i < players.length; i++) + val += players[i] + "
    "; + $("a[href='#playersInRoomBox']").html("Players(" + players.length + ")"); + $("#playersInRoomBox").html(val); + }; + var chatRoomName = (this.replayMode ? null : ("Game" + getUrlParam("gameId"))); - this.chatBox = new ChatBoxUI(chatRoomName, $("#chatBox"), this.communication.url); + this.chatBox = new ChatBoxUI(chatRoomName, $("#chatBox"), this.communication.url, false, playerListener); this.chatBox.chatUpdateInterval = 3000; if (!this.spectatorMode && !this.replayMode) {