package jrummikub.view; import java.awt.Color; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import jrummikub.model.GameSettings; import jrummikub.model.PlayerSettings.Type; 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, Type> changePlayerTypeEvent = new MockEvent2<Integer, Type>(); /** */ public MockEvent startGameEvent = new MockEvent(); /** */ public MockEvent offerGameEvent = new MockEvent(); /** */ public MockEvent networkGameEvent = new MockEvent(); /** */ public SettingsError error = SettingsError.NO_ERROR; /** */ public boolean startButtonEnabled = true; /** */ public boolean addPlayerButtonEnabled = true; /** */ public List<Boolean> removePlayerButtonsEnabled = Collections.emptyList(); /** */ public MockEvent setVariantDefaultEvent = new MockEvent(); /** */ public MockEvent setVariantChildrenEvent = new MockEvent(); /** */ 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<Integer> changeTimeEvent = new MockEvent1<Integer>(); /** */ public MockEvent1<Boolean> changeNoLimitsEvent = new MockEvent1<Boolean>(); /** */ 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; /** */ public MockEvent backEvent = new MockEvent(); /** */ public SettingsMode settingsMode; @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(List<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; } @Override public IEvent1<Integer> getChangeTimeEvent() { return changeTimeEvent; } @Override public IEvent1<Boolean> getChangeNoLimitsEvent() { return changeNoLimitsEvent; } @Override public IEvent getSetVariantDefaultEvent() { return setVariantDefaultEvent; } @Override public IEvent getSetVariantChildrenEvent() { return setVariantChildrenEvent; } @Override public IEvent getBackEvent() { return backEvent; } @Override public void setPlayerTypeChoices(List<List<Type>> choices) { // TODO Auto-generated method stub } @Override public void setPlayerNamesEditable(List<Boolean> editable) { // TODO Auto-generated method stub } @Override public IEvent getOfferGameEvent() { return offerGameEvent; } @Override public void setSettingsMode(SettingsMode mode) { settingsMode = mode; } @Override public void setPlayerColors(Set<Color> colors) { // TODO Auto-generated method stub } }