OpenTTD
Public Member Functions
CargoShift Class Reference

Action of shifting cargo from one vehicle to another. More...

#include <cargoaction.h>

Inheritance diagram for CargoShift:
CargoMovement< VehicleCargoList, VehicleCargoList >

Public Member Functions

 CargoShift (VehicleCargoList *source, VehicleCargoList *destination, uint max_move)
 
bool operator() (CargoPacket *cp)
 Shifts some cargo from a vehicle to another one. More...
 
- Public Member Functions inherited from CargoMovement< VehicleCargoList, VehicleCargoList >
 CargoMovement (VehicleCargoList *source, VehicleCargoList *destination, uint max_move)
 
uint MaxMove ()
 Returns how much more cargo can be moved with this action. More...
 

Additional Inherited Members

- Protected Member Functions inherited from CargoMovement< VehicleCargoList, VehicleCargoList >
CargoPacketPreprocess (CargoPacket *cp)
 Decides if a packet needs to be split. More...
 
- Protected Attributes inherited from CargoMovement< VehicleCargoList, VehicleCargoList >
VehicleCargoListsource
 Source of the cargo.
 
VehicleCargoListdestination
 Destination for the cargo.
 
uint max_move
 Maximum amount of cargo to be moved with this action.
 

Detailed Description

Action of shifting cargo from one vehicle to another.

Definition at line 108 of file cargoaction.h.

Member Function Documentation

◆ operator()()

bool CargoShift::operator() ( CargoPacket cp)

Shifts some cargo from a vehicle to another one.

Parameters
cpPacket to be shifted.
Returns
True if the packet was completely shifted, false if part of it was.

Definition at line 183 of file cargoaction.cpp.

References CargoPacket::Count(), CargoList< VehicleCargoList, CargoPacketList >::MTA_KEEP, CargoRemoval< Tsource >::Preprocess(), and CargoRemoval< Tsource >::source.


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