Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
RailedTransportDockUpdate Class Reference

#include <RailedTransportDockUpdate.h>

Inherits DockUpdate, and RailedTransportDockUpdateInterface.

Public Member Functions

 RailedTransportDockUpdate (Thing *thing, const ModuleData *moduleData)
 
virtual RailedTransportDockUpdateInterfacegetRailedTransportDockUpdateInterface (void)
 
virtual UpdateSleepTime update (void)
 In charge of lifting dock restriction for one registered as Approached if all is ready.
 
virtual DockUpdateInterfacegetDockUpdateInterface ()
 
virtual Bool action (Object *docker, Object *drone=NULL)
 
virtual Bool isClearToEnter (Object const *docker) const
 
virtual Bool isLoadingOrUnloading (void)
 
virtual void unloadAll (void)
 
virtual void unloadSingleObject (Object *obj)
 
- Public Member Functions inherited from DockUpdate
 DockUpdate (Thing *thing, const ModuleData *moduleData)
 
virtual Bool isClearToApproach (Object const *docker) const
 
virtual Bool reserveApproachPosition (Object *docker, Coord3D *position, Int *index)
 
virtual Bool advanceApproachPosition (Object *docker, Coord3D *position, Int *index)
 
virtual Bool isClearToAdvance (Object const *docker, Int dockerIndex) const
 
virtual void getEnterPosition (Object *docker, Coord3D *position)
 
virtual void getDockPosition (Object *docker, Coord3D *position)
 
virtual void getExitPosition (Object *docker, Coord3D *position)
 
virtual void onApproachReached (Object *docker)
 I have reached the Approach Point.
 
virtual void onEnterReached (Object *docker)
 I have reached the Enter Point.
 
virtual void onDockReached (Object *docker)
 I have reached the Dock point.
 
virtual void onExitReached (Object *docker)
 I have reached the exit. You are no longer busy.
 
virtual void cancelDock (Object *docker)
 Clear me from any reserved points, and if I was the reason you were Busy, you aren't anymore.
 
virtual Bool isDockOpen (void)
 Is the dock open to accepting dockers.
 
virtual void setDockOpen (Bool open)
 Open/Close the dock.
 
virtual Bool isAllowPassthroughType ()
 Not all docks allow you to path through them in your AIDock machine.
 
virtual Bool isRallyPointAfterDockType ()
 A minority of docks want to give you a final command to their rally point.
 
virtual void setDockCrippled (Bool setting)
 Game Logic can set me as inoperative. I get to decide what that means.
 
- Public Member Functions inherited from UpdateModule
 UpdateModule (Thing *thing, const ModuleData *moduleData)
 
virtual UpdateModuleInterfacegetUpdate ()
 
DisabledMaskType getDisabledTypesToProcess () const
 
UPDATEMODULE_FRIEND_DECLARATOR UnsignedInt friend_getPriority () const
 
UPDATEMODULE_FRIEND_DECLARATOR UnsignedInt friend_getNextCallFrame () const
 
UPDATEMODULE_FRIEND_DECLARATOR SleepyUpdatePhase friend_getNextCallPhase () const
 
UPDATEMODULE_FRIEND_DECLARATOR void friend_setNextCallFrame (UnsignedInt frame)
 
UPDATEMODULE_FRIEND_DECLARATOR Int friend_getIndexInLogic () const
 
UPDATEMODULE_FRIEND_DECLARATOR void friend_setIndexInLogic (Int i)
 
UPDATEMODULE_FRIEND_DECLARATOR const Objectfriend_getObject () const
 
- Public Member Functions inherited from BehaviorModule
 BehaviorModule (Thing *thing, const ModuleData *moduleData)
 
virtual BodyModuleInterfacegetBody ()
 
virtual CollideModuleInterfacegetCollide ()
 
virtual ContainModuleInterfacegetContain ()
 
virtual CreateModuleInterfacegetCreate ()
 
virtual DamageModuleInterfacegetDamage ()
 
virtual DestroyModuleInterfacegetDestroy ()
 
virtual DieModuleInterfacegetDie ()
 
virtual SpecialPowerModuleInterfacegetSpecialPower ()
 
virtual UpgradeModuleInterfacegetUpgrade ()
 
virtual StealthUpdategetStealth ()
 
virtual SpyVisionUpdategetSpyVisionUpdate ()
 
virtual ParkingPlaceBehaviorInterfacegetParkingPlaceBehaviorInterface ()
 
virtual RebuildHoleBehaviorInterfacegetRebuildHoleBehaviorInterface ()
 
virtual BridgeBehaviorInterfacegetBridgeBehaviorInterface ()
 
virtual BridgeTowerBehaviorInterfacegetBridgeTowerBehaviorInterface ()
 
virtual BridgeScaffoldBehaviorInterfacegetBridgeScaffoldBehaviorInterface ()
 
virtual OverchargeBehaviorInterfacegetOverchargeBehaviorInterface ()
 
virtual TransportPassengerInterfacegetTransportPassengerInterface ()
 
virtual CaveInterfacegetCaveInterface ()
 
virtual LandMineInterfacegetLandMineInterface ()
 
virtual DieModuleInterfacegetEjectPilotDieInterface ()
 
virtual ProjectileUpdateInterfacegetProjectileUpdateInterface ()
 
virtual AIUpdateInterfacegetAIUpdateInterface ()
 
virtual ExitInterfacegetUpdateExitInterface ()
 
virtual SlowDeathBehaviorInterfacegetSlowDeathBehaviorInterface ()
 
virtual SpecialPowerUpdateInterfacegetSpecialPowerUpdateInterface ()
 
virtual SlavedUpdateInterfacegetSlavedUpdateInterface ()
 
virtual ProductionUpdateInterfacegetProductionUpdateInterface ()
 
virtual HordeUpdateInterfacegetHordeUpdateInterface ()
 
virtual PowerPlantUpdateInterfacegetPowerPlantUpdateInterface ()
 
virtual SpawnBehaviorInterfacegetSpawnBehaviorInterface ()
 
virtual CountermeasuresBehaviorInterfacegetCountermeasuresBehaviorInterface ()
 
virtual const CountermeasuresBehaviorInterfacegetCountermeasuresBehaviorInterface () const
 
- Public Member Functions inherited from ObjectModule
 ObjectModule (Thing *thing, const ModuleData *moduleData)
 < this abstract class needs memory pool hooks
 
virtual void onCapture (Player *oldOwner, Player *newOwner)
 
virtual void onDisabledEdge (Bool nowDisabled)
 
- Public Member Functions inherited from Module
 Module (const ModuleData *moduleData)
 < this abstract class needs memory pool hooks
 
virtual NameKeyType getModuleNameKey () const =0
 
NameKeyType getModuleTagNameKey () const
 
virtual void onObjectCreated ()
 
virtual void onDrawableBoundToObject ()
 
virtual void preloadAssets (TimeOfDay timeOfDay)
 preload any assets we might have for this time of day
 
virtual void onDelete (void)
 
- Public Member Functions inherited from MemoryPoolObject
void deleteInstance ()
 
- Public Member Functions inherited from Snapshot
 Snapshot (void)
 
 ~Snapshot (void)
 

Protected Member Functions

void doPullInDocking (void)
 pull docking objects into us
 
void doPushOutDocking (void)
 push unloading objects out of us
 
void unloadNext (void)
 start the "next" object we have inside us coming out
 
- Protected Member Functions inherited from DockUpdate
void loadDockPositions ()
 load all the dock positions
 
Coord3D computeApproachPosition (Int positionIndex, Object *forWhom)
 Do a smart lookup of this bone position.
 
- Protected Member Functions inherited from UpdateModule
void setWakeFrame (Object *obj, UpdateSleepTime wakeDelay)
 
UpdateSleepTime getWakeFrame () const
 
virtual SleepyUpdatePhase getUpdatePhase () const
 
UpdateSleepTime frameToSleepTime (UnsignedInt frame1, UnsignedInt frame2=FOREVER, UnsignedInt frame3=FOREVER, UnsignedInt frame4=FOREVER)
 
- Protected Member Functions inherited from BehaviorModule
virtual void crc (Xfer *xfer)
 
virtual void xfer (Xfer *xfer)
 
virtual void loadPostProcess (void)
 
- Protected Member Functions inherited from ObjectModule
ObjectgetObject ()
 
const ObjectgetObject () const
 
- Protected Member Functions inherited from Module
const ModuleDatagetModuleData () const
 
- Protected Member Functions inherited from MemoryPoolObject
virtual ~MemoryPoolObject ()
 
void * operator new (size_t s)
 
void operator delete (void *p)
 
virtual MemoryPoolgetObjectMemoryPool ()=0
 

Protected Attributes

ObjectID m_dockingObjectID
 object docking with us
 
Real m_pullInsideDistancePerFrame
 when docking, pull object inside this much each frame
 
ObjectID m_unloadingObjectID
 object that is currently unloading
 
Real m_pushOutsideDistancePerFrame
 when unloading, push object outside this much frame
 
Int m_unloadCount
 count used to govern unloading 1 or all objects
 
- Protected Attributes inherited from DockUpdate
Coord3D m_enterPosition
 
Coord3D m_dockPosition
 
Coord3D m_exitPosition
 
Int m_numberApproachPositions
 
Int m_numberApproachPositionBones
 
Bool m_positionsLoaded
 FALSE until we have loaded all the docking positions.
 
VecCoord3D m_approachPositions
 
ObjectIDVector m_approachPositionOwners
 Who is in or at least reserved each spot.
 
BoolVector m_approachPositionReached
 Which positions have actually been reached.
 
ObjectID m_activeDocker
 we could expand this to multiple dock paths since we always get docker in our methods
 
Bool m_dockerInside
 This is true while our active docker is between Enter and Exit. This is shorter than activeDocker's lifetime as it doesn't include approach to enter.
 
