summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/network/GameJoinControl.java
diff options
context:
space:
mode:
authorIda Massow <massow@informatik.uni-luebeck.de>2011-06-17 22:24:23 +0200
committerIda Massow <massow@informatik.uni-luebeck.de>2011-06-17 22:24:23 +0200
commit4860867fe8bf45432cd9b7967bc34398af8d013f (patch)
treeebd5473ff5c700fdac5fe461bc264d33ed4abdce /src/jrummikub/control/network/GameJoinControl.java
parent5a4d1ccb12d697d6cd0a0ea187045c9f6370814c (diff)
downloadJRummikub-4860867fe8bf45432cd9b7967bc34398af8d013f.tar
JRummikub-4860867fe8bf45432cd9b7967bc34398af8d013f.zip
halbfertige netzwerkdinge
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@450 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/control/network/GameJoinControl.java')
-rw-r--r--src/jrummikub/control/network/GameJoinControl.java37
1 files changed, 32 insertions, 5 deletions
diff --git a/src/jrummikub/control/network/GameJoinControl.java b/src/jrummikub/control/network/GameJoinControl.java
index 55f584d..fbc18c6 100644
--- a/src/jrummikub/control/network/GameJoinControl.java
+++ b/src/jrummikub/control/network/GameJoinControl.java
@@ -6,28 +6,35 @@ import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.UUID;
import jrummikub.model.GameSettings;
import jrummikub.model.PlayerSettings;
import jrummikub.model.PlayerSettings.Type;
import jrummikub.util.Connection;
+import jrummikub.util.Event;
import jrummikub.util.GameData;
+import jrummikub.util.IListener;
import jrummikub.util.IListener1;
+import jrummikub.util.IListener2;
+import jrummikub.util.IListener3;
import jrummikub.view.ISettingsPanel;
-import jrummikub.view.ISettingsPanel.SettingsMode;
import jrummikub.view.IView;
+import jrummikub.view.ISettingsPanel.SettingsMode;
public class GameJoinControl {
private List<Connection> connections = new ArrayList<Connection>();
private GameData gameData;
private ConnectionControl connectionControl;
private IView view;
+ private Event backEvent = new Event();
public GameJoinControl(final ConnectionControl connectionControl,
final GameData gameData, final IView view) {
this.connectionControl = connectionControl;
this.gameData = gameData;
this.view = view;
+
view.getSettingsPanel().setSettingsMode(SettingsMode.NETWORK_JOIN);
view.getSettingsPanel().enableAddPlayerButton(false);
@@ -48,13 +55,29 @@ public class GameJoinControl {
}
}
}));
+ connections.add(view.getSettingsPanel().getBackEvent().add(new IListener() {
+ @Override
+ public void handle() {
+ //TODO mit game offer control und game data reden (spieler werden nich wieder entfernt)
+
+ abort();
+ }
+ }));
+ connections.add(view.getSettingsPanel().getChangePlayerColorEvent().add(new IListener2<Integer, Color>() {
+ @Override
+ public void handle(Integer playerNumber, Color color) {
+ // TODO Auto-generated method stub
+
+
+ }
+ }));
}
private void updateSettingsPanel(GameSettings settings) {
view.getSettingsPanel().setGameSettings(settings);
- Set<Color> colors = new HashSet<Color>(
- Arrays.asList(ISettingsPanel.PLAYER_COLORS));
+ Set<Color> colors = new HashSet<Color>(Arrays
+ .asList(ISettingsPanel.PLAYER_COLORS));
for (PlayerSettings player : settings.getPlayerList()) {
colors.remove(player.getColor());
@@ -78,11 +101,15 @@ public class GameJoinControl {
view.showSettingsPanel(true);
}
+ /**
+ * Aborts joining and goes back to game list
+ */
public void abort() {
- // TODO Implement abort
-
+ view.showSettingsPanel(false);
+ view.showGameListPanel(true);
for (Connection c : connections) {
c.remove();
}
+
}
}