package jrummikub.control; import jrummikub.model.GameSettings; import jrummikub.util.IListener1; import jrummikub.view.IView; /** * The application control controls the settings for a new games and create the * game control */ public class ApplicationControl { private IView view; /** * Creates a new application control * * @param view * the view to use */ public ApplicationControl(IView view) { this.view = view; } /** * Starts the application by showing the game settings dialog panel */ public void startApplication() { view.getSettingsPanel().getSettingsChangeEvent() .add(new IListener1() { @Override public void handle(GameSettings settings) { checkSettings(settings); } }); view.getSettingsPanel().getStartGameEvent() .add(new IListener1() { @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); GameControl gameControl = new GameControl(settings, view); gameControl.startGame(); } }