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) { public final ExtraTurn addExtraTurn(final Player player) {
Player previous = null;
// use a stack to handle extra turns, make sure the bottom of the stack // use a stack to handle extra turns, make sure the bottom of the stack
// restores original turn order // restores original turn order
if (extraTurns.isEmpty()) { if (extraTurns.isEmpty()) {
extraTurns.push(new ExtraTurn(game.getNextPlayerAfter(playerTurn))); extraTurns.push(new ExtraTurn(game.getNextPlayerAfter(playerTurn)));
} else {
previous = extraTurns.peek().getPlayer();
} }
ExtraTurn result = extraTurns.push(new ExtraTurn(player)); ExtraTurn result = extraTurns.push(new ExtraTurn(player));
@@ -884,6 +887,16 @@ public class PhaseHandler implements java.io.Serializable {
for (final Player p : game.getPlayers()) { for (final Player p : game.getPlayers()) {
p.setExtraTurnCount(getExtraTurnForPlayer(p)); 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; return result;
} }

View File

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