Update ExtraTurn in PlayerView

This commit is contained in:
Hanmac
2018-11-08 08:28:32 +01:00
parent ebdfd94f85
commit 2d4174c6d8
2 changed files with 15 additions and 0 deletions

View File

@@ -873,10 +873,13 @@ public class PhaseHandler implements java.io.Serializable {
}
public final ExtraTurn addExtraTurn(final Player player) {
Player previous = null;
// use a stack to handle extra turns, make sure the bottom of the stack
// restores original turn order
if (extraTurns.isEmpty()) {
extraTurns.push(new ExtraTurn(game.getNextPlayerAfter(playerTurn)));
} else {
previous = extraTurns.peek().getPlayer();
}
ExtraTurn result = extraTurns.push(new ExtraTurn(player));
@@ -884,6 +887,16 @@ public class PhaseHandler implements java.io.Serializable {
for (final Player p : game.getPlayers()) {
p.setExtraTurnCount(getExtraTurnForPlayer(p));
}
// get all players where the view should be updated
List<Player> toUpdate = Lists.newArrayList(player);
if (previous != null) {
toUpdate.add(previous);
}
// fireEvent to update the Details
game.fireEvent(new GameEventPlayerStatsChanged(toUpdate));
return result;
}

View File

@@ -412,6 +412,8 @@ public final class CMatchUI
if (vHand != null) {
vHand.getLayoutControl().updateHand();
}
// update Cards in Hand
getFieldViewFor(owner).updateDetails();
}
if (updateAnte) {
cAntes.update();