OpenTTD Source 20241224-master-gee860a5c8e
|
Implementation of the cargo transport monitoring. More...
Go to the source code of this file.
Functions | |
static void | ClearCargoMonitoring (CargoMonitorMap &cargo_monitor_map, CompanyID company=INVALID_OWNER) |
Helper method for ClearCargoPickupMonitoring and ClearCargoDeliveryMonitoring. | |
void | ClearCargoPickupMonitoring (CompanyID company) |
Clear all pick-up cargo monitors. | |
void | ClearCargoDeliveryMonitoring (CompanyID company) |
Clear all delivery cargo monitors. | |
static int32_t | GetAmount (CargoMonitorMap &monitor_map, CargoMonitorID monitor, bool keep_monitoring) |
Get and reset the amount associated with a cargo monitor. | |
int32_t | GetDeliveryAmount (CargoMonitorID monitor, bool keep_monitoring) |
Get the amount of cargo delivered for the given cargo monitor since activation or last query. | |
int32_t | GetPickupAmount (CargoMonitorID monitor, bool keep_monitoring) |
Get the amount of cargo picked up for the given cargo monitor since activation or last query. | |
void | AddCargoDelivery (CargoID cargo_type, CompanyID company, uint32_t amount, SourceType src_type, SourceID src, const Station *st, IndustryID dest) |
Cargo was delivered to its final destination, update the pickup and delivery maps. | |
Variables | |
CargoMonitorMap | _cargo_pickups |
Map of monitored pick-ups to the amount since last query/activation. | |
CargoMonitorMap | _cargo_deliveries |
Map of monitored deliveries to the amount since last query/activation. | |
Implementation of the cargo transport monitoring.
Definition in file cargomonitor.cpp.
void AddCargoDelivery | ( | CargoID | cargo_type, |
CompanyID | company, | ||
uint32_t | amount, | ||
SourceType | src_type, | ||
SourceID | src, | ||
const Station * | st, | ||
IndustryID | dest | ||
) |
Cargo was delivered to its final destination, update the pickup and delivery maps.
cargo_type | type of cargo. |
company | company delivering the cargo. |
amount | Amount of cargo delivered. |
src_type | type of src. |
src | index of source. |
st | station where the cargo is delivered to. |
dest | industry index where the cargo is delivered to. |
Definition at line 118 of file cargomonitor.cpp.
References _cargo_deliveries, _cargo_pickups, EncodeCargoIndustryMonitor(), EncodeCargoTownMonitor(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Station::industries_near, Industry, INVALID_SOURCE, BaseStation::town, and Town.
Referenced by DeliverGoods(), and DeliverGoodsToIndustry().
void ClearCargoDeliveryMonitoring | ( | CompanyID | company | ) |
Clear all delivery cargo monitors.
company | clear all delivery monitors for this company or if INVALID_OWNER is passed, all delivery monitors are cleared regardless of company. |
Definition at line 57 of file cargomonitor.cpp.
References _cargo_deliveries, and ClearCargoMonitoring().
Referenced by ChangeOwnershipOfCompanyItems(), InitializeEconomy(), and CMDLChunkHandler::Load().
|
static |
Helper method for ClearCargoPickupMonitoring and ClearCargoDeliveryMonitoring.
Clears all monitors that belong to the specified company or all if INVALID_OWNER is specified as company.
cargo_monitor_map | reference to the cargo monitor map to operate on. |
company | company to clear cargo monitors for or INVALID_OWNER if all cargo monitors should be cleared. |
Definition at line 26 of file cargomonitor.cpp.
References DecodeMonitorCompany(), and INVALID_OWNER.
Referenced by ClearCargoDeliveryMonitoring(), and ClearCargoPickupMonitoring().
void ClearCargoPickupMonitoring | ( | CompanyID | company | ) |
Clear all pick-up cargo monitors.
company | clear all pick-up monitors for this company or if INVALID_OWNER is passed, all pick-up monitors are cleared regardless of company. |
Definition at line 47 of file cargomonitor.cpp.
References _cargo_pickups, and ClearCargoMonitoring().
Referenced by ChangeOwnershipOfCompanyItems(), InitializeEconomy(), and CMPUChunkHandler::Load().
|
static |
Get and reset the amount associated with a cargo monitor.
[in,out] | monitor_map | Monitoring map to search (and reset for the queried entry). |
monitor | Cargo monitor to query/reset. | |
keep_monitoring | After returning from this call, continue monitoring. |
Definition at line 69 of file cargomonitor.cpp.
Referenced by GetDeliveryAmount(), and GetPickupAmount().
int32_t GetDeliveryAmount | ( | CargoMonitorID | monitor, |
bool | keep_monitoring | ||
) |
Get the amount of cargo delivered for the given cargo monitor since activation or last query.
monitor | Cargo monitor to query. |
keep_monitoring | After returning from this call, continue monitoring. |
Definition at line 91 of file cargomonitor.cpp.
References _cargo_deliveries, and GetAmount().
int32_t GetPickupAmount | ( | CargoMonitorID | monitor, |
bool | keep_monitoring | ||
) |
Get the amount of cargo picked up for the given cargo monitor since activation or last query.
monitor | Monitoring number to query. |
keep_monitoring | After returning from this call, continue monitoring. |
Definition at line 103 of file cargomonitor.cpp.
References _cargo_pickups, and GetAmount().
CargoMonitorMap _cargo_deliveries |
Map of monitored deliveries to the amount since last query/activation.
Definition at line 17 of file cargomonitor.cpp.
Referenced by AddCargoDelivery(), ClearCargoDeliveryMonitoring(), GetDeliveryAmount(), CMDLChunkHandler::Load(), and CMDLChunkHandler::Save().
CargoMonitorMap _cargo_pickups |
Map of monitored pick-ups to the amount since last query/activation.
Definition at line 16 of file cargomonitor.cpp.
Referenced by AddCargoDelivery(), ClearCargoPickupMonitoring(), GetPickupAmount(), CMPUChunkHandler::Load(), and CMPUChunkHandler::Save().