Pyrogenesis
trunk
|
Command queue, for sending orders to entities. More...
#include <ICmpCommandQueue.h>
Public Member Functions | |
virtual void | PushLocalCommand (player_id_t player, JS::HandleValue cmd)=0 |
Pushes a new command onto the local queue. More... | |
virtual void | PostNetworkCommand (JS::HandleValue 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 ¶mNode)=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 CSimContext & | GetSimContext () const |
void | SetSimContext (const CSimContext &context) |
virtual void | Serialize (ISerializer &serialize)=0 |
virtual void | Deserialize (const CParamNode ¶mNode, IDeserializer &deserialize)=0 |
virtual bool | NewJSObject (ScriptInterface &scriptInterface, JS::MutableHandleObject out) const |
Returns false by default, indicating that a scripted wrapper of this IComponent is not supported. More... | |
virtual JS::Value | GetJSInstance () const |
virtual int | GetComponentTypeId () const =0 |
Additional Inherited Members | |
Static Public Member Functions inherited from IComponent | |
static std::string | GetSchema () |
static u8 | GetSerializationVersion () |
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.)
|
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.
|
pure virtual |
Send a command associated with the current player to the networking system.
Implemented in CCmpCommandQueue.
|
pure virtual |
Pushes a new command onto the local queue.
cmd
does not need to be rooted.
Implemented in CCmpCommandQueue.