From ac3c13c50b87abfc6e4959fabd5107990d1eb417 Mon Sep 17 00:00:00 2001 From: Ida Massow Date: Sat, 18 Jun 2011 16:19:20 +0200 Subject: =?UTF-8?q?Ca.=20150=20Zeilen=20=C3=BCberfl=C3=BCssigen=20Code=20e?= =?UTF-8?q?ntfernt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@463 72836036-5685-4462-b002-a69064685172 --- .../control/network/AbstractGameBeginControl.java | 67 +++++++++++++++------- 1 file changed, 47 insertions(+), 20 deletions(-) (limited to 'src/jrummikub/control/network/AbstractGameBeginControl.java') diff --git a/src/jrummikub/control/network/AbstractGameBeginControl.java b/src/jrummikub/control/network/AbstractGameBeginControl.java index 598126a..fd3b546 100644 --- a/src/jrummikub/control/network/AbstractGameBeginControl.java +++ b/src/jrummikub/control/network/AbstractGameBeginControl.java @@ -18,6 +18,10 @@ import jrummikub.view.ISettingsPanel; import jrummikub.view.ISettingsPanel.SettingsMode; import jrummikub.view.IView; +/** + * Abstract class for network game controls inbetween choosing and starting a + * game + */ public abstract class AbstractGameBeginControl { protected List connections = new ArrayList(); protected GameData gameData; @@ -25,6 +29,18 @@ public abstract class AbstractGameBeginControl { protected IView view; protected Event backEvent = new Event(); + /** + * Create a new game begin control + * + * @param connection + * connection control for mesages and events + * @param view + * the view + * @param gameData + * game data of chosen game + * @param settingsMode + * mode of settings panel + */ public AbstractGameBeginControl(IConnectionControl connection, IView view, final GameData gameData, SettingsMode settingsMode) { this.connectionControl = connection; @@ -35,8 +51,29 @@ public abstract class AbstractGameBeginControl { view.getSettingsPanel().enableAddPlayerButton(false); updateSettingsPanel(); - connections.add(view.getSettingsPanel().getBackEvent() - .add(new IListener() { + addViewListeners(view, gameData); + + connections.add(connectionControl.getChangeColorEvent().add( + new IListener2() { + @Override + public void handle(String sender, Color color) { + List players = gameData + .getGameSettings().getPlayerList(); + for (PlayerSettings s : players) { + if (s.getName().equals(sender) + && s.getType() == Type.NETWORK) { + s.setColor(color); + break; + } + } + updateSettingsPanel(); + } + })); + } + + private void addViewListeners(IView view, final GameData gameData) { + connections.add(view.getSettingsPanel().getBackEvent().add( + new IListener() { @Override public void handle() { goBack(); @@ -62,26 +99,16 @@ public abstract class AbstractGameBeginControl { updateSettingsPanel(); } })); - connections.add(connectionControl.getChangeColorEvent().add( - new IListener2() { - @Override - public void handle(String sender, Color color) { - List players = gameData - .getGameSettings().getPlayerList(); - for (PlayerSettings s : players) { - if (s.getName().equals(sender) - && s.getType() == Type.NETWORK) { - s.setColor(color); - break; - } - } - updateSettingsPanel(); - } - })); } protected abstract void goBack(); + /** + * The back event is emitted when the player wants to go back to the + * previous control and panel + * + * @return the event + */ public Event getBackEvent() { return backEvent; } @@ -96,8 +123,8 @@ public abstract class AbstractGameBeginControl { protected void updateSettingsPanel() { view.getSettingsPanel().setGameSettings(gameData.getGameSettings()); - Set colors = new HashSet( - Arrays.asList(ISettingsPanel.PLAYER_COLORS)); + Set colors = new HashSet(Arrays + .asList(ISettingsPanel.PLAYER_COLORS)); for (PlayerSettings player : gameData.getGameSettings().getPlayerList()) { colors.remove(player.getColor()); -- cgit v1.2.3