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

#include <QueueProductionExitUpdate.h>

Inherits UpdateModule, and ExitInterface.

Public Member Functions

virtual ExitInterfacegetUpdateExitInterface ()
 
 QueueProductionExitUpdate (Thing *thing, const ModuleData *moduleData)
 
virtual Bool isExitBusy () const
 Contain style exiters are getting the ability to space out exits, so ask this before reserveDoor as a kind of no-commitment check.
 
virtual ExitDoorType reserveDoorForExit (const ThingTemplate *objType, Object *specificObject)
 All types can answer if they are free to exit or not, and you can ask about a specific guy or just exit anything in general.
 
virtual void exitObjectViaDoor (Object *newObj, ExitDoorType exitDoor)
 Here is the object for you to exit to the world in your own special way.
 
virtual void exitObjectByBudding (Object *newObj, Object *budHost)
 puts new spawn on top of an existing one
 
virtual void unreserveDoorForExit (ExitDoorType exitDoor)
 if you get permission to exit, but then don't/can't call exitObjectViaDoor, you should call this to "give up" your permission
 
virtual void setRallyPoint (const Coord3D *pos)
 define a "rally point" for units to move towards
 
virtual const Coord3DgetRallyPoint (void) const
 define a "rally point" for units to move towards
 
virtual Bool getExitPosition (Coord3D &exitPosition) const
 access to the "Door" position of the production object
 
virtual Bool getNaturalRallyPoint (Coord3D &rallyPoint, Bool offset=TRUE) const
 get the natural "rally point" for units to move towards
 
virtual UpdateSleepTime update ()
 
- 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 DockUpdateInterfacegetDockUpdateInterface ()
 
virtual RailedTransportDockUpdateInterfacegetRailedTransportDockUpdateInterface (void)
 
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)
 
- Public Member Functions inherited from ExitInterface
virtual void exitObjectInAHurry (Object *newObj)
 
virtual Bool useSpawnRallyPoint (void) const
 

Protected Member Functions

Bool isFreeToExit () const
 
- 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

UnsignedInt m_currentDelay
 When this hits zero, I can exit again.
 
Coord3D m_rallyPoint
 Where units should move to after they have reached the "natural" rally point.
 
Bool m_rallyPointExists
 Only move to the rally point if this is true.
 
Real m_creationClearDistance
 I can think of myself as ready when the previous guy is this far away.
 
UnsignedInt m_currentBurstCount
 how many times must I still override the delay timer
 

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 78 of file QueueProductionExitUpdate.h.

Constructor & Destructor Documentation

◆ QueueProductionExitUpdate()

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

Definition at line 45 of file QueueProductionExitUpdate.cpp.

Member Function Documentation

◆ exitObjectByBudding()

void QueueProductionExitUpdate::exitObjectByBudding ( Object * newObj,
Object * budHost )
virtual

puts new spawn on top of an existing one

Implements ExitInterface.

Definition at line 234 of file QueueProductionExitUpdate.cpp.

◆ exitObjectViaDoor()

void QueueProductionExitUpdate::exitObjectViaDoor ( Object * newObj,
ExitDoorType exitDoor )
virtual

Here is the object for you to exit to the world in your own special way.

Todo
This really should be automatically wrapped up in an actication sequence for objects in general

Implements ExitInterface.

Definition at line 71 of file QueueProductionExitUpdate.cpp.

◆ getExitPosition()

Bool QueueProductionExitUpdate::getExitPosition ( Coord3D & exitPosition) const
virtual

access to the "Door" position of the production object

Reimplemented from ExitInterface.

Definition at line 170 of file QueueProductionExitUpdate.cpp.

◆ getNaturalRallyPoint()

Bool QueueProductionExitUpdate::getNaturalRallyPoint ( Coord3D & rallyPoint,
Bool offset = TRUE ) const
virtual

get the natural "rally point" for units to move towards

Reimplemented from ExitInterface.

Definition at line 272 of file QueueProductionExitUpdate.cpp.

◆ getRallyPoint()

const Coord3D * QueueProductionExitUpdate::getRallyPoint ( void ) const
inlinevirtual

define a "rally point" for units to move towards

Implements ExitInterface.

Definition at line 122 of file QueueProductionExitUpdate.h.

◆ getUpdateExitInterface()

virtual ExitInterface * QueueProductionExitUpdate::getUpdateExitInterface ( )
inlinevirtual

Reimplemented from BehaviorModule.

Definition at line 86 of file QueueProductionExitUpdate.h.

◆ isExitBusy()

virtual Bool QueueProductionExitUpdate::isExitBusy ( ) const
inlinevirtual

Contain style exiters are getting the ability to space out exits, so ask this before reserveDoor as a kind of no-commitment check.

Implements ExitInterface.

Definition at line 92 of file QueueProductionExitUpdate.h.

◆ isFreeToExit()

Bool QueueProductionExitUpdate::isFreeToExit ( ) const
protected

Definition at line 206 of file QueueProductionExitUpdate.cpp.

◆ reserveDoorForExit()

ExitDoorType QueueProductionExitUpdate::reserveDoorForExit ( const ThingTemplate * objType,
Object * specificObject )
virtual

All types can answer if they are free to exit or not, and you can ask about a specific guy or just exit anything in general.

Implements ExitInterface.

Definition at line 194 of file QueueProductionExitUpdate.cpp.

◆ setRallyPoint()

void QueueProductionExitUpdate::setRallyPoint ( const Coord3D * pos)
inlinevirtual

define a "rally point" for units to move towards

Implements ExitInterface.

Definition at line 116 of file QueueProductionExitUpdate.h.

◆ unreserveDoorForExit()

void QueueProductionExitUpdate::unreserveDoorForExit ( ExitDoorType exitDoor)
virtual

if you get permission to exit, but then don't/can't call exitObjectViaDoor, you should call this to "give up" your permission

Implements ExitInterface.

Definition at line 200 of file QueueProductionExitUpdate.cpp.

◆ update()

UpdateSleepTime QueueProductionExitUpdate::update ( void )
virtual

Implements UpdateModule.

Definition at line 220 of file QueueProductionExitUpdate.cpp.

Member Data Documentation

◆ m_creationClearDistance

Real QueueProductionExitUpdate::m_creationClearDistance
protected

I can think of myself as ready when the previous guy is this far away.

Definition at line 110 of file QueueProductionExitUpdate.h.

◆ m_currentBurstCount

UnsignedInt QueueProductionExitUpdate::m_currentBurstCount
protected

how many times must I still override the delay timer

Definition at line 111 of file QueueProductionExitUpdate.h.

◆ m_currentDelay

UnsignedInt QueueProductionExitUpdate::m_currentDelay
protected

When this hits zero, I can exit again.

Definition at line 107 of file QueueProductionExitUpdate.h.

◆ m_rallyPoint

Coord3D QueueProductionExitUpdate::m_rallyPoint
protected

Where units should move to after they have reached the "natural" rally point.

Definition at line 108 of file QueueProductionExitUpdate.h.

◆ m_rallyPointExists

Bool QueueProductionExitUpdate::m_rallyPointExists
protected

Only move to the rally point if this is true.

Definition at line 109 of file QueueProductionExitUpdate.h.


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