diff options
Diffstat (limited to 'src/jrummikub/control')
-rw-r--r-- | src/jrummikub/control/ApplicationControl.java | 42 | ||||
-rw-r--r-- | src/jrummikub/control/SettingsControl.java | 54 |
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); + } +} |