summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/network/NetworkControl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/control/network/NetworkControl.java')
-rw-r--r--src/jrummikub/control/network/NetworkControl.java25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/jrummikub/control/network/NetworkControl.java b/src/jrummikub/control/network/NetworkControl.java
index 60640db..6579b0f 100644
--- a/src/jrummikub/control/network/NetworkControl.java
+++ b/src/jrummikub/control/network/NetworkControl.java
@@ -6,6 +6,7 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
+import jrummikub.control.SaveControl;
import jrummikub.model.GameSettings;
import jrummikub.util.Connection;
import jrummikub.util.Event;
@@ -31,6 +32,10 @@ public class NetworkControl {
private GameOfferControl gameOfferControl;
private GameJoinControl gameJoinControl;
+ private SaveControl saveControl;
+
+ private NetworkGameControl gameControl;
+
private List<UUID> games = new ArrayList<UUID>();
private Map<UUID, GameData> gameMap = new HashMap<UUID, GameData>();
@@ -45,9 +50,11 @@ public class NetworkControl {
* for events and handlers
*/
public NetworkControl(final LoginData loginData,
- IConnectionControl connectionControl, final IView view) {
+ IConnectionControl connectionControl, SaveControl saveControl,
+ final IView view) {
this.view = view;
this.connectionControl = connectionControl;
+ this.saveControl = saveControl;
addConnectionSetupListeners(loginData, view);
addConnectionControlListeners(view);
@@ -186,6 +193,14 @@ public class NetworkControl {
view.showGameListPanel(true);
}
});
+ gameJoinControl.getStartGameEvent().add(new IListener() {
+ @Override
+ public void handle() {
+ gameControl = new NetworkGameControl(null, saveControl, view,
+ connectionControl, false);
+ gameControl.startGame();
+ }
+ });
gameJoinControl.startGameJoin();
}
@@ -271,6 +286,14 @@ public class NetworkControl {
view.showGameListPanel(true);
}
});
+ gameOfferControl.getStartGameEvent().add(new IListener1<GameSettings>() {
+ @Override
+ public void handle(GameSettings settings) {
+ gameControl = new NetworkGameControl(settings, saveControl, view,
+ connectionControl, true);
+ gameControl.startGame();
+ }
+ });
gameOfferControl.startGameOffer();
}