diff options
Diffstat (limited to 'src/jrummikub/control/network/ConnectionControl.java')
-rw-r--r-- | src/jrummikub/control/network/ConnectionControl.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/jrummikub/control/network/ConnectionControl.java b/src/jrummikub/control/network/ConnectionControl.java index 54c9512..d791344 100644 --- a/src/jrummikub/control/network/ConnectionControl.java +++ b/src/jrummikub/control/network/ConnectionControl.java @@ -60,6 +60,7 @@ public class ConnectionControl implements IConnectionControl { private Event2<String, Color> changeColorEvent = new Event2<String, Color>(); private Event gameStartEvent = new Event(); + private Event roundStartEvent = new Event(); private Event1<ITable> tableUpdateEvent = new Event1<ITable>(); private Event1<ITable> turnEndEvent = new Event1<ITable>(); @@ -152,6 +153,11 @@ public class ConnectionControl implements IConnectionControl { } @Override + public IEvent getRoundStartEvent() { + return roundStartEvent; + } + + @Override public IEvent1<ITable> getTableUpdateEvent() { return tableUpdateEvent; } @@ -271,6 +277,18 @@ public class ConnectionControl implements IConnectionControl { } @Override + public void startRound() { + final UUID uuid = currentGame.getGameID(); + run(new SendRunner() { + @Override + protected void addData(DefaultPacketExtension extension) { + extension.setValue("messageType", "round_start"); + extension.setValue("uuid", uuid.toString()); + } + }); + } + + @Override public void updateTable(final ITable table) { final UUID uuid = currentGame.getGameID(); run(new SendRunner() { @@ -414,6 +432,8 @@ public class ConnectionControl implements IConnectionControl { (Color) Base64.decodeToObject(extension.getValue("color"))); } else if (messageType.equals("game_start")) { gameStartEvent.emit(); + } else if (messageType.equals("round_start")) { + roundStartEvent.emit(); } else if (messageType.equals("table_update")) { tableUpdateEvent.emit((ITable) Base64.decodeToObject(extension .getValue("table"))); |