Do not show slots conditional order types when slots not enabled in UI

This commit is contained in:
Jonathan G Rennison
2019-12-18 19:07:19 +00:00
parent ec0b5e0ed0
commit a0e92e50f6

View File

@@ -2101,11 +2101,15 @@ public:
break; break;
case WID_O_COND_VARIABLE: { case WID_O_COND_VARIABLE: {
const OrderConditionVariable ocv = this->vehicle->GetOrder(this->OrderGetSel())->GetConditionVariable();
DropDownList list; DropDownList list;
for (uint i = 0; i < lengthof(_order_conditional_variable); i++) { for (uint i = 0; i < lengthof(_order_conditional_variable); i++) {
if (ocv != _order_conditional_variable[i]) {
if ((_order_conditional_variable[i] == OCV_TRAIN_IN_SLOT || _order_conditional_variable[i] == OCV_SLOT_OCCUPANCY) && !_settings_client.gui.show_adv_tracerestrict_features) continue;
}
list.emplace_back(new DropDownListStringItem(STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE + _order_conditional_variable[i], _order_conditional_variable[i], false)); list.emplace_back(new DropDownListStringItem(STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE + _order_conditional_variable[i], _order_conditional_variable[i], false));
} }
ShowDropDownList(this, std::move(list), this->vehicle->GetOrder(this->OrderGetSel())->GetConditionVariable(), WID_O_COND_VARIABLE); ShowDropDownList(this, std::move(list), ocv, WID_O_COND_VARIABLE);
break; break;
} }