OpenTTD Source 20241224-master-gf74b0cf984
GroupStatistics Struct Reference

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.
 

Static Public Member Functions

static GroupStatisticsGet (CompanyID company, GroupID id_g, VehicleType type)
 Returns the GroupStatistics for a specific group.
 
static GroupStatisticsGet (const Vehicle *v)
 Returns the GroupStatistic for the group of a vehicle.
 
static GroupStatisticsGetAllGroup (const Vehicle *v)
 Returns the GroupStatistic for the ALL_GROUPO of a vehicle type.
 
static void CountVehicle (const Vehicle *v, int delta)
 Update num_vehicle when adding or removing a vehicle.
 
static void CountEngine (const Vehicle *v, int delta)
 Update num_engines when adding/removing an engine.
 
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.
 

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?
 

Detailed Description

Statistics and caches on the vehicles in a group.

Definition at line 24 of file group.h.

Member Function Documentation

◆ AddProfitLastYear()

void GroupStatistics::AddProfitLastYear ( const Vehicle v)
static

Add a vehicle's last year profit to the profit sum of its group.

Definition at line 168 of file group_cmd.cpp.

References Get(), GetAllGroup(), Vehicle::GetDisplayProfitLastYear(), and profit_last_year.

Referenced by CopyHeadSpecificThings(), and UpdateProfits().

◆ Clear()

void GroupStatistics::Clear ( )

Clear all caches.

Definition at line 33 of file group_cmd.cpp.

◆ ClearAutoreplace()

void GroupStatistics::ClearAutoreplace ( )
inline

Definition at line 43 of file group.h.

◆ ClearProfits()

void GroupStatistics::ClearProfits ( )
inline

Definition at line 35 of file group.h.

◆ CountEngine()

void GroupStatistics::CountEngine ( const Vehicle v,
int  delta 
)
static

Update num_engines when adding/removing an engine.

Parameters
vEngine 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(), CmdBuildVehicle(), Vehicle::PreDestructor(), and UpdateAfterLoad().

◆ CountVehicle()

void GroupStatistics::CountVehicle ( const Vehicle v,
int  delta 
)
static

◆ Get() [1/2]

◆ Get() [2/2]

GroupStatistics & GroupStatistics::Get ( const Vehicle v)
static

Returns the GroupStatistic for the group of a vehicle.

Parameters
vVehicle.
Returns
GroupStatistics for the group of the vehicle.

Definition at line 83 of file group_cmd.cpp.

References Get(), Vehicle::group_id, Vehicle::owner, and BaseVehicle::type.

◆ GetAllGroup()

GroupStatistics & GroupStatistics::GetAllGroup ( const Vehicle v)
static

Returns the GroupStatistic for the ALL_GROUPO of a vehicle type.

Parameters
vVehicle.
Returns
GroupStatistics for the ALL_GROUP of the vehicle type.

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

◆ GetNumEngines()

uint16_t GroupStatistics::GetNumEngines ( EngineID  engine) const

Get number of vehicles of a specific engine ID.

Parameters
engineEngine ID.
Returns
number of vehicles of this engine ID.

Definition at line 49 of file group_cmd.cpp.

References num_engines.

Referenced by GetGroupNumEngines().

◆ UpdateAfterLoad()

◆ UpdateAutoreplace()

◆ UpdateProfits()

◆ VehicleReachedMinAge()

void GroupStatistics::VehicleReachedMinAge ( const Vehicle v)
static

Add a vehicle to the profit sum of its group.

Definition at line 180 of file group_cmd.cpp.

References Get(), GetAllGroup(), Vehicle::GetDisplayProfitLastYear(), num_vehicle_min_age, and profit_last_year_min_age.

Referenced by EconomyAgeVehicle(), and UpdateProfits().

Field Documentation

◆ autoreplace_defined

bool GroupStatistics::autoreplace_defined

Are any autoreplace rules set?

Definition at line 30 of file group.h.

Referenced by UpdateAutoreplace().

◆ autoreplace_finished

bool GroupStatistics::autoreplace_finished

Have all autoreplacement finished?

Definition at line 31 of file group.h.

Referenced by UpdateAutoreplace().

◆ num_engines

std::map<EngineID, uint16_t> GroupStatistics::num_engines

Caches the number of engines of each type the company owns.

Definition at line 27 of file group.h.

Referenced by CountEngine(), GetNumEngines(), and UpdateNumEngineGroup().

◆ num_vehicle

uint16_t GroupStatistics::num_vehicle

◆ num_vehicle_min_age

uint16_t GroupStatistics::num_vehicle_min_age

Number of vehicles considered for profit statistics;.

Definition at line 29 of file group.h.

Referenced by CountVehicle(), GetGroupNumVehicleMinAge(), and VehicleReachedMinAge().

◆ profit_last_year

Money GroupStatistics::profit_last_year

Sum of profits for all vehicles.

Definition at line 25 of file group.h.

Referenced by AddProfitLastYear(), and CountVehicle().

◆ profit_last_year_min_age

Money GroupStatistics::profit_last_year_min_age

Sum of profits for vehicles considered for profit statistics.

Definition at line 26 of file group.h.

Referenced by CountVehicle(), GetGroupProfitLastYearMinAge(), and VehicleReachedMinAge().


The documentation for this struct was generated from the following files: