diff options
Diffstat (limited to 'src/jrummikub/control/network/NetworkRoundControl.java')
-rw-r--r-- | src/jrummikub/control/network/NetworkRoundControl.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/jrummikub/control/network/NetworkRoundControl.java b/src/jrummikub/control/network/NetworkRoundControl.java index 64faebb..d21e8e8 100644 --- a/src/jrummikub/control/network/NetworkRoundControl.java +++ b/src/jrummikub/control/network/NetworkRoundControl.java @@ -20,12 +20,27 @@ public class NetworkRoundControl extends RoundControl { this.connectionControl = connectionControl; currentlyActive = startActive; + connections.add(connectionControl.getRoundStateUpdateEvent().add( + new IListener1<IRoundState>() { + @Override + public void handle(IRoundState state) { + NetworkControl.fixGameSettings(state.getGameSettings(), + connectionControl.getNickname()); + setRoundState(state); + } + })); connections.add(connectionControl.getTurnStartEvent().add(new IListener() { @Override public void handle() { startTurn(); } })); + connections.add(connectionControl.getNextPlayerEvent().add(new IListener() { + @Override + public void handle() { + NetworkRoundControl.super.nextPlayer(); + } + })); } @Override @@ -68,6 +83,22 @@ public class NetworkRoundControl extends RoundControl { } @Override + protected void deal() { + super.deal(); + + if (currentlyActive) { + connectionControl.updateRoundState(roundState); + } + } + + @Override + protected void nextPlayer() { + if (currentlyActive) { + connectionControl.nextPlayer(); + } + } + + @Override protected void endOfTurn(InvalidTurnInfo invalidTurnInfo) { if (currentlyActive) { connectionControl.endTurn(roundState, invalidTurnInfo); |