| OpenTTD
    | 
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. | |
| bool | operator() (CargoPacket *cp) | 
| template<> | |
| bool | operator() (CargoPacket *cp) | 
| 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. | |
| bool | Postprocess (CargoPacket *cp, uint remove) | 
| Finalize cargo removal. | |
| 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 22 of file cargoaction.h.
| 
 | inline | 
Returns how much more cargo can be removed with this action.
Definition at line 35 of file cargoaction.h.
| bool CargoRemoval< StationCargoList >::operator() | ( | CargoPacket * | cp | ) | 
| cp | Packet to be removed. | 
Definition at line 81 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 63 of file cargoaction.cpp.
References CargoPacket::Count(), and CargoPacket::Reduce().
| 
 | 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 44 of file cargoaction.cpp.
References CargoPacket::Count().
 1.8.1.2
 1.8.1.2