package jrummikub.control; import java.awt.Color; import jrummikub.model.GameSettings; import jrummikub.model.PlayerSettings; import jrummikub.util.Event1; import jrummikub.util.IEvent1; import jrummikub.util.IListener; import jrummikub.util.IListener1; import jrummikub.view.IView; public class SettingsControl { private IView view; private Event1 startGameEvent = new Event1(); public SettingsControl(IView view) { this.view = view; } public IEvent1 getStartGameEvent() { return startGameEvent; } public void startSettings() { /* * 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); } }); */ // TODO vvv this is just a temp. fix view.getSettingsPanel().getStartGameEvent().add(new IListener() { @Override public void handle() { GameSettings defaultSettings = new GameSettings(); defaultSettings.getPlayerList().add(new PlayerSettings("Foo", new Color(1.0f, 0, 0))); defaultSettings.getPlayerList().add(new PlayerSettings("Bar", new Color(0, 1.0f, 0))); startGame(defaultSettings); } }); 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); } }