SHOW:
|
|
- or go back to the newest paste.
1 | /** | |
2 | * Get the number of vehicles in a given group. | |
3 | * @param group_id The group to get the number of engines in. | |
4 | * @param vehicle_type The type of vehicle of the group. | |
5 | * @pre IsValidGroup(group_id) || group_id == GROUP_ALL || group_id == GROUP_DEFAULT. | |
6 | * @pre IsValidGroup(group_id) || vehicle_type == ScriptVehicle::VT_ROAD || vehicle_type == ScriptVehicle::VT_RAIL || | |
7 | * vehicle_type == ScriptVehicle::VT_WATER || vehicle_type == ScriptVehicle::VT_AIR | |
8 | * @return The number of vehicles in the group with id group_id. | |
9 | * @note If the group is valid (neither GROUP_ALL nor GROUP_DEFAULT), the value of | |
10 | * vehicle_type is retrieved from the group itself and not from the input value. | |
11 | * But if the group is invalid, either GROUP_ALL or GROUP_DEFAULT, then a | |
12 | * vehicle type must be specified. | |
13 | */ | |
14 | static int32 GetNumVehicles(GroupID group_id, ScriptVehicle::VehicleType vehicle_type); | |
15 | ||
16 | /* static */ int32 ScriptGroup::GetNumVehicles(GroupID group_id, ScriptVehicle::VehicleType vehicle_type) | |
17 | { | |
18 | bool valid_group = IsValidGroup(group_id); | |
19 | if (!valid_group && group_id != GROUP_DEFAULT && group_id != GROUP_ALL) return -1; | |
20 | if (!valid_group && (vehicle_type < ScriptVehicle::VT_RAIL || vehicle_type > ScriptVehicle::VT_AIR)) return -1; | |
21 | ||
22 | return GetGroupNumVehicle(ScriptObject::GetCompany(), group_id, valid_group ? ::Group::Get(group_id)->vehicle_type : (::VehicleType)vehicle_type); | |
23 | } |