summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/network/ConnectionControl.java
diff options
context:
space:
mode:
authorBennet Gerlach <bennet_gerlach@web.de>2011-06-19 02:47:38 +0200
committerBennet Gerlach <bennet_gerlach@web.de>2011-06-19 02:47:38 +0200
commitbf24a9279ae23336cc8e14d6e1c40f1a2a0c33a7 (patch)
tree31ab0066fd1c0737d7b9acf5b858881b468468e7 /src/jrummikub/control/network/ConnectionControl.java
parent4ddf87fc9638a7a099c57d650ed878571d0b0954 (diff)
downloadJRummikub-bf24a9279ae23336cc8e14d6e1c40f1a2a0c33a7.tar
JRummikub-bf24a9279ae23336cc8e14d6e1c40f1a2a0c33a7.zip
Start game button in a network game sends an event
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@479 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/control/network/ConnectionControl.java')
-rw-r--r--src/jrummikub/control/network/ConnectionControl.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/jrummikub/control/network/ConnectionControl.java b/src/jrummikub/control/network/ConnectionControl.java
index 86322b2..6ded0f3 100644
--- a/src/jrummikub/control/network/ConnectionControl.java
+++ b/src/jrummikub/control/network/ConnectionControl.java
@@ -53,6 +53,8 @@ public class ConnectionControl implements IConnectionControl {
private Event2<String, Color> changeColorEvent = new Event2<String, Color>();
+ private Event gameStartEvent = new Event();
+
private GameData currentGame;
private volatile GameData offeredGame;
@@ -129,6 +131,11 @@ public class ConnectionControl implements IConnectionControl {
}
@Override
+ public IEvent getGameStartEvent() {
+ return gameStartEvent;
+ }
+
+ @Override
public void offerGame(GameData data) {
offeredGame = data;
currentGame = data;
@@ -221,6 +228,19 @@ public class ConnectionControl implements IConnectionControl {
}
+ @Override
+ public void startGame() {
+ final UUID uuid = currentGame.getGameID();
+ run(new SendRunner() {
+ @Override
+ protected void addData(DefaultPacketExtension extension) {
+ extension.setValue("messageType", "game_start");
+ extension.setValue("uuid", uuid.toString());
+ }
+ });
+
+ }
+
private void sendGameOffer() {
final GameData data = offeredGame;
run(new SendRunner() {
@@ -315,6 +335,8 @@ public class ConnectionControl implements IConnectionControl {
} else if (messageType.equals("change_color")) {
changeColorEvent.emit(sender,
(Color) Base64.decodeToObject(extension.getValue("color")));
+ } else if (messageType.equals("game_start")) {
+ gameStartEvent.emit();
} else {
System.err.println("Received unrecognized message of type '"
+ messageType + "'");