Abstract base class for all simCommand executors.
More...
|
| | DtSimCommandExecutor (DtSimManager *simManager) |
| |
| virtual | ~DtSimCommandExecutor () |
| |
| virtual bool | executeAndDistribute (const DtSimCommand *command, DtSimCommandContextPtr &context, const DtPlan *plan=0) |
| | Executes and then distributes the sim command by calling the execute and distribute functions in turn. More...
|
| |
| virtual bool | executeAndDistribute (const DtSimCommand *command, DtSimCommandContextPtr &context, const DtUUID &objectName, const DtPlan *plan=0) |
| | Executes and then distributes the sim command in the context of a specific entity by calling the execute and distribute functions in turn. More...
|
| |
| virtual bool | isSimCommandComplete (const DtSimCommand *command, const DtSimCommandContextPtr &context, const DtPlan *=0) const |
| | Will, by default, return true to indicate the sim command is complete. More...
|
| |
| virtual void | distribute (const DtSimCommand *command, const DtPlan *plan=0) |
| | Calls on the sim command distributor to distribute the command to registered callback functions. More...
|
| |
| virtual void | distribute (const DtSimCommand *command, const DtUUID &objectName, const DtPlan *plan=0) |
| | Calls on the sim command distributor to distribute the command to registered callback functions, providing the context of a specific entity. More...
|
| |
Abstract base class for all simCommand executors.
Every DtSimCommand should have a corresponding DtSimCommandExecutor subclass that implements the execution of that command.
- Examples
-
| DtSimCommandExecutor::DtSimCommandExecutor |
( |
DtSimManager * |
simManager | ) |
|
| virtual DtSimCommandExecutor::~DtSimCommandExecutor |
( |
| ) |
|
|
virtual |
| DtSimCommandExecutor::DtSimCommandExecutor |
( |
| ) |
|
|
private |
Executes and then distributes the sim command by calling the execute and distribute functions in turn.
- Returns
- True if the execute command was successful.
Executes and then distributes the sim command in the context of a specific entity by calling the execute and distribute functions in turn.
- Returns
- True if the execute command was successful.
Will, by default, return true to indicate the sim command is complete.
Override and provide context if you wish to delay the completion of the sim command. An example of this is when an entity wants to be created but the terrain is not paged in yet.
Reimplemented in DtCreateObjectCommandExecutor.
| virtual void DtSimCommandExecutor::distribute |
( |
const DtSimCommand * |
command, |
|
|
const DtPlan * |
plan = 0 |
|
) |
| |
|
virtual |
Calls on the sim command distributor to distribute the command to registered callback functions.
| virtual void DtSimCommandExecutor::distribute |
( |
const DtSimCommand * |
command, |
|
|
const DtUUID & |
objectName, |
|
|
const DtPlan * |
plan = 0 |
|
) |
| |
|
virtual |
Calls on the sim command distributor to distribute the command to registered callback functions, providing the context of a specific entity.
The default implementation of this is to call distribute(command), and simply throw out the objectName. This method should be reimplemented by deriving classes if the command is executed differently when in in the context of an object. The default sim command distributor does not support specific entity contexts.
Sets the static factory member.
Uses the static factory member to create a new executor of the specified type.
Perform the actual execution of the DtSimCommand.
Pure virtual function; must be overloaded by derived classes. This method executes the command in the global context. If the command should be executed differently when in the context of a specific entity (i.e. in that entity's plan), see execute() which takes an object name.
- Returns
- True if command was successfully carried out, false otherwise.
Implemented in DtSimCommandDistributionExecutor, DtCreateObjectCommandExecutor, DtDeleteObjectCommandExecutor, DtConsoleMessageCommandExecutor, DtAbandonPlanCommandExecutor, DtLaunchGlobalPlanCommandExecutor, DtNoopCommandExecutor, DtRestartPlanCommandExecutor, DtChangeHostilityCommandExecutor, DtChangeTimeOfDayCommandExecutor, DtIssuePlanCommandExecutor, MySimCommandExecutor, DtFinishTestCommandExecutor, DtScenarioEventCommandExecutor, DtSendTextMessageCommandExecutor, DtChangeCloudLayerCommandExecutor, DtChangeWeatherCommandExecutor, DtSetDataCommandExecutor, DtStealthCommandExecutor, DtTaskCommandExecutor, and DtCreateSensorFieldOfViewCommandExecutor.
Performs the actual executor of the DtSimCommand in the context of a specific entity.
The default implementation of this is to call execute(command), and simply throw out the objectName. This method should be reimplemented by deriving classes if the command is executed differently when in in the context of an object.
Reimplemented in DtConsoleMessageCommandExecutor, DtDeleteObjectCommandExecutor, MySimCommandExecutor, DtSetDataCommandExecutor, DtTaskCommandExecutor, DtFinishTestCommandExecutor, DtLaunchGlobalPlanCommandExecutor, DtStealthCommandExecutor, DtCreateSensorFieldOfViewCommandExecutor, and DtSendTextMessageCommandExecutor.
The documentation for this class was generated from the following file: