summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/network/NetworkSettingsControl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/control/network/NetworkSettingsControl.java')
-rw-r--r--src/jrummikub/control/network/NetworkSettingsControl.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/jrummikub/control/network/NetworkSettingsControl.java b/src/jrummikub/control/network/NetworkSettingsControl.java
new file mode 100644
index 0000000..d1a56e6
--- /dev/null
+++ b/src/jrummikub/control/network/NetworkSettingsControl.java
@@ -0,0 +1,38 @@
+package jrummikub.control.network;
+
+import java.util.UUID;
+
+import jrummikub.control.SettingsControl;
+import jrummikub.model.GameSettings;
+import jrummikub.view.IGameListPanel.GameData;
+import jrummikub.view.IView;
+
+public class NetworkSettingsControl extends SettingsControl {
+ private GameData gameData = new GameData(UUID.randomUUID());
+ private ConnectionControl connectionControl;
+
+ public NetworkSettingsControl(ConnectionControl connectionControl, IView view, GameSettings settings) {
+ super(view, settings);
+ this.connectionControl = connectionControl;
+ }
+
+ @Override
+ public void startSettings() {
+ super.startSettings();
+ }
+
+ @Override
+ protected void update() {
+ super.update();
+
+ gameData.setMaxPlayerCount(settings.getPlayerList().size());
+
+ connectionControl.offerGame(gameData);
+ }
+
+ @Override
+ public void abort() {
+ super.abort();
+ connectionControl.withdrawGame(gameData.getGameID());
+ }
+}