MCPcopy Create free account
hub / github.com/OpenApoc/OpenApoc / orderDisableWeapon

Method orderDisableWeapon

game/ui/tileview/cityview.cpp:942–976  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

940}
941
942void CityView::orderDisableWeapon(int index, bool disable)
943{
944 weaponDisabled[index] = disable;
945
946 std::vector<sp<VEquipment>> currentWeapons;
947 if (!state->current_city->cityViewSelectedVehicles.empty())
948 {
949 auto vehicle = state->current_city->cityViewSelectedVehicles.front();
950 if (vehicle->owner != state->getPlayer())
951 {
952 if (state->current_city->cityViewSelectedVehicles.size() > 1)
953 {
954 vehicle = *++state->current_city->cityViewSelectedVehicles.begin();
955 }
956 else
957 {
958 vehicle = nullptr;
959 }
960 }
961 if (vehicle)
962 {
963 for (auto &e : vehicle->equipment)
964 {
965 if (e->type->type == EquipmentSlotType::VehicleWeapon)
966 {
967 currentWeapons.push_back(e);
968 }
969 }
970 }
971 }
972 if (currentWeapons.size() > index)
973 {
974 currentWeapons[index]->disabled = disable;
975 }
976}
977
978void CityView::setSelectedTab(int tabIndex)
979{

Callers

nothing calls this directly

Calls 4

emptyMethod · 0.80
getPlayerMethod · 0.80
sizeMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected