summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/control')
-rw-r--r--src/jrummikub/control/ApplicationControl.java42
-rw-r--r--src/jrummikub/control/SettingsControl.java54
2 files changed, 64 insertions, 32 deletions
diff --git a/src/jrummikub/control/ApplicationControl.java b/src/jrummikub/control/ApplicationControl.java
index b3d432c..8e09853 100644
--- a/src/jrummikub/control/ApplicationControl.java
+++ b/src/jrummikub/control/ApplicationControl.java
@@ -15,7 +15,7 @@ public class ApplicationControl {
* Creates a new application control
*
* @param view
- * the view to use
+ * the view to use
*/
public ApplicationControl(IView view) {
this.view = view;
@@ -25,39 +25,17 @@ public class ApplicationControl {
* Starts the application by showing the game settings dialog panel
*/
public void startApplication() {
- view.getSettingsPanel().getSettingsChangeEvent()
- .add(new IListener1<GameSettings>() {
- @Override
- public void handle(GameSettings settings) {
- checkSettings(settings);
- }
- });
- view.getSettingsPanel().getStartGameEvent()
- .add(new IListener1<GameSettings>() {
- @Override
- public void handle(GameSettings settings) {
- startGame(settings);
- }
- });
+ SettingsControl settingsControl = new SettingsControl(view);
+ settingsControl.getStartGameEvent().add(new IListener1<GameSettings>() {
- view.showSettingsPanel(true);
- }
-
- private boolean checkSettings(GameSettings settings) {
- // TODO Check
- // TODO Show error
+ @Override
+ public void handle(GameSettings settings) {
+ GameControl gameControl = new GameControl(settings, view);
+ gameControl.startGame();
- return true;
+ }
+ });
+ settingsControl.startSettings();
}
- private void startGame(GameSettings settings) {
- if (!checkSettings(settings)) {
- return;
- }
-
- view.showSettingsPanel(false);
-
- GameControl gameControl = new GameControl(settings, view);
- gameControl.startGame();
- }
}
diff --git a/src/jrummikub/control/SettingsControl.java b/src/jrummikub/control/SettingsControl.java
new file mode 100644
index 0000000..7b96e77
--- /dev/null
+++ b/src/jrummikub/control/SettingsControl.java
@@ -0,0 +1,54 @@
+package jrummikub.control;
+
+import jrummikub.model.GameSettings;
+import jrummikub.util.Event1;
+import jrummikub.util.IEvent1;
+import jrummikub.util.IListener1;
+import jrummikub.view.IView;
+
+public class SettingsControl {
+ private IView view;
+ private Event1<GameSettings> startGameEvent = new Event1<GameSettings>();
+
+ public SettingsControl(IView view) {
+ this.view = view;
+ }
+
+ public IEvent1<GameSettings> getStartGameEvent() {
+ return startGameEvent;
+ }
+
+ public void startSettings() {
+ /*
+ * view.getSettingsPanel().getSettingsChangeEvent() .add(new
+ * IListener1<GameSettings>() {
+ *
+ * @Override public void handle(GameSettings settings) {
+ * checkSettings(settings); } });
+ * view.getSettingsPanel().getStartGameEvent() .add(new
+ * IListener1<GameSettings>() {
+ *
+ * @Override public void handle(GameSettings settings) {
+ * startGame(settings); } });
+ */
+
+ view.showSettingsPanel(true);
+ }
+
+ private boolean checkSettings(GameSettings settings) {
+ // TODO Check
+ // TODO Show error
+
+ return true;
+ }
+
+ private void startGame(GameSettings settings) {
+ if (!checkSettings(settings)) {
+ return;
+ }
+
+ view.showSettingsPanel(false);
+
+ startGameEvent.emit(settings);
+ }
+}