|
OpenTTD Source
1.10.0-RC1
|
Abstract action of removing cargo from a vehicle or a station. More...
#include <cargoaction.h>
Public Member Functions | |
| CargoRemoval (Tsource *source, uint max_move) | |
| uint | MaxMove () |
| Returns how much more cargo can be removed with this action. More... | |
| bool | operator() (CargoPacket *cp) |
| template<> | |
| bool | operator() (CargoPacket *cp) |
| Removes some cargo from a StationCargoList. More... | |
Protected Member Functions | |
| uint | Preprocess (CargoPacket *cp) |
| Determines the amount of cargo to be removed from a packet and removes that from the metadata of the list. More... | |
| bool | Postprocess (CargoPacket *cp, uint remove) |
| Finalize cargo removal. More... | |
Protected Attributes | |
| Tsource * | source |
| Source of the cargo. | |
| uint | max_move |
| Maximum amount of cargo to be removed with this action. | |
Abstract action of removing cargo from a vehicle or a station.
| Tsource | CargoList subclass to remove cargo from. |
Definition at line 20 of file cargoaction.h.
|
inline |
Returns how much more cargo can be removed with this action.
Definition at line 33 of file cargoaction.h.
| bool CargoRemoval< StationCargoList >::operator() | ( | CargoPacket * | cp | ) |
Removes some cargo from a StationCargoList.
| cp | Packet to be removed. |
Definition at line 79 of file cargoaction.cpp.
|
protected |
Finalize cargo removal.
Either delete the packet or reduce it.
| cp | Packet to be removed or reduced. |
| remove | Amount of cargo to be removed. |
Definition at line 61 of file cargoaction.cpp.
Referenced by CargoDelivery::operator()(), CargoRemoval< VehicleCargoList >::operator()(), and VehicleCargoReroute::operator()().
|
protected |
Determines the amount of cargo to be removed from a packet and removes that from the metadata of the list.
| cp | Packet to be removed completely or partially. |
Definition at line 42 of file cargoaction.cpp.
Referenced by CargoDelivery::operator()(), CargoTransfer::operator()(), CargoRemoval< VehicleCargoList >::operator()(), CargoLoad::operator()(), CargoReservation::operator()(), CargoReturn::operator()(), CargoShift::operator()(), StationCargoReroute::operator()(), and VehicleCargoReroute::operator()().