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

#include <SpawnPointProductionExitUpdate.h>

Inherits UpdateModule, and ExitInterface.

Public Member Functions

virtual ExitInterface * getUpdateExitInterface ()
 
 SpawnPointProductionExitUpdate (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 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 *)
 Special call for objects exiting a tunnel network, does NOT change the ai state. jba.
 
virtual const Coord3D * getRallyPoint () const
 define a "rally point" for units to move towards
 
virtual void exitObjectByBudding (Object *newObj, Object *budHost)
 puts new spawn on top of an existing one
 
virtual UpdateSleepTime update ()
 
- Public Member Functions inherited from UpdateModule
 UpdateModule (Thing *thing, const ModuleData *moduleData)
 
virtual UpdateModuleInterface * getUpdate ()
 
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 Object * friend_getObject () const
 
- Public Member Functions inherited from BehaviorModule
 BehaviorModule (Thing *thing, const ModuleData *moduleData)
 
virtual BodyModuleInterface * getBody ()
 
virtual CollideModuleInterface * getCollide ()
 
virtual ContainModuleInterface * getContain ()
 
virtual CreateModuleInterface * getCreate ()
 
virtual DamageModuleInterface * getDamage ()
 
virtual DestroyModuleInterface * getDestroy ()
 
virtual DieModuleInterface * getDie ()
 
virtual SpecialPowerModuleInterface * getSpecialPower ()
 
virtual UpgradeModuleInterface * getUpgrade ()
 
virtual StealthUpdate * getStealth ()
 
virtual SpyVisionUpdate * getSpyVisionUpdate ()
 
virtual ParkingPlaceBehaviorInterface * getParkingPlaceBehaviorInterface ()
 
virtual RebuildHoleBehaviorInterface * getRebuildHoleBehaviorInterface ()
 
virtual BridgeBehaviorInterface * getBridgeBehaviorInterface ()
 
virtual BridgeTowerBehaviorInterface * getBridgeTowerBehaviorInterface ()
 
virtual BridgeScaffoldBehaviorInterface * getBridgeScaffoldBehaviorInterface ()
 
virtual OverchargeBehaviorInterface * getOverchargeBehaviorInterface ()
 
virtual TransportPassengerInterface * getTransportPassengerInterface ()
 
virtual CaveInterface * getCaveInterface ()
 
virtual LandMineInterface * getLandMineInterface ()
 
virtual DieModuleInterface * getEjectPilotDieInterface ()
 
virtual ProjectileUpdateInterface * getProjectileUpdateInterface ()
 
virtual AIUpdateInterface * getAIUpdateInterface ()
 
virtual DockUpdateInterface * getDockUpdateInterface ()
 
virtual RailedTransportDockUpdateInterface * getRailedTransportDockUpdateInterface (void)
 
virtual SlowDeathBehaviorInterface * getSlowDeathBehaviorInterface ()
 
virtual SpecialPowerUpdateInterface * getSpecialPowerUpdateInterface ()
 
virtual SlavedUpdateInterface * getSlavedUpdateInterface ()
 
virtual ProductionUpdateInterface * getProductionUpdateInterface ()
 
virtual HordeUpdateInterface * getHordeUpdateInterface ()
 
virtual PowerPlantUpdateInterface * getPowerPlantUpdateInterface ()
 
virtual SpawnBehaviorInterface * getSpawnBehaviorInterface ()
 
virtual CountermeasuresBehaviorInterface * getCountermeasuresBehaviorInterface ()
 
virtual const CountermeasuresBehaviorInterface * getCountermeasuresBehaviorInterface () 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
 
virtual Bool getNaturalRallyPoint (Coord3D &rallyPoint, Bool offset=TRUE) const
 get the natural "rally point" for units to move towards
 
virtual Bool getExitPosition (Coord3D &exitPosition) const
 

Protected Attributes

Bool m_bonesInitialized
 To prevent creation bugs, only init the World coords when first asked for one.
 
Int m_spawnPointCount
 How many in the array are actually live and valid.
 
Coord3D m_worldCoordSpawnPoints [MAX_SPAWN_POINTS]
 Where my little friends will be created.
 
Real m_worldAngleSpawnPoints [MAX_SPAWN_POINTS]
 And what direction they should face.
 
