OpenTTD Source  20240919-master-gdf0233f4c2
CargoMovement< Tsource, Tdest > Class Template Reference

Abstract action for moving cargo from one list to another. More...

#include <cargoaction.h>

Public Member Functions

 CargoMovement (Tsource *source, Tdest *destination, uint max_move)
 
uint MaxMove ()
 Returns how much more cargo can be moved with this action. More...
 

Protected Member Functions

CargoPacketPreprocess (CargoPacket *cp)
 Decides if a packet needs to be split. More...
 

Protected Attributes

Tsource * source
 Source of the cargo.
 
Tdest * destination
 Destination for the cargo.
 
uint max_move
 Maximum amount of cargo to be moved with this action.
 

Detailed Description

template<class Tsource, class Tdest>
class CargoMovement< Tsource, Tdest >

Abstract action for moving cargo from one list to another.

Template Parameters
TsourceCargoList subclass to remove cargo from.
TdestCargoList subclass to add cargo to.

Definition at line 55 of file cargoaction.h.

Member Function Documentation

◆ MaxMove()

template<class Tsource , class Tdest >
uint CargoMovement< Tsource, Tdest >::MaxMove ( )
inline

Returns how much more cargo can be moved with this action.

Returns
Amount of cargo this action can still move.

Definition at line 68 of file cargoaction.h.

◆ Preprocess()

template<class Tsource , class Tdest >
CargoPacket * CargoMovement< Tsource, Tdest >::Preprocess ( CargoPacket cp)
protected

Decides if a packet needs to be split.

Parameters
cpPacket to be either split or moved in one piece.
Returns
Either new packet if splitting was necessary or the given one otherwise.

Definition at line 24 of file cargoaction.cpp.


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