Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
|
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 (const 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 | |
Public Types inherited from IComponent | |
using | AllocFunc = IComponent *(*)(const ScriptInterface &scriptInterface, JS::HandleValue ctor) |
using | DeallocFunc = void(*)(IComponent *) |
Static Public Member Functions inherited from IComponent | |
static std::string | GetSchema () |
static void | RegisterComponentType (CComponentManager &mgr, EInterfaceId iid, EComponentTypeId cid, AllocFunc alloc, DeallocFunc dealloc, const char *name, const std::string &schema) |
static void | RegisterComponentTypeScriptWrapper (CComponentManager &mgr, EInterfaceId iid, EComponentTypeId cid, AllocFunc alloc, DeallocFunc dealloc, const char *name, const std::string &schema) |
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.