package jrummikub.view; import java.awt.Color; import java.util.HashSet; import java.util.Set; import jrummikub.control.turn.TurnControlFactory; import jrummikub.control.turn.TurnControlFactory.Type; import jrummikub.model.GameSettings; import jrummikub.model.StoneColor; import jrummikub.util.IEvent; import jrummikub.util.IEvent1; import jrummikub.util.IEvent2; import jrummikub.util.MockEvent; import jrummikub.util.MockEvent1; import jrummikub.util.MockEvent2; /** */ public class MockSettingsPanel implements ISettingsPanel { /** */ public MockEvent addPlayerEvent = new MockEvent(); /** */ public MockEvent1<Integer> removePlayerEvent = new MockEvent1<Integer>(); /** */ public MockEvent2<Integer, Color> changePlayerColorEvent = new MockEvent2<Integer, Color>(); /** */ public MockEvent2<Integer, String> changePlayerNameEvent = new MockEvent2<Integer, String>(); /** */ public MockEvent2<Integer, TurnControlFactory.Type> changePlayerTypeEvent = new MockEvent2<Integer, TurnControlFactory.Type>(); /** */ public MockEvent startGameEvent = new MockEvent(); /** */ public SettingsError error = SettingsError.NO_ERROR; /** */ public boolean startButtonEnabled = true; /** */ public boolean addPlayerButtonEnabled = true; /** */ public boolean removePlayerButtonsEnabled = false; /** */ public MockEvent1<Integer> changeInitialMeldThresholdEvent = new MockEvent1<Integer>(); /** */ public MockEvent1<Integer> changeJokerNumberEvent = new MockEvent1<Integer>(); /** */ public MockEvent1<Integer> changeStoneSetNumberEvent = new MockEvent1<Integer>(); /** */ public MockEvent1<Integer> changeNumberOfStonesDealtEvent = new MockEvent1<Integer>(); /** */ public MockEvent1<Integer> changeHighestValueEvent = new MockEvent1<Integer>(); /** */ public MockEvent1<Set<StoneColor>> changeStoneColorsEvent = new MockEvent1<Set<StoneColor>>(); /** */ public int initialMeldThreshold; /** */ public int jokerNumber; /** */ public int stoneSetNumber; /** */ public int numberOfStonesDealt; /** */ public int highestValue; /** */ public Set<StoneColor> stoneColors; @Override public IEvent getAddPlayerEvent() { return addPlayerEvent; } @Override public IEvent1<Integer> getRemovePlayerEvent() { return removePlayerEvent; } @Override public IEvent2<Integer, Color> getChangePlayerColorEvent() { return changePlayerColorEvent; } @Override public IEvent2<Integer, String> getChangePlayerNameEvent() { return changePlayerNameEvent; } @Override public IEvent1<Integer> getChangeInitialMeldThresholdEvent() { return changeInitialMeldThresholdEvent; } @Override public IEvent1<Integer> getChangeNumberOfStonesDealtEvent() { return changeNumberOfStonesDealtEvent; } @Override public IEvent1<Integer> getChangeHighestValueEvent() { return changeHighestValueEvent; } @Override public IEvent1<Set<StoneColor>> getChangeStoneColorsEvent() { return changeStoneColorsEvent; } @Override public IEvent getStartGameEvent() { return startGameEvent; } @Override public void setError(SettingsError error) { this.error = error; } @Override public void enableStartGameButton(boolean enable) { startButtonEnabled = enable; } @Override public void enableAddPlayerButton(boolean enable) { addPlayerButtonEnabled = enable; } @Override public void enableRemovePlayerButtons(boolean enable) { removePlayerButtonsEnabled = enable; } @Override public void setGameSettings(GameSettings gameSettings) { initialMeldThreshold = gameSettings.getInitialMeldThreshold(); jokerNumber = gameSettings.getJokerNumber(); stoneSetNumber = gameSettings.getStoneSetNumber(); numberOfStonesDealt = gameSettings.getNumberOfStonesDealt(); highestValue = gameSettings.getHighestValue(); stoneColors = new HashSet<StoneColor>(gameSettings.getStoneColors()); } @Override public IEvent1<Integer> getChangeJokerNumberEvent() { return changeJokerNumberEvent; } @Override public IEvent2<Integer, Type> getChangePlayerTypeEvent() { return changePlayerTypeEvent; } @Override public IEvent1<Integer> getChangeStoneSetNumberEvent() { return changeStoneSetNumberEvent; } }