This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
JRummikub/src/jrummikub/control/SettingsControl.java

69 lines
1.7 KiB
Java
Raw Normal View History

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<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); } });
*/
// 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);
}
}