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().