From 626f4bd9ab6f9143851768b3b2f0a756a9d45f01 Mon Sep 17 00:00:00 2001 From: Jannis Harder Date: Sat, 18 Jun 2011 02:34:07 +0200 Subject: Implemented color changing in game begin panels git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@455 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/control/network/GameJoinControl.java | 74 ++-------------------- 1 file changed, 7 insertions(+), 67 deletions(-) (limited to 'src/jrummikub/control/network/GameJoinControl.java') diff --git a/src/jrummikub/control/network/GameJoinControl.java b/src/jrummikub/control/network/GameJoinControl.java index afb78d4..1d29df4 100644 --- a/src/jrummikub/control/network/GameJoinControl.java +++ b/src/jrummikub/control/network/GameJoinControl.java @@ -1,43 +1,20 @@ package jrummikub.control.network; -import java.awt.Color; -import java.util.ArrayList; -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.IView; import jrummikub.view.ISettingsPanel.SettingsMode; +import jrummikub.view.IView; -public class GameJoinControl { - private List connections = new ArrayList(); - private GameData gameData; - private ConnectionControl connectionControl; - private IView view; +public class GameJoinControl extends AbstractGameBeginControl { 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); - view.getSettingsPanel().setGameSettings(gameData.getGameSettings()); + super(connectionControl, view, gameData, SettingsMode.NETWORK_JOIN); connections.add(connectionControl.getGameOfferEvent().add( new IListener1() { @@ -50,38 +27,10 @@ public class GameJoinControl { gameData.setGameSettings(settings); - updateSettingsPanel(settings); + updateSettingsPanel(); } } })); - connections.add(view.getSettingsPanel().getBackEvent().add( - new IListener() { - @Override - public void handle() { - goBack(); - } - })); - connections.add(view.getSettingsPanel().getChangePlayerColorEvent() - .add(new IListener2() { - @Override - public void handle(Integer playerNumber, Color color) { - // TODO Auto-generated method stub - - } - })); - } - - private void updateSettingsPanel(GameSettings settings) { - view.getSettingsPanel().setGameSettings(settings); - - Set colors = new HashSet(Arrays - .asList(ISettingsPanel.PLAYER_COLORS)); - - for (PlayerSettings player : settings.getPlayerList()) { - colors.remove(player.getColor()); - } - - view.getSettingsPanel().setPlayerColors(colors); } private void fixGameSettings(GameSettings settings) { @@ -94,8 +43,8 @@ public class GameJoinControl { } } } - - public Event getBackEvent(){ + + public Event getBackEvent() { return backEvent; } @@ -106,20 +55,11 @@ public class GameJoinControl { /** * Aborts joining and goes back to game list */ - private void goBack() { + protected void goBack() { abort(); connectionControl.leaveGame(); view.showSettingsPanel(false); backEvent.emit(); } - /** - * Aborts joining - */ - public void abort() { - for (Connection c : connections) { - c.remove(); - } - - } } -- cgit v1.2.3