package games.strategy.triplea.settings.battle.options;
import java.util.Arrays;
import java.util.List;
import games.strategy.engine.ClientContext;
import games.strategy.triplea.settings.SettingInputComponent;
import games.strategy.triplea.settings.SettingInputComponentFactory;
import games.strategy.triplea.settings.SettingsTab;
public class BattleOptionsTab implements SettingsTab<BattleOptionsSettings> {
private final List<SettingInputComponent<BattleOptionsSettings>> inputs;
public BattleOptionsTab(final BattleOptionsSettings battleOptionSettings) {
inputs = Arrays.asList(
SettingInputComponentFactory.buildYesOrNoRadioButtons("Confirm Enemy Casualties",
"When set to yes, enemy casualty selections will always require confirmation.",
battleOptionSettings.confirmEnemyCasualties(),
((settings, s) -> settings.setConfirmEnemyCasualties(Boolean.valueOf(s))),
(settings -> String.valueOf(settings.confirmEnemyCasualties()))),
SettingInputComponentFactory.buildYesOrNoRadioButtons("Confirm Defensive Rolls",
"When set to yes, defender dice rolls will always require confirmation.",
battleOptionSettings.confirmDefensiveRolls(),
((settings, s) -> settings.setConfirmDefensiveRolls(Boolean.valueOf(s))),
(settings -> String.valueOf(settings.confirmDefensiveRolls()))),
SettingInputComponentFactory.buildYesOrNoRadioButtons("Focus on own casualties",
"When set to yes, the default casualty selection can be accepted by pressing space bar. When set to 'no', "
+ "you will always have to click a button to confirm casualty selections.",
battleOptionSettings.focusOnOwnCasualties(),
((settings, s) -> settings.setFocusOnOwnCasualties(Boolean.valueOf(s))),
(settings -> String.valueOf(settings.focusOnOwnCasualties()))));
}
@Override
public String getTabTitle() {
return "Combat Options";
}
@Override
public List<SettingInputComponent<BattleOptionsSettings>> getInputs() {
return inputs;
}
@Override
public BattleOptionsSettings getSettingsObject() {
return ClientContext.battleOptionsSettings();
}
}