OpenTTD: CargoPayment Struct Reference

OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Data Fields
CargoPayment Struct Reference

Helper class to perform the cargo payment. More...

`#include <economy_base.h>`

Inheritance diagram for CargoPayment:

## Public Member Functions
| CargoPayment ()
| Constructor for pool saveload.
| CargoPayment (Vehicle *front)
| Makes us a new cargo payment helper.
Money | PayTransfer (const CargoPacket *cp, uint count)
| Handle payment for transfer of the given cargo packet.
void | PayFinalDelivery (const CargoPacket *cp, uint count)
| Handle payment for final delivery of the given cargo packet.
void | SetCargo (CargoID ct)
| Sets the currently handled cargo type.
Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_cargo_payment_pool >
void * | operator new (size_t size)
| Allocates space for new Titem.
void * | operator new (size_t size, size_t index)
| Allocates space for new Titem with given index.
void * | operator new (size_t size, void *ptr)
| Allocates space for new Titem at given memory address.
void | operator delete (void *p)
| Marks Titem as free.

## Data Fields
Vehicle * | front
| The front vehicle to do the payment of.
Money | route_profit
| The amount of money to add/remove from the bank account.
Money | visual_profit
| The visual profit to show.
Money | visual_transfer
| The transfer credits to be shown.
Company * | owner
| The owner of the vehicle.
StationID | current_station
| The current station.
CargoID | ct
| The currently handled cargo type.
Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_cargo_payment_pool >
Tindex | index
| Index of this pool item.

## Additional Inherited Members
Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_cargo_payment_pool >
static bool | CanAllocateItem (size_t n=1)
| Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function()
static bool | CleaningPool ()
| Returns current state of pool cleaning - yes or no.
static bool | IsValidID (size_t index)
| Tests whether given index can be used to get valid (non-NULL) Titem.
static Titem * | Get (size_t index)
| Returns Titem with given index.
static Titem * | GetIfValid (size_t index)
| Returns Titem with given index.
static size_t | GetPoolSize ()
| Returns first unused index.
static size_t | GetNumItems ()
| Returns number of valid items in the pool.
static void | PostDestructor (size_t index)
| Dummy function called after destructor of each member.

## Detailed Description

Helper class to perform the cargo payment.

Definition at line 26 of file economy_base.h.

## Constructor & Destructor Documentation

CargoPayment::CargoPayment | ( | Vehicle * | front | ) |

Makes us a new cargo payment helper.

Parameters

  front | The front of the train

Definition at line 1168 of file economy.cpp.

## Member Function Documentation

void CargoPayment::PayFinalDelivery | ( | const CargoPacket * | cp,
|  | uint | count
| ) |  |

Handle payment for final delivery of the given cargo packet.

Parameters

  cp | The cargo packet to pay for.
  count | The number of packets to pay for.

Definition at line 1207 of file economy.cpp.

References ct, current_station, CargoPacket::DaysInTransit(), DeliverGoods(), CargoPacket::FeederShare(), front, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_cargo_payment_pool >::Get(), owner, Vehicle::owner, route_profit, CargoPacket::SourceStationXY(), CargoPacket::SourceSubsidyID(), CargoPacket::SourceSubsidyType(), and visual_profit.

Referenced by CargoDelivery::operator()().

Money CargoPayment::PayTransfer | ( | const CargoPacket * | cp,
|  | uint | count
| ) |  |

Handle payment for transfer of the given cargo packet.

Parameters

  cp | The cargo packet to pay for; actual payment won't be made!.
  count | The number of packets to pay for.

Returns
  The amount of money paid for the transfer.

Definition at line 1227 of file economy.cpp.

References _settings_game, ct, current_station, CargoPacket::DaysInTransit(), DistanceManhattan(), GameSettings::economy, EconomySettings::feeder_payment_share, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_cargo_payment_pool >::Get(), CargoPacket::LoadedAtXY(), and visual_transfer.

Referenced by VehicleCargoList::Stage().

void CargoPayment::SetCargo | ( | CargoID | ct | ) |
| inline

Sets the currently handled cargo type.

Parameters

  ct | the cargo type to handle from now on.

Definition at line 49 of file economy_base.h.

References ct.

Referenced by LoadUnloadVehicle().

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

- src/economy_base.h
- src/economy.cpp