Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
ICmpCommandQueue Class Referenceabstract

Command queue, for sending orders to entities. More...

#include <ICmpCommandQueue.h>

Inheritance diagram for ICmpCommandQueue:
IComponent CCmpCommandQueue

Public Member Functions

virtual void PushLocalCommand (player_id_t player, CScriptVal cmd)=0
 Pushes a new command onto the local queue. More...
 
virtual void PostNetworkCommand (CScriptVal cmd)=0
 Send a command associated with the current player to the networking system. More...
 
virtual void FlushTurn (const std::vector< SimulationCommand > &commands)=0
 Calls the ProcessCommand(player, cmd) global script function for each command in the local queue and in commands, and empties the local queue. More...
 
- Public Member Functions inherited from IComponent
virtual ~IComponent ()
 
virtual void Init (const CParamNode &paramNode)=0
 
virtual void Deinit ()=0
 
virtual void HandleMessage (const CMessage &msg, bool global)
 
CEntityHandle GetEntityHandle () const
 
void SetEntityHandle (CEntityHandle ent)
 
entity_id_t GetEntityId () const
 
CEntityHandle GetSystemEntity () const
 
const CSimContextGetSimContext () const
 
void SetSimContext (const CSimContext &context)
 
virtual void Serialize (ISerializer &serialize)=0
 
virtual void Deserialize (const CParamNode &paramNode, IDeserializer &deserialize)=0
 
virtual JSClass * GetJSClass () const
 
virtual jsval GetJSInstance () const
 

Additional Inherited Members

- Static Public Member Functions inherited from IComponent
static std::string GetSchema ()
 
static u8 GetSerializationVersion ()
 

Detailed Description

Command queue, for sending orders to entities.

Each command is associated with a player ID (who triggered the command, in some sense) and an arbitrary script value.

Commands can be added to the local queue at any time, and will all be executed at the start of the next turn. (This will typically be used by AI scripts.)

Alternatively, commands can be sent to the networking system, and they will be executed at the start of some later turn by all players simultaneously. (This will typically be used for user inputs.)

Definition at line 37 of file ICmpCommandQueue.h.

Member Function Documentation

virtual void ICmpCommandQueue::FlushTurn ( const std::vector< SimulationCommand > &  commands)
pure virtual

Calls the ProcessCommand(player, cmd) global script function for each command in the local queue and in commands, and empties the local queue.

Implemented in CCmpCommandQueue.

virtual void ICmpCommandQueue::PostNetworkCommand ( CScriptVal  cmd)
pure virtual

Send a command associated with the current player to the networking system.

Implemented in CCmpCommandQueue.

virtual void ICmpCommandQueue::PushLocalCommand ( player_id_t  player,
CScriptVal  cmd 
)
pure virtual

Pushes a new command onto the local queue.

cmd does not need to be rooted.

Implemented in CCmpCommandQueue.


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