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

#include <UpdateModule.h>

Inherited by DockUpdate.

Public Member Functions

virtual Bool isClearToApproach (Object const *docker) const =0
 
virtual Bool reserveApproachPosition (Object *docker, Coord3D *position, Int *index)=0
 
virtual Bool advanceApproachPosition (Object *docker, Coord3D *position, Int *index)=0
 
virtual Bool isClearToEnter (Object const *docker) const =0
 
virtual Bool isClearToAdvance (Object const *docker, Int dockerIndex) const =0
 
virtual void getEnterPosition (Object *docker, Coord3D *position)=0
 
virtual void getDockPosition (Object *docker, Coord3D *position)=0
 
virtual void getExitPosition (Object *docker, Coord3D *position)=0
 
virtual void onApproachReached (Object *docker)=0
 I have reached the Enter Point.
 
virtual void onEnterReached (Object *docker)=0
 I have reached the Enter Point.
 
virtual void onDockReached (Object *docker)=0
 I have reached the Dock point.
 
virtual void onExitReached (Object *docker)=0
 I have reached the exit. You are no longer busy.
 
virtual Bool action (Object *docker, Object *drone=NULL)=0
 Perform your specific action on me. Returning FALSE means there is nothing for you to do so I should leave.
 
virtual void cancelDock (Object *docker)=0
 Clear me from any reserved points, and if I was the reason you were Busy, you aren't anymore.
 
virtual Bool isDockOpen (void)=0
 Is the dock open to accepting dockers.
 
virtual void setDockOpen (Bool open)=0
 Open/Close the dock.
 
virtual void setDockCrippled (Bool setting)=0
 Game Logic can set me as inoperative. I get to decide what that means.
 
virtual Bool isAllowPassthroughType ()=0
 Not all docks allow you to path through them in your AIDock machine.
 
virtual Bool isRallyPointAfterDockType ()=0
 A minority of docks want to give you a final command to their rally point.
 

Detailed Description

Definition at line 275 of file UpdateModule.h.

Member Function Documentation

◆ action()

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

Perform your specific action on me. Returning FALSE means there is nothing for you to do so I should leave.

Implemented in RailedTransportDockUpdate, RepairDockUpdate, SupplyCenterDockUpdate, and SupplyWarehouseDockUpdate.

◆ advanceApproachPosition()

virtual Bool DockUpdateInterface::advanceApproachPosition ( Object * docker,
Coord3D * position,
Int * index )
pure virtual

Give me the next Queue point to drive to, and record that that point is taken.

Implemented in DockUpdate.

◆ cancelDock()

virtual void DockUpdateInterface::cancelDock ( Object * docker)
pure virtual

Clear me from any reserved points, and if I was the reason you were Busy, you aren't anymore.

Implemented in DockUpdate.

◆ getDockPosition()

virtual void DockUpdateInterface::getDockPosition ( Object * docker,
Coord3D * position )
pure virtual

Give me the middle point of the dock process where the action() happens

Implemented in DockUpdate.

◆ getEnterPosition()

virtual void DockUpdateInterface::getEnterPosition ( Object * docker,
Coord3D * position )
pure virtual

Give me the point that is the start of your docking path Returning NULL means there is none free All functions take docker as arg so we could have multiple docks on a building.
Docker is not assumed, it is recorded and checked.

Implemented in DockUpdate.

◆ getExitPosition()

virtual void DockUpdateInterface::getExitPosition ( Object * docker,
Coord3D * position )
pure virtual

Give me the point to drive to when I am done

Implemented in DockUpdate.

◆ isAllowPassthroughType()

virtual Bool DockUpdateInterface::isAllowPassthroughType ( )
pure virtual

Not all docks allow you to path through them in your AIDock machine.

Implemented in DockUpdate.

◆ isClearToAdvance()

virtual Bool DockUpdateInterface::isClearToAdvance ( Object const * docker,
Int dockerIndex ) const
pure virtual

Return true when it is OK for docker to request a new Approach position. The dock is in charge of keeping track of holes in the line, but the docker will remind us of their spot.

Implemented in DockUpdate.

◆ isClearToApproach()

virtual Bool DockUpdateInterface::isClearToApproach ( Object const * docker) const
pure virtual

Returns true if it is okay for the docker to approach and prepare to dock. False could mean the queue is full, for example.

Implemented in DockUpdate.

◆ isClearToEnter()

virtual Bool DockUpdateInterface::isClearToEnter ( Object const * docker) const
pure virtual

Return true when it is OK for docker to begin entering the dock The Dock will lift the restriction on one particular docker on its own, so you must continually ask.

Implemented in DockUpdate, and RailedTransportDockUpdate.

◆ isDockOpen()

virtual Bool DockUpdateInterface::isDockOpen ( void )
pure virtual

Is the dock open to accepting dockers.

Implemented in DockUpdate.

◆ isRallyPointAfterDockType()

virtual Bool DockUpdateInterface::isRallyPointAfterDockType ( )
pure virtual

A minority of docks want to give you a final command to their rally point.

Implemented in DockUpdate, and RepairDockUpdate.

◆ onApproachReached()

virtual void DockUpdateInterface::onApproachReached ( Object * docker)
pure virtual

I have reached the Enter Point.

Implemented in DockUpdate.

◆ onDockReached()

virtual void DockUpdateInterface::onDockReached ( Object * docker)
pure virtual

I have reached the Dock point.

Implemented in DockUpdate.

◆ onEnterReached()

virtual void DockUpdateInterface::onEnterReached ( Object * docker)
pure virtual

I have reached the Enter Point.

Implemented in DockUpdate.

◆ onExitReached()

virtual void DockUpdateInterface::onExitReached ( Object * docker)
pure virtual

I have reached the exit. You are no longer busy.

Implemented in DockUpdate.

◆ reserveApproachPosition()

virtual Bool DockUpdateInterface::reserveApproachPosition ( Object * docker,
Coord3D * position,
Int * index )
pure virtual

Give me a Queue point to drive to, and record that that point is taken. Returning NULL means there are none free

Implemented in DockUpdate.

◆ setDockCrippled()

virtual void DockUpdateInterface::setDockCrippled ( Bool setting)
pure virtual

Game Logic can set me as inoperative. I get to decide what that means.

Implemented in DockUpdate, and SupplyWarehouseDockUpdate.

◆ setDockOpen()

virtual void DockUpdateInterface::setDockOpen ( Bool open)
pure virtual

Open/Close the dock.

Implemented in DockUpdate.


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