From 152c414200f4181e9199828e0ef5d27e5cca2d4d Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Tue, 20 Sep 2011 11:56:19 +0000 Subject: [PATCH] Triggered actions per player should be immutable. --- .../lotro/logic/timing/TurnProcedure.java | 9 +- .../src/main/webapp/js/gameUi.js | 87 ++++++++++--------- 2 files changed, 48 insertions(+), 48 deletions(-) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java index d45795e56..8ca636aee 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java @@ -11,10 +11,7 @@ import com.gempukku.lotro.logic.timing.actions.SystemAction; import com.gempukku.lotro.logic.timing.processes.GameProcess; import com.gempukku.lotro.logic.timing.processes.pregame.BiddingGameProcess; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; // Action generates multiple Effects, both costs and result of an action are Effects. @@ -162,7 +159,7 @@ public class TurnProcedure { public void doPlayEffect(LotroGame game) { if (!_effect.isCancelled()) { final String activePlayer = _playOrder.getNextPlayer(); - List possibleActions = _actionMap.get(activePlayer); + List possibleActions = new LinkedList(_actionMap.get(activePlayer)); possibleActions.addAll(_game.getActionsEnvironment().getOptionalBeforeActions(activePlayer, _effect)); if (possibleActions.size() > 0) { @@ -211,7 +208,7 @@ public class TurnProcedure { @Override public void doPlayEffect(LotroGame game) { final String activePlayer = _playOrder.getNextPlayer(); - List possibleActions = _actionMap.get(activePlayer); + List possibleActions = new LinkedList(_actionMap.get(activePlayer)); possibleActions.addAll(_game.getActionsEnvironment().getOptionalAfterActions(activePlayer, _effectResult)); if (possibleActions.size() > 0) { 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 fc747a358..47c8124a9 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 @@ -171,6 +171,7 @@ var GempLotrGameUI = Class.extend({ }, addBottomLeftTabPane: function() { + var that = this; this.tabPane = $("").tabs(); $("#main").append(this.tabPane); @@ -240,21 +241,21 @@ var GempLotrGameUI = Class.extend({ initializeDialogs: function() { this.smallDialog = $("
") .dialog({ - autoOpen: false, - closeOnEscape: false, - resizable: false, - width: 400, - height: 200 - }); + autoOpen: false, + closeOnEscape: false, + resizable: false, + width: 400, + height: 200 + }); this.cardActionDialog = $("
") .dialog({ - autoOpen: false, - closeOnEscape: false, - resizable: true, - width: 600, - height: 300 - }); + autoOpen: false, + closeOnEscape: false, + resizable: true, + width: 600, + height: 300 + }); var that = this; @@ -266,15 +267,15 @@ var GempLotrGameUI = Class.extend({ this.infoDialog = $("
") .dialog({ - autoOpen: false, - closeOnEscape: true, - resizable: true, - title: "Card information", - minHeight: 80, - minWidth: 200, - width: 600, - height: 300 - }); + autoOpen: false, + closeOnEscape: true, + resizable: true, + title: "Card information", + minHeight: 80, + minWidth: 200, + width: 600, + height: 300 + }); var swipeOptions = { threshold: 20, @@ -552,9 +553,9 @@ var GempLotrGameUI = Class.extend({ else if (zone == "DISCARD") $("#discard" + this.getPlayerIndex(playerId)).text("Discard: " + count); else if (zone == "DEAD") - $("#deadPile" + this.getPlayerIndex(playerId)).text("Dead pile: " + count); - else if (zone == "DECK") - $("#deck" + this.getPlayerIndex(playerId)).text("Deck: " + count); + $("#deadPile" + this.getPlayerIndex(playerId)).text("Dead pile: " + count); + else if (zone == "DECK") + $("#deck" + this.getPlayerIndex(playerId)).text("Deck: " + count); }, playerPosition: function(element) { @@ -708,7 +709,7 @@ var GempLotrGameUI = Class.extend({ if (index != -1) cardData.attachedCards.splice(index, 1); } - ); + ); var card = $(".card:cardId(" + cardId + ")"); var cardData = card.data("card"); @@ -829,7 +830,7 @@ var GempLotrGameUI = Class.extend({ if (index != -1) cardData.attachedCards.splice(index, 1); } - ); + ); } card.remove(); @@ -901,13 +902,13 @@ var GempLotrGameUI = Class.extend({ this.smallDialog .html(text + "
") .dialog("option", "buttons", - { - "OK": function() { - $(this).dialog("close"); - that.decisionFunction(id, $("#integerDecision").val()); - } - } - ); + { + "OK": function() { + $(this).dialog("close"); + that.decisionFunction(id, $("#integerDecision").val()); + } + } + ); $("#integerDecision").SpinnerControl({ type: 'range', typedata: { @@ -939,13 +940,13 @@ var GempLotrGameUI = Class.extend({ this.smallDialog .html(html) .dialog("option", "buttons", - { - "OK": function() { - $(this).dialog("close"); - that.decisionFunction(id, $("#multipleChoiceDecision").val()); - } - } - ); + { + "OK": function() { + $(this).dialog("close"); + that.decisionFunction(id, $("#multipleChoiceDecision").val()); + } + } + ); this.smallDialog.dialog("open"); }, @@ -1022,6 +1023,7 @@ var GempLotrGameUI = Class.extend({ }; var resetChoice = function() { + selectedCardIds = new Array(); that.clearSelection(); allowSelection(); processButtons(); @@ -1094,13 +1096,13 @@ var GempLotrGameUI = Class.extend({ $("#ClearSelection").remove(); $("#Done").remove(); - if (selectedCardIds.size() == 0) { + if (selectedCardIds.length == 0) { that.alert.append(""); $("#Pass").button().click(function() { finishChoice(); }); } - if (selectedCardIds.size() > 0) { + if (selectedCardIds.length > 0) { that.alert.append(""); that.alert.append(""); $("#Done").button().click(function() { @@ -1119,6 +1121,7 @@ var GempLotrGameUI = Class.extend({ }; var resetChoice = function() { + selectedCardIds = new Array(); that.clearSelection(); allowSelection(); processButtons();