summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/control')
-rw-r--r--src/jrummikub/control/SettingsControl.java35
-rw-r--r--src/jrummikub/control/network/ConnectionControl.java2
-rw-r--r--src/jrummikub/control/network/NetworkControl.java7
-rw-r--r--src/jrummikub/control/network/NetworkSettingsControl.java13
4 files changed, 34 insertions, 23 deletions
diff --git a/src/jrummikub/control/SettingsControl.java b/src/jrummikub/control/SettingsControl.java
index 398ce5d..32e80fe 100644
--- a/src/jrummikub/control/SettingsControl.java
+++ b/src/jrummikub/control/SettingsControl.java
@@ -35,9 +35,9 @@ public class SettingsControl {
* Create a new settings control
*
* @param view
- * the view to use
+ * the view to use
* @param settings
- * initial game settings
+ * initial game settings
*/
public SettingsControl(IView view, GameSettings settings) {
this.view = view;
@@ -71,8 +71,8 @@ public class SettingsControl {
}
/**
- * the start game event is emitted when the user wants to start a game and the
- * settings made are valid
+ * the start game event is emitted when the user wants to start a game and
+ * the settings made are valid
*
* @return the event
*/
@@ -89,7 +89,8 @@ public class SettingsControl {
private void addOptionListeners1() {
connections.add(view.getSettingsPanel()
- .getChangeInitialMeldThresholdEvent().add(new IListener1<Integer>() {
+ .getChangeInitialMeldThresholdEvent()
+ .add(new IListener1<Integer>() {
@Override
public void handle(Integer value) {
settings.setInitialMeldThreshold(value);
@@ -114,7 +115,8 @@ public class SettingsControl {
update();
}
}));
- connections.add(view.getSettingsPanel().getChangeNumberOfStonesDealtEvent()
+ connections.add(view.getSettingsPanel()
+ .getChangeNumberOfStonesDealtEvent()
.add(new IListener1<Integer>() {
@Override
public void handle(Integer value) {
@@ -303,8 +305,9 @@ public class SettingsControl {
view.getSettingsPanel().enableRemovePlayerButtons(
Collections.nCopies(settings.getPlayerList().size(),
enableRemoveButtons));
- view.getSettingsPanel().enableAddPlayerButton(
- settings.getPlayerList().size() < ISettingsPanel.PLAYER_COLORS.length);
+ view.getSettingsPanel()
+ .enableAddPlayerButton(
+ settings.getPlayerList().size() < ISettingsPanel.PLAYER_COLORS.length);
checkSettings();
@@ -317,6 +320,9 @@ public class SettingsControl {
}
protected boolean checkSettings() {
+ if (!checkName()) {
+ return false;
+ }
if (!checkErrors()) {
return false;
}
@@ -329,7 +335,7 @@ public class SettingsControl {
return true;
}
- private boolean checkErrors() {
+ private boolean checkName() {
for (PlayerSettings player : settings.getPlayerList()) {
if (player.getName().isEmpty()) {
view.getSettingsPanel().setError(
@@ -350,17 +356,22 @@ public class SettingsControl {
for (int j = i + 1; j < settings.getPlayerList().size(); ++j) {
PlayerSettings player2 = settings.getPlayerList().get(j);
if (player2.getName().equals(name) && player2.getType() == type) {
- view.getSettingsPanel().setError(
- ISettingsPanel.SettingsError.DUPLICATE_PLAYER_NAME_ERROR);
+ view.getSettingsPanel()
+ .setError(
+ ISettingsPanel.SettingsError.DUPLICATE_PLAYER_NAME_ERROR);
view.getSettingsPanel().enableStartGameButton(false);
return false;
}
}
}
+ return true;
+ }
+ private boolean checkErrors() {
int totalStonesDealt = settings.getNumberOfStonesDealt()
* settings.getPlayerList().size();
- int totalStones = settings.getHighestValue() * settings.getStoneSetNumber()
+ int totalStones = settings.getHighestValue()
+ * settings.getStoneSetNumber()
* settings.getStoneColors().size() + settings.getJokerNumber();
if (totalStones <= totalStonesDealt) {
diff --git a/src/jrummikub/control/network/ConnectionControl.java b/src/jrummikub/control/network/ConnectionControl.java
index fd8087a..7980c2d 100644
--- a/src/jrummikub/control/network/ConnectionControl.java
+++ b/src/jrummikub/control/network/ConnectionControl.java
@@ -7,10 +7,10 @@ import javax.swing.SwingUtilities;
import jrummikub.model.GameSettings;
import jrummikub.util.Event;
import jrummikub.util.Event1;
+import jrummikub.util.GameData;
import jrummikub.util.IEvent;
import jrummikub.util.IEvent1;
import jrummikub.util.LoginData;
-import jrummikub.view.IGameListPanel.GameData;
import org.jivesoftware.smack.Connection;
import org.jivesoftware.smack.PacketListener;
diff --git a/src/jrummikub/control/network/NetworkControl.java b/src/jrummikub/control/network/NetworkControl.java
index 929ce03..4f4dad6 100644
--- a/src/jrummikub/control/network/NetworkControl.java
+++ b/src/jrummikub/control/network/NetworkControl.java
@@ -9,12 +9,11 @@ import java.util.UUID;
import jrummikub.model.GameSettings;
import jrummikub.util.Connection;
import jrummikub.util.Event;
+import jrummikub.util.GameData;
import jrummikub.util.IEvent;
import jrummikub.util.IListener;
import jrummikub.util.IListener1;
import jrummikub.util.LoginData;
-import jrummikub.view.IGameListPanel;
-import jrummikub.view.IGameListPanel.GameData;
import jrummikub.view.IView;
/**
@@ -45,7 +44,7 @@ public class NetworkControl {
addConnectionControlListeners(loginData, view);
connections.add(view.getGameListPanel().getJoinEvent()
- .add(new IListener1<IGameListPanel.GameData>() {
+ .add(new IListener1<GameData>() {
@Override
public void handle(GameData value) {
// TODO Auto-generated method stub
@@ -107,7 +106,7 @@ public class NetworkControl {
}));
connections.add(connectionControl.getGameOfferEvent().add(
- new IListener1<IGameListPanel.GameData>() {
+ new IListener1<GameData>() {
@Override
public void handle(GameData value) {
GameData game = gameMap.get(value.getGameID());
diff --git a/src/jrummikub/control/network/NetworkSettingsControl.java b/src/jrummikub/control/network/NetworkSettingsControl.java
index 61fcfa3..3c8dc42 100644
--- a/src/jrummikub/control/network/NetworkSettingsControl.java
+++ b/src/jrummikub/control/network/NetworkSettingsControl.java
@@ -21,12 +21,12 @@ public class NetworkSettingsControl extends SettingsControl {
/**
* Creates a new network settings control
*
- * @param connectionControl
- * for gameOffers
+ * @param nickname
+ * to be set as player name
* @param view
- * for events and handlers
+ * for events and handlers
* @param settings
- * for playerNumber, color...
+ * for playerNumber, color...
*/
public NetworkSettingsControl(String nickname, IView view,
GameSettings settings) {
@@ -45,8 +45,9 @@ public class NetworkSettingsControl extends SettingsControl {
@Override
protected void update() {
- view.getSettingsPanel().enableAddPlayerButton(
- settings.getPlayerList().size() < ISettingsPanel.PLAYER_COLORS.length);
+ view.getSettingsPanel()
+ .enableAddPlayerButton(
+ settings.getPlayerList().size() < ISettingsPanel.PLAYER_COLORS.length);
checkSettings();