internal static void MakeSettings_VehicleRestrictions(ExtUITabstrip tabStrip) { UIHelper panelHelper = tabStrip.AddTabPage(Translation.Options.Get("Tab:Policies & Restrictions")); PoliciesTab_AtJunctionsGroup.AddUI(panelHelper); UIHelperBase onRoadsGroup = panelHelper.AddGroup(Translation.Options.Get("VR.Group:On roads")); _vehicleRestrictionsAggressionDropdown = onRoadsGroup.AddDropdown( Translation.Options.Get("VR.Dropdown:Vehicle restrictions aggression") + ":", new[] { Translation.Options.Get("VR.Dropdown.Option:Low Aggression"), Translation.Options.Get("VR.Dropdown.Option:Medium Aggression"), Translation.Options.Get("VR.Dropdown.Option:High Aggression"), Translation.Options.Get("VR.Dropdown.Option:Strict"), }, (int)Options.vehicleRestrictionsAggression, OnVehicleRestrictionsAggressionChanged) as UIDropDown; _banRegularTrafficOnBusLanesToggle = onRoadsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Ban private cars and trucks on bus lanes"), Options.banRegularTrafficOnBusLanes, OnBanRegularTrafficOnBusLanesChanged) as UICheckBox; _highwayRulesToggle = onRoadsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Enable highway merging/splitting rules"), Options.highwayRules, OnHighwayRulesChanged) as UICheckBox; _preferOuterLaneToggle = onRoadsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Heavy trucks prefer outer lanes on highways"), Options.preferOuterLane, OnPreferOuterLaneChanged) as UICheckBox; if (SteamHelper.IsDLCOwned(SteamHelper.DLC.NaturalDisastersDLC)) { UIHelperBase inCaseOfEmergencyGroup = panelHelper.AddGroup( Translation.Options.Get("VR.Group:In case of emergency/disaster")); _evacBussesMayIgnoreRulesToggle = inCaseOfEmergencyGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Evacuation buses may ignore traffic rules"), Options.evacBussesMayIgnoreRules, OnEvacBussesMayIgnoreRulesChanged) as UICheckBox; } NoDoubleCrossings.AddUI(onRoadsGroup); OptionsMassEditTab.MakePanel_MassEdit(panelHelper); }
internal static void MakeSettings_VehicleRestrictions(ExtUITabstrip tabStrip) { UIHelper panelHelper = tabStrip.AddTabPage(Translation.Options.Get("Tab:Policies & Restrictions")); UIHelperBase atJunctionsGroup = panelHelper.AddGroup( Translation.Options.Get("VR.Group:At junctions")); #if DEBUG _allRelaxedToggle = atJunctionsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:All vehicles may ignore lane arrows"), Options.allRelaxed, OnAllRelaxedChanged) as UICheckBox; #endif _relaxedBussesToggle = atJunctionsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Buses may ignore lane arrows"), Options.relaxedBusses, OnRelaxedBussesChanged) as UICheckBox; _allowEnterBlockedJunctionsToggle = atJunctionsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Vehicles may enter blocked junctions"), Options.allowEnterBlockedJunctions, OnAllowEnterBlockedJunctionsChanged) as UICheckBox; _allowUTurnsToggle = atJunctionsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Vehicles may do u-turns at junctions"), Options.allowUTurns, OnAllowUTurnsChanged) as UICheckBox; _allowNearTurnOnRedToggle = atJunctionsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Vehicles may turn on red"), Options.allowNearTurnOnRed, OnAllowNearTurnOnRedChanged) as UICheckBox; _allowFarTurnOnRedToggle = atJunctionsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Also apply to left/right turns between one-way streets"), Options.allowFarTurnOnRed, OnAllowFarTurnOnRedChanged) as UICheckBox; Options.Indent(_allowFarTurnOnRedToggle); _allowLaneChangesWhileGoingStraightToggle = atJunctionsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Vehicles going straight may change lanes at junctions"), Options.allowLaneChangesWhileGoingStraight, OnAllowLaneChangesWhileGoingStraightChanged) as UICheckBox; _trafficLightPriorityRulesToggle = atJunctionsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Vehicles follow priority rules at junctions with timedTL"), Options.trafficLightPriorityRules, OnTrafficLightPriorityRulesChanged) as UICheckBox; _automaticallyAddTrafficLightsIfApplicableToggle = atJunctionsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Automatically add traffic lights if applicable"), Options.automaticallyAddTrafficLightsIfApplicable, OnAutomaticallyAddTrafficLightsIfApplicableChanged) as UICheckBox; DedicatedTurningLanes.AddUI(atJunctionsGroup); UIHelperBase onRoadsGroup = panelHelper.AddGroup(Translation.Options.Get("VR.Group:On roads")); _vehicleRestrictionsAggressionDropdown = onRoadsGroup.AddDropdown( Translation.Options.Get("VR.Dropdown:Vehicle restrictions aggression") + ":", new[] { Translation.Options.Get("VR.Dropdown.Option:Low Aggression"), Translation.Options.Get("VR.Dropdown.Option:Medium Aggression"), Translation.Options.Get("VR.Dropdown.Option:High Aggression"), Translation.Options.Get("VR.Dropdown.Option:Strict"), }, (int)Options.vehicleRestrictionsAggression, OnVehicleRestrictionsAggressionChanged) as UIDropDown; _banRegularTrafficOnBusLanesToggle = onRoadsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Ban private cars and trucks on bus lanes"), Options.banRegularTrafficOnBusLanes, OnBanRegularTrafficOnBusLanesChanged) as UICheckBox; _highwayRulesToggle = onRoadsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Enable highway merging/splitting rules"), Options.highwayRules, OnHighwayRulesChanged) as UICheckBox; _preferOuterLaneToggle = onRoadsGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Heavy trucks prefer outer lanes on highways"), Options.preferOuterLane, OnPreferOuterLaneChanged) as UICheckBox; if (SteamHelper.IsDLCOwned(SteamHelper.DLC.NaturalDisastersDLC)) { UIHelperBase inCaseOfEmergencyGroup = panelHelper.AddGroup( Translation.Options.Get("VR.Group:In case of emergency/disaster")); _evacBussesMayIgnoreRulesToggle = inCaseOfEmergencyGroup.AddCheckbox( Translation.Options.Get("VR.Checkbox:Evacuation buses may ignore traffic rules"), Options.evacBussesMayIgnoreRules, OnEvacBussesMayIgnoreRulesChanged) as UICheckBox; } NoDoubleCrossings.AddUI(onRoadsGroup); OptionsMassEditTab.MakePanel_MassEdit(panelHelper); }