Bool m_dockCrippled
 Has game logic set me as crippled?
 
Bool m_dockOpen
 Is the dock open for dockers.
 

Additional Inherited Members

- Static Public Member Functions inherited from UpdateModule
static Int getInterfaceMask ()
 
- Static Public Member Functions inherited from BehaviorModule
static Int getInterfaceMask ()
 
static ModuleType getModuleType ()
 
- Static Public Member Functions inherited from Module
static ModuleDatafriend_newModuleData (INI *ini)
 

Detailed Description

Definition at line 70 of file RailedTransportDockUpdate.h.

Constructor & Destructor Documentation

◆ RailedTransportDockUpdate()

RailedTransportDockUpdate::RailedTransportDockUpdate ( Thing * thing,
const ModuleData * moduleData )

Definition at line 84 of file RailedTransportDockUpdate.cpp.

Member Function Documentation

◆ action()

Bool RailedTransportDockUpdate::action ( Object * docker,
Object * drone = NULL )
virtual

The dock action callback, return FALSE when done docking

Implements DockUpdateInterface.

Definition at line 125 of file RailedTransportDockUpdate.cpp.

◆ doPullInDocking()

void RailedTransportDockUpdate::doPullInDocking ( void )
protected

pull docking objects into us

If we have an object recorded as currently docking with us, pull that object inside and when it is inside, contain it

Definition at line 250 of file RailedTransportDockUpdate.cpp.

◆ doPushOutDocking()

void RailedTransportDockUpdate::doPushOutDocking ( void )
protected

push unloading objects out of us

If we have an object recorded as being pushed out of us then do that here

Definition at line 337 of file RailedTransportDockUpdate.cpp.

◆ getDockUpdateInterface()

virtual DockUpdateInterface * RailedTransportDockUpdate::getDockUpdateInterface ( )
inlinevirtual

Reimplemented from BehaviorModule.

Definition at line 89 of file RailedTransportDockUpdate.h.

◆ getRailedTransportDockUpdateInterface()

virtual RailedTransportDockUpdateInterface * RailedTransportDockUpdate::getRailedTransportDockUpdateInterface ( void )
inlinevirtual

Reimplemented from BehaviorModule.

Definition at line 83 of file RailedTransportDockUpdate.h.

◆ isClearToEnter()

Bool RailedTransportDockUpdate::isClearToEnter ( Object const * docker) const
virtual

Is clear to enter the railed transport

Reimplemented from DockUpdate.

Definition at line 183 of file RailedTransportDockUpdate.cpp.

◆ isLoadingOrUnloading()

Bool RailedTransportDockUpdate::isLoadingOrUnloading ( void )
virtual

Is anything currently loading or unloading

Implements RailedTransportDockUpdateInterface.

Definition at line 204 of file RailedTransportDockUpdate.cpp.

◆ unloadAll()

void RailedTransportDockUpdate::unloadAll ( void )
virtual

Start the unload process

Implements RailedTransportDockUpdateInterface.

Definition at line 217 of file RailedTransportDockUpdate.cpp.

◆ unloadNext()

void RailedTransportDockUpdate::unloadNext ( void )
protected

start the "next" object we have inside us coming out

Start the next object contained by us as "unloading and coming out"

Definition at line 452 of file RailedTransportDockUpdate.cpp.

◆ unloadSingleObject()

void RailedTransportDockUpdate::unloadSingleObject ( Object * obj)
virtual

Unload a single individual only

Implements RailedTransportDockUpdateInterface.

Definition at line 233 of file RailedTransportDockUpdate.cpp.

◆ update()

UpdateSleepTime RailedTransportDockUpdate::update ( void )
virtual

In charge of lifting dock restriction for one registered as Approached if all is ready.

Reimplemented from DockUpdate.

Definition at line 105 of file RailedTransportDockUpdate.cpp.

Member Data Documentation

◆ m_dockingObjectID

ObjectID RailedTransportDockUpdate::m_dockingObjectID
protected

object docking with us

Definition at line 104 of file RailedTransportDockUpdate.h.

◆ m_pullInsideDistancePerFrame

Real RailedTransportDockUpdate::m_pullInsideDistancePerFrame
protected

when docking, pull object inside this much each frame

Definition at line 105 of file RailedTransportDockUpdate.h.

◆ m_pushOutsideDistancePerFrame

Real RailedTransportDockUpdate::m_pushOutsideDistancePerFrame
protected

when unloading, push object outside this much frame

Definition at line 108 of file RailedTransportDockUpdate.h.

◆ m_unloadCount

Int RailedTransportDockUpdate::m_unloadCount
protected

count used to govern unloading 1 or all objects

Definition at line 110 of file RailedTransportDockUpdate.h.

◆ m_unloadingObjectID

ObjectID RailedTransportDockUpdate::m_unloadingObjectID
protected

object that is currently unloading

Definition at line 107 of file RailedTransportDockUpdate.h.


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