#include <DockUpdate.h>
Inherits UpdateModule, and DockUpdateInterface.
Inherited by RailedTransportDockUpdate, RepairDockUpdate, SupplyCenterDockUpdate, and SupplyWarehouseDockUpdate.
Protected Member Functions | |
| 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 | |
| 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 |
Protected Attributes | |
| 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 ModuleData * | friend_newModuleData (INI *ini) |
Definition at line 63 of file DockUpdate.h.
| DockUpdate::DockUpdate | ( | Thing * | thing, |
| const ModuleData * | moduleData ) |
Definition at line 66 of file DockUpdate.cpp.
|
virtual |
Give me the next Queue point to drive to, and record that that point is taken.
Implements DockUpdateInterface.
Definition at line 187 of file DockUpdate.cpp.
|
virtual |
Clear me from any reserved points, and if I was the reason you were Busy, you aren't anymore.
Implements DockUpdateInterface.
Definition at line 380 of file DockUpdate.cpp.
Do a smart lookup of this bone position.
Definition at line 446 of file DockUpdate.cpp.
Give me the middle point of the dock process where the action() happens
Implements DockUpdateInterface.
Definition at line 264 of file DockUpdate.cpp.
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.
Implements DockUpdateInterface.
Definition at line 234 of file DockUpdate.cpp.
Give me the point to drive to when I am done
Implements DockUpdateInterface.
Definition at line 289 of file DockUpdate.cpp.
|
virtual |
Not all docks allow you to path through them in your AIDock machine.
Implements DockUpdateInterface.
Definition at line 537 of file DockUpdate.cpp.
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.
Implements DockUpdateInterface.
Definition at line 221 of file DockUpdate.cpp.
Returns true if it is okay for the docker to approach and prepare to dock. False could mean the queue is full, for example.
Implements DockUpdateInterface.
Definition at line 112 of file DockUpdate.cpp.
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.
Implements DockUpdateInterface.
Reimplemented in RailedTransportDockUpdate.
Definition at line 215 of file DockUpdate.cpp.
|
inlinevirtual |
Is the dock open to accepting dockers.
Implements DockUpdateInterface.
Definition at line 123 of file DockUpdate.h.
|
inlinevirtual |
A minority of docks want to give you a final command to their rally point.
Implements DockUpdateInterface.
Reimplemented in RepairDockUpdate.
Definition at line 128 of file DockUpdate.h.
|
protected |
load all the dock positions
Definition at line 491 of file DockUpdate.cpp.
|
virtual |
I have reached the Approach Point.
Implements DockUpdateInterface.
Definition at line 314 of file DockUpdate.cpp.
|
virtual |
I have reached the Dock point.
Implements DockUpdateInterface.
Definition at line 348 of file DockUpdate.cpp.
|
virtual |
I have reached the Enter Point.
Implements DockUpdateInterface.
Definition at line 327 of file DockUpdate.cpp.
|
virtual |
I have reached the exit. You are no longer busy.
Implements DockUpdateInterface.
Definition at line 355 of file DockUpdate.cpp.
|
virtual |
Give me a Queue point to drive to, and record that that point is taken. Returning NULL means there are none free
Implements DockUpdateInterface.
Definition at line 136 of file DockUpdate.cpp.
|
virtual |
Game Logic can set me as inoperative. I get to decide what that means.
Implements DockUpdateInterface.
Reimplemented in SupplyWarehouseDockUpdate.
Definition at line 409 of file DockUpdate.cpp.
|
inlinevirtual |
|
virtual |
In charge of lifting dock restriction for one registered as Approached if all is ready.
Implements UpdateModule.
Reimplemented in RailedTransportDockUpdate, and SupplyCenterDockUpdate.
Definition at line 415 of file DockUpdate.cpp.
|
protected |
we could expand this to multiple dock paths since we always get docker in our methods
Definition at line 150 of file DockUpdate.h.
|
protected |
Who is in or at least reserved each spot.
Definition at line 147 of file DockUpdate.h.
|
protected |
Which positions have actually been reached.
Definition at line 148 of file DockUpdate.h.
|
protected |
Definition at line 146 of file DockUpdate.h.
|
protected |
Has game logic set me as crippled?
Definition at line 152 of file DockUpdate.h.
|
protected |
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.
Definition at line 151 of file DockUpdate.h.
|
protected |
Is the dock open for dockers.
Definition at line 154 of file DockUpdate.h.
|
protected |
Definition at line 138 of file DockUpdate.h.
|
protected |
Definition at line 137 of file DockUpdate.h.
|
protected |
Definition at line 139 of file DockUpdate.h.
|
protected |
Definition at line 141 of file DockUpdate.h.
|
protected |
Definition at line 140 of file DockUpdate.h.
|
protected |
FALSE until we have loaded all the docking positions.
Definition at line 144 of file DockUpdate.h.