Any errors that now occur during processing response from server (JS bugs) will now display an error message and instruct to reload the page.
This commit is contained in:
@@ -536,15 +536,15 @@ var GempLotrGameUI = Class.extend({
|
|||||||
var tar = $(event.target);
|
var tar = $(event.target);
|
||||||
if (tar.hasClass("actionArea")) {
|
if (tar.hasClass("actionArea")) {
|
||||||
var selectedCardElem = tar.closest(".card");
|
var selectedCardElem = tar.closest(".card");
|
||||||
if (event.which == 1) {
|
if (event.which == 1) {
|
||||||
var cardData = selectedCardElem.data("card");
|
var cardData = selectedCardElem.data("card");
|
||||||
if (cardData) {
|
if (cardData) {
|
||||||
this.dragCardId = cardData.cardId;
|
this.dragCardId = cardData.cardId;
|
||||||
this.dragStartX = event.clientX;
|
this.dragStartX = event.clientX;
|
||||||
this.dragStartY = event.clientY;
|
this.dragStartY = event.clientY;
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
@@ -936,7 +936,7 @@ var GempLotrGameUI = Class.extend({
|
|||||||
buttons: buttons
|
buttons: buttons
|
||||||
}).text(text);
|
}).text(text);
|
||||||
},
|
},
|
||||||
|
|
||||||
getCardModifiersFunction:function (cardId, func) {
|
getCardModifiersFunction:function (cardId, func) {
|
||||||
var that = this;
|
var that = this;
|
||||||
this.communication.getGameCardModifiers(cardId,
|
this.communication.getGameCardModifiers(cardId,
|
||||||
@@ -1058,46 +1058,50 @@ var GempLotrGameUI = Class.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
processGameEventsXml:function (element, animate) {
|
processGameEventsXml:function (element, animate) {
|
||||||
this.channelNumber = element.getAttribute("cn");
|
try {
|
||||||
|
this.channelNumber = element.getAttribute("cn");
|
||||||
|
|
||||||
var gameEvents = element.getElementsByTagName("ge");
|
var gameEvents = element.getElementsByTagName("ge");
|
||||||
|
|
||||||
var hasDecision = false;
|
var hasDecision = false;
|
||||||
|
|
||||||
// Go through all the events
|
// Go through all the events
|
||||||
for (var i = 0; i < gameEvents.length; i++) {
|
for (var i = 0; i < gameEvents.length; i++) {
|
||||||
var gameEvent = gameEvents[i];
|
var gameEvent = gameEvents[i];
|
||||||
this.processGameEvent(gameEvent, animate);
|
this.processGameEvent(gameEvent, animate);
|
||||||
var eventType = gameEvent.getAttribute("type");
|
var eventType = gameEvent.getAttribute("type");
|
||||||
if (eventType == "D")
|
if (eventType == "D")
|
||||||
hasDecision = true;
|
hasDecision = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.allPlayerIds != null) {
|
if (this.allPlayerIds != null) {
|
||||||
var clocksXml = element.getElementsByTagName("clocks");
|
var clocksXml = element.getElementsByTagName("clocks");
|
||||||
if (clocksXml.length > 0) {
|
if (clocksXml.length > 0) {
|
||||||
var clocks = clocksXml[0].getElementsByTagName("clock");
|
var clocks = clocksXml[0].getElementsByTagName("clock");
|
||||||
for (var i = 0; i < clocks.length; i++) {
|
for (var i = 0; i < clocks.length; i++) {
|
||||||
var clock = clocks[i];
|
var clock = clocks[i];
|
||||||
var participantId = clock.getAttribute("participantId");
|
var participantId = clock.getAttribute("participantId");
|
||||||
var index = this.getPlayerIndex(participantId);
|
var index = this.getPlayerIndex(participantId);
|
||||||
|
|
||||||
var value = parseInt(clock.childNodes[0].nodeValue);
|
var value = parseInt(clock.childNodes[0].nodeValue);
|
||||||
|
|
||||||
var sign = (value < 0) ? "-" : "";
|
var sign = (value < 0) ? "-" : "";
|
||||||
value = Math.abs(value);
|
value = Math.abs(value);
|
||||||
var minutes = Math.floor(value / 60);
|
var minutes = Math.floor(value / 60);
|
||||||
var seconds = value % 60;
|
var seconds = value % 60;
|
||||||
|
|
||||||
$("#clock" + index).text(sign + minutes + ":" + ((seconds < 10) ? ("0" + seconds) : seconds));
|
$("#clock" + index).text(sign + minutes + ":" + ((seconds < 10) ? ("0" + seconds) : seconds));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (!hasDecision) {
|
if (!hasDecision) {
|
||||||
this.animations.updateGameState(animate);
|
this.animations.updateGameState(animate);
|
||||||
} else {
|
} else {
|
||||||
this.startAnimatingTitle();
|
this.startAnimatingTitle();
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
this.showErrorDialog("Game error", "There was an error while processing game events in your browser. Reload the game to continue", true, false, false);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1481,7 +1485,7 @@ var GempLotrGameUI = Class.extend({
|
|||||||
var tar = $(event.target);
|
var tar = $(event.target);
|
||||||
if (tar.hasClass("actionArea")) {
|
if (tar.hasClass("actionArea")) {
|
||||||
var selectedCardElem = tar.closest(".card");
|
var selectedCardElem = tar.closest(".card");
|
||||||
that.displayCardInfo(selectedCardElem.data("card"));
|
that.displayCardInfo(selectedCardElem.data("card"));
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
@@ -1976,7 +1980,7 @@ var GempLotrGameUI = Class.extend({
|
|||||||
if (card.assign != null)
|
if (card.assign != null)
|
||||||
assignmentMap[card.assign] += " " + card.cardId;
|
assignmentMap[card.assign] += " " + card.cardId;
|
||||||
else
|
else
|
||||||
atLeastOnMinionUnassigned=true;
|
atLeastOnMinionUnassigned = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (atLeastOnMinionUnassigned && !confirm("At least one minion has not been assigned, do you want to proceed?"))
|
if (atLeastOnMinionUnassigned && !confirm("At least one minion has not been assigned, do you want to proceed?"))
|
||||||
|
|||||||
Reference in New Issue
Block a user