18 #ifndef INCLUDED_SCRIPTCOMPONENT 19 #define INCLUDED_SCRIPTCOMPONENT 45 template<
typename R,
typename... Ts>
46 R Call(
const char* funcname,
const Ts&... params)
const 51 LOGERROR(
"Error calling component script function %s", funcname);
56 template<
typename R,
typename... Ts>
57 void CallRef(
const char* funcname,
R ret,
const Ts&... params)
const 60 LOGERROR(
"Error calling component script function %s", funcname);
63 template<
typename... Ts>
64 void CallVoid(
const char* funcname,
const Ts&... params)
const 67 LOGERROR(
"Error calling component script function %s", funcname);
78 #endif // INCLUDED_SCRIPTCOMPONENT An entity initialisation parameter node.
Definition: ParamNode.h:148
NONCOPYABLE(CComponentTypeScript)
#define LOGERROR(...)
Definition: CLogger.h:36
JS::PersistentRootedValue m_Instance
Definition: ScriptComponent.h:72
CComponentTypeScript(ScriptInterface &scriptInterface, JS::HandleValue instance)
Definition: ScriptComponent.cpp:25
bool CallFunction(JS::HandleValue val, const char *name, R &ret, const Ts &...params) const
Definition: NativeWrapperDefns.h:183
Serialization interface; see serialization overview.
Definition: ISerializer.h:120
bool m_HasCustomSerialize
Definition: ScriptComponent.h:73
void CallRef(const char *funcname, R ret, const Ts &...params) const
Definition: ScriptComponent.h:57
Contains pointers to various 'global' objects that are needed by the simulation code, to allow easy access without using real (evil) global variables.
Definition: SimContext.h:32
bool CallFunctionVoid(JS::HandleValue val, const char *name, const Ts &...params) const
Definition: NativeWrapperDefns.h:222
void Serialize(ISerializer &serialize)
Definition: ScriptComponent.cpp:69
void Deinit()
Definition: ScriptComponent.cpp:51
void Deserialize(const CParamNode ¶mNode, IDeserializer &deserialize, entity_id_t ent)
Definition: ScriptComponent.cpp:93
Definition: ScriptComponent.h:30
R Call(const char *funcname, const Ts &...params) const
Definition: ScriptComponent.h:46
Config::Value_type Value
Definition: json_spirit_value.h:181
JS::Value GetInstance() const
Definition: ScriptComponent.h:36
bool m_HasCustomDeserialize
Definition: ScriptComponent.h:74
void CallVoid(const char *funcname, const Ts &...params) const
Definition: ScriptComponent.h:64
bool m_HasNullSerialize
Definition: ScriptComponent.h:75
ScriptInterface & m_ScriptInterface
Definition: ScriptComponent.h:71
Abstraction around a SpiderMonkey JSContext.
Definition: ScriptInterface.h:71
u32 entity_id_t
Entity ID type.
Definition: Entity.h:23
void HandleMessage(const CMessage &msg, bool global)
Definition: ScriptComponent.cpp:56
void Init(const CParamNode ¶mNode, entity_id_t ent)
Definition: ScriptComponent.cpp:44
Deserialization interface; see serialization overview.
Definition: IDeserializer.h:34