ObjectID m_spawnPointOccupier [MAX_SPAWN_POINTS]
 Who I think is in each spot. I can validate their existance to see if I am free to exit something.
 

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 ModuleData * friend_newModuleData (INI *ini)
 
- 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
Object * getObject ()
 
const Object * getObject () const
 
- Protected Member Functions inherited from Module
const ModuleData * getModuleData () const
 
- Protected Member Functions inherited from MemoryPoolObject
virtual ~MemoryPoolObject ()
 
void * operator new (size_t s)
 
void operator delete (void *p)
 
virtual MemoryPool * getObjectMemoryPool ()=0
 

Detailed Description

Definition at line 66 of file SpawnPointProductionExitUpdate.h.

Constructor & Destructor Documentation

◆ SpawnPointProductionExitUpdate()

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

<

Todo
Replace with our own matrix library

Definition at line 45 of file SpawnPointProductionExitUpdate.cpp.

Member Function Documentation

◆ exitObjectByBudding()

virtual void SpawnPointProductionExitUpdate::exitObjectByBudding ( Object * newObj,
Object * budHost )
inlinevirtual

puts new spawn on top of an existing one

Implements ExitInterface.

Definition at line 86 of file SpawnPointProductionExitUpdate.h.

◆ exitObjectViaDoor()

void SpawnPointProductionExitUpdate::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 64 of file SpawnPointProductionExitUpdate.cpp.

◆ getRallyPoint()

virtual const Coord3D * SpawnPointProductionExitUpdate::getRallyPoint ( ) const
inlinevirtual

define a "rally point" for units to move towards

Implements ExitInterface.

Definition at line 85 of file SpawnPointProductionExitUpdate.h.

◆ getUpdateExitInterface()

virtual ExitInterface * SpawnPointProductionExitUpdate::getUpdateExitInterface ( )
inlinevirtual

Reimplemented from BehaviorModule.

Definition at line 74 of file SpawnPointProductionExitUpdate.h.

◆ isExitBusy()

virtual Bool SpawnPointProductionExitUpdate::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 80 of file SpawnPointProductionExitUpdate.h.

◆ reserveDoorForExit()

ExitDoorType SpawnPointProductionExitUpdate::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 116 of file SpawnPointProductionExitUpdate.cpp.

◆ setRallyPoint()

virtual void SpawnPointProductionExitUpdate::setRallyPoint ( const Coord3D * pos)
inlinevirtual

Special call for objects exiting a tunnel network, does NOT change the ai state. jba.

define a "rally point" for units to move towards

Implements ExitInterface.

Definition at line 84 of file SpawnPointProductionExitUpdate.h.

◆ unreserveDoorForExit()

void SpawnPointProductionExitUpdate::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 136 of file SpawnPointProductionExitUpdate.cpp.

◆ update()

virtual UpdateSleepTime SpawnPointProductionExitUpdate::update ( void )
inlinevirtual

Implements UpdateModule.

Definition at line 88 of file SpawnPointProductionExitUpdate.h.

Member Data Documentation

◆ m_bonesInitialized

Bool SpawnPointProductionExitUpdate::m_bonesInitialized
protected

To prevent creation bugs, only init the World coords when first asked for one.

Definition at line 91 of file SpawnPointProductionExitUpdate.h.

◆ m_spawnPointCount

Int SpawnPointProductionExitUpdate::m_spawnPointCount
protected

How many in the array are actually live and valid.

Definition at line 92 of file SpawnPointProductionExitUpdate.h.

◆ m_spawnPointOccupier

ObjectID SpawnPointProductionExitUpdate::m_spawnPointOccupier[MAX_SPAWN_POINTS]
protected

Who I think is in each spot. I can validate their existance to see if I am free to exit something.

Definition at line 95 of file SpawnPointProductionExitUpdate.h.

◆ m_worldAngleSpawnPoints

Real SpawnPointProductionExitUpdate::m_worldAngleSpawnPoints[MAX_SPAWN_POINTS]
protected

And what direction they should face.

Definition at line 94 of file SpawnPointProductionExitUpdate.h.

◆ m_worldCoordSpawnPoints

Coord3D SpawnPointProductionExitUpdate::m_worldCoordSpawnPoints[MAX_SPAWN_POINTS]
protected

Where my little friends will be created.

Definition at line 93 of file SpawnPointProductionExitUpdate.h.


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