From e1b7e9dd2fbae6296537970d8e7c31917b20ef39 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Wed, 14 Sep 2011 18:50:30 +0000 Subject: [PATCH] Fixing plenty of bugs. --- .../lotro/communication/UserFeedback.java | 2 -- .../timing/processes/turn/CleanupProcess.java | 24 +++++++++++++++++++ .../processes/turn/EndOfTurnGameProcess.java | 5 +--- .../gempukku/lotro/DefaultUserFeedback.java | 10 -------- .../java/com/gempukku/lotro/GameEvent.java | 2 +- .../com/gempukku/lotro/LotroGameMediator.java | 12 +++------- .../game/ParticipantCommunicationVisitor.java | 2 -- .../gempukku/lotro/server/ServerResource.java | 5 ---- .../gemp-lotr-web/src/main/webapp/game.html | 12 ++++++++++ .../gemp-lotr-web/src/main/webapp/js/chat.js | 6 +++-- .../src/main/webapp/js/gameUi.js | 10 +++++++- 11 files changed, 54 insertions(+), 36 deletions(-) create mode 100644 gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/CleanupProcess.java diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/communication/UserFeedback.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/communication/UserFeedback.java index 966661786..aeb7649b0 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/communication/UserFeedback.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/communication/UserFeedback.java @@ -6,6 +6,4 @@ public interface UserFeedback { public void sendAwaitingDecision(String playerId, AwaitingDecision awaitingDecision); public boolean hasPendingDecisions(); - - public void sendWarning(String playerId, String warning); } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/CleanupProcess.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/CleanupProcess.java new file mode 100644 index 000000000..140cf8b7c --- /dev/null +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/CleanupProcess.java @@ -0,0 +1,24 @@ +package com.gempukku.lotro.logic.timing.processes.turn; + +import com.gempukku.lotro.common.Phase; +import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.timing.processes.GameProcess; + +public class CleanupProcess implements GameProcess { + private LotroGame _game; + + public CleanupProcess(LotroGame game) { + _game = game; + } + + @Override + public void process() { + _game.getGameState().stopAffectingCardsForCurrentPlayer(); + _game.getGameState().setCurrentPhase(Phase.BETWEEN_TURNS); + } + + @Override + public GameProcess getNextProcess() { + return new StartOfTurnGameProcess(_game); + } +} diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/EndOfTurnGameProcess.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/EndOfTurnGameProcess.java index e5d40175b..683d51fc2 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/EndOfTurnGameProcess.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/EndOfTurnGameProcess.java @@ -1,6 +1,5 @@ package com.gempukku.lotro.logic.timing.processes.turn; -import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.effects.TriggeringEffect; import com.gempukku.lotro.logic.timing.actions.SimpleEffectAction; @@ -17,12 +16,10 @@ public class EndOfTurnGameProcess implements GameProcess { @Override public void process() { _game.getActionsEnvironment().addActionToStack(new SimpleEffectAction(new TriggeringEffect(new EndOfTurnResult(), "End of turn"), "End of turn")); - _game.getGameState().stopAffectingCardsForCurrentPlayer(); - _game.getGameState().setCurrentPhase(Phase.BETWEEN_TURNS); } @Override public GameProcess getNextProcess() { - return new StartOfTurnGameProcess(_game); + return new CleanupProcess(_game); } } diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/DefaultUserFeedback.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/DefaultUserFeedback.java index abc8e8e61..8978bae49 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/DefaultUserFeedback.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/DefaultUserFeedback.java @@ -9,7 +9,6 @@ import java.util.Set; public class DefaultUserFeedback implements UserFeedback { private Map _awaitingDecisionMap = new HashMap(); - private Map _warnings = new HashMap(); public void participantDecided(String playerId) { _awaitingDecisionMap.remove(playerId); @@ -19,10 +18,6 @@ public class DefaultUserFeedback implements UserFeedback { return _awaitingDecisionMap.get(playerId); } - public String consumeWarning(String playerId) { - return _warnings.remove(playerId); - } - @Override public void sendAwaitingDecision(String playerId, AwaitingDecision awaitingDecision) { _awaitingDecisionMap.put(playerId, awaitingDecision); @@ -33,11 +28,6 @@ public class DefaultUserFeedback implements UserFeedback { return _awaitingDecisionMap.size() > 0; } - @Override - public void sendWarning(String playerId, String warning) { - _warnings.put(playerId, warning); - } - public Set getUsersPendingDecision() { return _awaitingDecisionMap.keySet(); } diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/GameEvent.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/GameEvent.java index 963b243ff..e0eeb24b0 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/GameEvent.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/GameEvent.java @@ -15,7 +15,7 @@ public class GameEvent { ADD_ASSIGNMENT, REMOVE_ASSIGNMENT, START_SKIRMISH, END_SKIRMISH, ADD_TOKENS, REMOVE_TOKENS, - MESSAGE + MESSAGE, WARNING } private String _message; diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/LotroGameMediator.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/LotroGameMediator.java index 33eb01e39..4f4b9b6e2 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/LotroGameMediator.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/LotroGameMediator.java @@ -25,8 +25,8 @@ public class LotroGameMediator { private Map _decisionQuerySentTimes = new HashMap(); private final int _maxSecondsForGamePerPlayer = 60 * 30; // 30 minutes - private final int _channelInactivityTimeoutPeriod = 1000 * 30; // 30 seconds - private final int _playerDecisionTimeoutPeriod = 1000 * 60 * 5; // 5 minutes + private final int _channelInactivityTimeoutPeriod = 1000 * 60 * 5; // 5 minutes + private final int _playerDecisionTimeoutPeriod = 1000 * 60 * 10; // 10 minutes public LotroGameMediator(LotroFormat lotroFormat, LotroGameParticipant[] participants, LotroCardBlueprintLibrary library, GameResultListener gameResultListener) { @@ -139,9 +139,6 @@ public class LotroGameMediator { if (communicationChannel != null) { for (GameEvent gameEvent : communicationChannel.consumeGameEvents()) visitor.visitGameEvent(gameEvent); - String warning = _userFeedback.consumeWarning(participantId); - if (warning != null) - visitor.visitWarning(warning); AwaitingDecision awaitingDecision = _userFeedback.getAwaitingDecision(participantId); if (awaitingDecision != null) visitor.visitAwaitingDecision(awaitingDecision); @@ -153,7 +150,7 @@ public class LotroGameMediator { } visitor.visitClock(secondsLeft); } else { - visitor.visitWarning("Your browser was inactive for too long, please refresh your browser window to continue playing"); + visitor.visitGameEvent(new GameEvent(GameEvent.Type.WARNING).message("Your browser was inactive for too long, please refresh your browser window to continue playing")); } } @@ -166,9 +163,6 @@ public class LotroGameMediator { for (GameEvent gameEvent : participantCommunicationChannel.consumeGameEvents()) visitor.visitGameEvent(gameEvent); - String warning = _userFeedback.consumeWarning(participantId); - if (warning != null) - visitor.visitWarning(warning); AwaitingDecision awaitingDecision = _userFeedback.getAwaitingDecision(participantId); if (awaitingDecision != null) visitor.visitAwaitingDecision(awaitingDecision); diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/ParticipantCommunicationVisitor.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/ParticipantCommunicationVisitor.java index 036196fdd..80be60efb 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/ParticipantCommunicationVisitor.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/ParticipantCommunicationVisitor.java @@ -8,8 +8,6 @@ import java.util.Map; public interface ParticipantCommunicationVisitor { public void visitClock(Map secondsLeft); - public void visitWarning(String warning); - public void visitAwaitingDecision(AwaitingDecision awaitingDecision); public void visitGameEvent(GameEvent gameEvent); diff --git a/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/ServerResource.java b/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/ServerResource.java index 3d5429e11..159b899d4 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/ServerResource.java +++ b/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/ServerResource.java @@ -405,11 +405,6 @@ public class ServerResource { _element = element; } - @Override - public void visitWarning(String warning) { - //To change body of implemented methods use File | Settings | File Templates. - } - @Override public void visitGameEvent(GameEvent gameEvent) { _element.appendChild(serializeEvent(_doc, gameEvent)); 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 d802a13ad..500dba6e5 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/game.html +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/game.html @@ -58,6 +58,18 @@ border-width: 3px; border-color: #ff0000; } + + .chatMessage { + color: #3fafff; + } + + .gameMessage { + + } + + .warningMessage { + color: #ff0000; + } 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 ab43a2636..91aa92c31 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 @@ -45,8 +45,10 @@ var ChatBoxUI = Class.extend({ this.chatTalkDiv.css({ position: "absolute", left: x + talkBoxPadding + "px", top: y - 2 * talkBoxPadding + (height - this.talkBoxHeight) + "px", width: width - 3 * talkBoxPadding , height: this.talkBoxHeight }); }, - appendMessage: function(message) { - this.chatMessagesDiv.append("
" + message + "
"); + appendMessage: function(message, msgClass) { + if (msgClass == undefined) + msgClass = "chatMessage"; + this.chatMessagesDiv.append("
" + message + "
"); if ($("div", this.chatMessagesDiv).length > 50) { $("div", this.chatMessagesDiv).first().remove(); } 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 e338afa43..8e89b0761 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 @@ -335,6 +335,8 @@ var GempLotrGameUI = Class.extend({ this.removeTokens(gameEvent); } else if (eventType == "MESSAGE") { this.message(gameEvent); + } else if (eventType == "WARNING") { + this.message(gameEvent); } } if (gameEvents.length > 0) @@ -399,7 +401,13 @@ var GempLotrGameUI = Class.extend({ message: function(element) { var message = element.getAttribute("message"); if (this.chatBox != null) - this.chatBox.appendMessage("" + message + ""); + this.chatBox.appendMessage(message, "gameMessage"); + }, + + warning: function(element) { + var message = element.getAttribute("message"); + if (this.chatBox != null) + this.chatBox.appendMessage(message, "warningMessage"); }, startSkirmish: function(element) {