| OpenTTD
    | 
Generates sequence of free UnitID numbers. More...
#include <vehicle_base.h>
| Public Member Functions | |
| FreeUnitIDGenerator (VehicleType type, CompanyID owner) | |
| Initializes the structure. | |
| UnitID | NextID () | 
| Returns next free UnitID. | |
| ~FreeUnitIDGenerator () | |
| Releases allocated memory. | |
| Data Fields | |
| bool * | cache | 
| array of occupied unit id numbers | |
| UnitID | maxid | 
| maximum ID at the moment of constructor call | |
| UnitID | curid | 
| last ID returned; 0 if none | |
Generates sequence of free UnitID numbers.
Definition at line 1159 of file vehicle_base.h.
| FreeUnitIDGenerator::FreeUnitIDGenerator | ( | VehicleType | type, | 
| CompanyID | owner | ||
| ) | 
Initializes the structure.
Vehicle unit numbers are supposed not to change after struct initialization, except after each call to this->NextID() the returned value is assigned to a vehicle.
| type | type of vehicle | 
| owner | owner of vehicles | 
Definition at line 1651 of file vehicle.cpp.
References cache, FOR_ALL_VEHICLES, maxid, Vehicle::owner, BaseVehicle::type, and Vehicle::unitnumber.
| UnitID FreeUnitIDGenerator::NextID | ( | ) | 
Returns next free UnitID.
Supposes the last returned value was assigned to a vehicle.
Definition at line 1677 of file vehicle.cpp.
Referenced by ChangeOwnershipOfCompanyItems(), and GetFreeUnitNumber().
 1.8.1.2
 1.8.1.2