Serializing threats.

This commit is contained in:
marcins78@gmail.com
2011-11-13 16:05:16 +00:00
parent 86c63b664a
commit efb7158810
3 changed files with 28 additions and 0 deletions

View File

@@ -82,6 +82,13 @@ public class EventSerializer {
eventElem.appendChild(playerZonesElem);
}
for (Map.Entry<String, Integer> playerThreatEntry : gameStats.getThreats().entrySet()) {
Element threatsElem = doc.createElement("threats");
threatsElem.setAttribute("name", playerThreatEntry.getKey());
threatsElem.setAttribute("value", playerThreatEntry.getValue().toString());
eventElem.appendChild(threatsElem);
}
Map<Integer, Integer> charVitalities = gameStats.getCharVitalities();
Map<Integer, Integer> charThirdStats = gameStats.getThirdStats();

View File

@@ -620,6 +620,10 @@ public class GameState {
return getTokenCount(_ringBearers.get(getCurrentPlayerId()), Token.BURDEN);
}
public int getPlayerThreats(String playerId) {
return _playerThreats.get(playerId);
}
public int getThreats() {
return _playerThreats.get(getCurrentPlayerId());
}

View File

@@ -28,6 +28,7 @@ public class GameStats {
private boolean _fpOverwhelmed;
private Map<String, Map<Zone, Integer>> _zoneSizes = new HashMap<String, Map<Zone, Integer>>();
private Map<String, Integer> _threats = new HashMap<String, Integer>();
private Map<Integer, Integer> _charStrengths = new HashMap<Integer, Integer>();
private Map<Integer, Integer> _charVitalities = new HashMap<Integer, Integer>();
private Map<Integer, Integer> _thirdStats = new HashMap<Integer, Integer>();
@@ -144,6 +145,17 @@ public class GameStats {
_thirdStats = newThirdStats;
}
Map<String, Integer> newThreats = new HashMap<String, Integer>();
if (playerOrder != null) {
for (String player : playerOrder.getAllPlayers())
newThreats.put(player, game.getGameState().getPlayerThreats(player));
}
if (!newThreats.equals(_threats)) {
changed = true;
_threats = newThreats;
}
return changed;
}
@@ -187,6 +199,10 @@ public class GameStats {
return Collections.unmodifiableMap(_zoneSizes);
}
public Map<String, Integer> getThreats() {
return _threats;
}
public Map<Integer, Integer> getCharStrengths() {
return Collections.unmodifiableMap(_charStrengths);
}
@@ -211,6 +227,7 @@ public class GameStats {
copy._shadowSkirmishDamageBonus = _shadowSkirmishDamageBonus;
copy._fpOverwhelmed = _fpOverwhelmed;
copy._zoneSizes = _zoneSizes;
copy._threats = _threats;
copy._charStrengths = _charStrengths;
copy._charVitalities = _charVitalities;
copy._thirdStats = _thirdStats;