package games.strategy.triplea.settings.battle.calc;
import java.util.Arrays;
import java.util.List;
import javax.swing.JTextField;
import games.strategy.engine.ClientContext;
import games.strategy.triplea.settings.IntegerValueRange;
import games.strategy.triplea.settings.SettingInputComponent;
import games.strategy.triplea.settings.SettingInputComponentFactory;
import games.strategy.triplea.settings.SettingsTab;
public class BattleCalcTab implements SettingsTab<BattleCalcSettings> {
private final List<SettingInputComponent<BattleCalcSettings>> inputs;
private static String CALC_DESCRIPTION = "Default simulation count for the battle calculator";
public BattleCalcTab(final BattleCalcSettings battleCalcSettings) {
inputs = Arrays.asList(
SettingInputComponentFactory.buildIntegerText(
new IntegerValueRange(1, 10000, BattleCalcSettings.DEFAULT_SIMULATION_COUNT_DICE),
"Default Dice Run Count",
CALC_DESCRIPTION + " (dice games)",
new JTextField(String.valueOf(battleCalcSettings.getSimulationCountDice()), 5),
BattleCalcSettings::setSimulationCountDice,
(calcSettings) -> String.valueOf(calcSettings.getSimulationCountDice())),
SettingInputComponentFactory.buildIntegerText(
new IntegerValueRange(1, 10000, BattleCalcSettings.DEFAULT_SIMULATION_COUNT_LOW_LUCK),
"Default Low Luck Run Count",
CALC_DESCRIPTION + " (low luck games)",
new JTextField(String.valueOf(battleCalcSettings.getSimulationCountLowLuck()), 5),
BattleCalcSettings::setSimulationCountLowLuck,
(calcSettings) -> String.valueOf(calcSettings.getSimulationCountLowLuck())));
}
@Override
public String getTabTitle() {
return "Battle Calculator";
}
@Override
public List<SettingInputComponent<BattleCalcSettings>> getInputs() {
return inputs;
}
@Override
public BattleCalcSettings getSettingsObject() {
return ClientContext.battleCalcSettings();
}
}