|
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