summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/network/NetworkRoundControl.java
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2011-06-21 01:24:10 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2011-06-21 01:24:10 +0200
commit0b1151e6af8ce156d4ad5d6153cb5a02e99329d7 (patch)
treecd2b3e1ac7018028141fafde3c3c358c7574673c /src/jrummikub/control/network/NetworkRoundControl.java
parent2f08091b65fdff96d3671549e74384ec8306668d (diff)
downloadJRummikub-0b1151e6af8ce156d4ad5d6153cb5a02e99329d7.tar
JRummikub-0b1151e6af8ce156d4ad5d6153cb5a02e99329d7.zip
Fix network mode
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@521 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/control/network/NetworkRoundControl.java')
-rw-r--r--src/jrummikub/control/network/NetworkRoundControl.java31
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);