OpenTTD Source
20241109-master-g5e4f8db7d6
|
Statistics and caches on the vehicles in a group. More...
#include <group.h>
Public Member Functions | |
void | Clear () |
Clear all caches. | |
void | ClearProfits () |
void | ClearAutoreplace () |
uint16_t | GetNumEngines (EngineID engine) const |
Get number of vehicles of a specific engine ID. More... | |
Static Public Member Functions | |
static GroupStatistics & | Get (CompanyID company, GroupID id_g, VehicleType type) |
Returns the GroupStatistics for a specific group. More... | |
static GroupStatistics & | Get (const Vehicle *v) |
Returns the GroupStatistic for the group of a vehicle. More... | |
static GroupStatistics & | GetAllGroup (const Vehicle *v) |
Returns the GroupStatistic for the ALL_GROUPO of a vehicle type. More... | |
static void | CountVehicle (const Vehicle *v, int delta) |
Update num_vehicle when adding or removing a vehicle. More... | |
static void | CountEngine (const Vehicle *v, int delta) |
Update num_engines when adding/removing an engine. More... | |
static void | AddProfitLastYear (const Vehicle *v) |
Add a vehicle's last year profit to the profit sum of its group. | |
static void | VehicleReachedMinAge (const Vehicle *v) |
Add a vehicle to the profit sum of its group. | |
static void | UpdateProfits () |
Recompute the profits for all groups. | |
static void | UpdateAfterLoad () |
Update all caches after loading a game, changing NewGRF, etc. | |
static void | UpdateAutoreplace (CompanyID company) |
Update autoreplace_defined and autoreplace_finished of all statistics of a company. More... | |
Data Fields | |
Money | profit_last_year |
Sum of profits for all vehicles. | |
Money | profit_last_year_min_age |
Sum of profits for vehicles considered for profit statistics. | |
std::map< EngineID, uint16_t > | num_engines |
Caches the number of engines of each type the company owns. | |
uint16_t | num_vehicle |
Number of vehicles. | |
uint16_t | num_vehicle_min_age |
Number of vehicles considered for profit statistics;. | |
bool | autoreplace_defined |
Are any autoreplace rules set? | |
bool | autoreplace_finished |
Have all autoreplacement finished? | |
|
static |
Update num_engines when adding/removing an engine.
v | Engine to count. |
delta | +1 to add, -1 to remove. |
Definition at line 158 of file group_cmd.cpp.
References Vehicle::engine_type, Get(), GetAllGroup(), and num_engines.
Referenced by ChangeOwnershipOfCompanyItems().
|
static |
Update num_vehicle when adding or removing a vehicle.
v | Vehicle to count. |
delta | +1 to add, -1 to remove. |
Definition at line 133 of file group_cmd.cpp.
References Vehicle::economy_age, Get(), GetAllGroup(), Vehicle::GetDisplayProfitLastYear(), num_vehicle, num_vehicle_min_age, profit_last_year, profit_last_year_min_age, and VEHICLE_PROFIT_MIN_AGE.
Referenced by AddVehicleToGroup(), ChangeOwnershipOfCompanyItems(), and CmdSellRailWagon().
|
static |
Returns the GroupStatistics for a specific group.
company | Owner of the group. |
id_g | GroupID of the group. |
type | VehicleType of the vehicles in the group. |
Definition at line 63 of file group_cmd.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::IsValidID(), Group::owner, Group::statistics, and Group::vehicle_type.
Referenced by AddProfitLastYear(), CountEngine(), CountVehicle(), Get(), GetAllGroup(), GetGroupNumEngines(), GetGroupNumVehicle(), GetGroupNumVehicleMinAge(), GetGroupProfitLastYearMinAge(), UpdateNumEngineGroup(), and VehicleReachedMinAge().
|
static |
Returns the GroupStatistic for the group of a vehicle.
v | Vehicle. |
Definition at line 83 of file group_cmd.cpp.
References Get(), Vehicle::group_id, Vehicle::owner, and BaseVehicle::type.
|
static |
Returns the GroupStatistic for the ALL_GROUPO of a vehicle type.
v | Vehicle. |
Definition at line 93 of file group_cmd.cpp.
References ALL_GROUP, Get(), Vehicle::owner, and BaseVehicle::type.
Referenced by AddProfitLastYear(), CountEngine(), CountVehicle(), and VehicleReachedMinAge().
uint16_t GroupStatistics::GetNumEngines | ( | EngineID | engine | ) | const |
Get number of vehicles of a specific engine ID.
engine | Engine ID. |
Definition at line 49 of file group_cmd.cpp.
Referenced by GetGroupNumEngines().
|
static |
Update autoreplace_defined and autoreplace_finished of all statistics of a company.
company | Company to update statistics for. |
Definition at line 221 of file group_cmd.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get().
Referenced by CmdAlterGroup().