11#include <unordered_map>
39 virtual void Tick(
float deltaTime);
43 void SetFile(
const char* filename);
44 const std::string&
GetFile()
const;
55 bool ReloadScriptFile(
const std::string& fileName,
bool restartScript =
true);
69 glm::vec3 impactPoint,
70 glm::vec3 impactNormal,
71 btPersistentManifold* manifold);
113 void AddAutoPropertyArray(
const std::string& varName,
const std::string& displayName,
DatumType type,
const std::vector<Datum>& arrayValues);
DatumType
Definition Datum.h:29
std::unordered_map< std::string, ScriptNetFunc > ScriptNetFuncMap
Definition Script.h:26
Definition Primitive3d.h:46
void SetScriptProperties(const std::vector< Property > &srcProps)
Definition Script.cpp:544
const std::vector< Property > & GetScriptProperties() const
Definition Script.cpp:534
Datum GetField(const char *key)
Definition Script.cpp:1991
void OnSerialMessage(uint32_t serialHandle, const std::string &data)
Definition Script.cpp:1680
bool mHandleOnSerialMessage
Definition Script.h:153
void GatherReplicatedData()
Definition Script.cpp:768
void EndOverlap(Primitive3D *thisNode, Primitive3D *otherNode)
Definition Script.cpp:1747
bool InvokeNetFunc(const char *name, uint32_t numParams, const Datum **params)
Definition Script.cpp:1640
bool mTickEnabled
Definition Script.h:149
void ClearAutoProperties()
Definition Script.cpp:572
void RestartScript()
Definition Script.cpp:1585
static bool OnRepHandler(Datum *datum, uint32_t index, const void *newValue)
Definition Script.cpp:2013
std::string mClassName
Definition Script.h:144
bool DownloadDatum(lua_State *L, Datum &datum, int udIdx, const char *varName)
Definition Script.cpp:1266
Node * GetOwner()
Definition Script.cpp:116
void AddAutoProperty(const std::string &varName, const std::string &displayName, DatumType type, const Datum &defaultValue)
Definition Script.cpp:549
void DownloadReplicatedData()
Definition Script.cpp:1150
void SetField(const char *key, const Datum &value)
Definition Script.cpp:2004
std::vector< ScriptNetDatum > mReplicatedData
Definition Script.h:146
std::vector< AutoProperty > mAutoProperties
Definition Script.h:147
bool mHandleBeginOverlap
Definition Script.h:150
bool mHandleEndOverlap
Definition Script.h:151
void ExecuteNetFunc(uint16_t index, uint32_t numParams, const Datum **params)
Definition Script.cpp:1219
std::vector< Property > mScriptProps
Definition Script.h:145
const std::string & GetFile() const
Definition Script.cpp:1567
void AddAutoPropertyArray(const std::string &varName, const std::string &displayName, DatumType type, const std::vector< Datum > &arrayValues)
Definition Script.cpp:560
void DestroyScriptInstance()
Definition Script.cpp:2195
void AppendScriptProperties(std::vector< Property > &outProps)
Definition Script.cpp:131
void GatherNetFuncs(std::vector< ScriptNetFunc > &outFuncs)
Definition Script.cpp:1065
void CallFunction(const char *name)
Definition Script.cpp:1847
bool IsActive() const
Definition Script.cpp:1596
Datum CallFunction(const char *name, const std::vector< Datum > ¶ms)
std::vector< ScriptNetDatum > & GetReplicatedData()
Definition Script.cpp:1635
void SetArrayScriptPropCount(const std::string &name, uint32_t count)
Definition Script.cpp:153
void UploadDatum(Datum &datum, const char *varName)
Definition Script.cpp:1433
virtual ~Script()
Definition Script.cpp:111
static std::unordered_map< std::string, ScriptNetFuncMap > sScriptNetFuncMap
Definition Script.h:140
virtual void Tick(float deltaTime)
Definition Script.cpp:121
bool mHandleOnCollision
Definition Script.h:152
bool LuaFuncCall(int numArgs, int numResults=0)
Definition Script.cpp:2248
void GatherFunctionNames(std::vector< std::string > &outNames) const
Definition Script.cpp:2340
bool HasFunction(const char *name) const
Definition Script.cpp:1821
static bool HandleScriptPropChange(Datum *datum, uint32_t index, const void *newValue)
Definition Script.cpp:28
void SetFile(const char *filename)
Definition Script.cpp:1562
bool ReloadScriptFile(const std::string &fileName, bool restartScript=true)
Definition Script.cpp:1615
std::string mFileName
Definition Script.h:143
void StartScript()
Definition Script.cpp:1577
void OnCollision(Primitive3D *thisNode, Primitive3D *otherNode, glm::vec3 impactPoint, glm::vec3 impactNormal, btPersistentManifold *manifold)
Definition Script.cpp:1783
ScriptNetFunc * FindNetFunc(const char *funcName)
Definition Script.cpp:1173
void StopScript()
Definition Script.cpp:1591
void RegisterNetFuncs()
Definition Script.cpp:1044
static bool HandleForeignScriptPropChange(Datum *datum, uint32_t index, const void *newValue)
Definition Script.cpp:45
void GatherScriptProperties()
Definition Script.cpp:167
void UploadScriptProperties()
Definition Script.cpp:143
void SetWorld(World *world)
Definition Script.cpp:1601
bool mActive
Definition Script.h:148
Datum CallFunctionR(const char *name)
Definition Script.cpp:1900
void CreateScriptInstance()
Definition Script.cpp:2067
void CallTick(float deltaTime)
Definition Script.cpp:2255
Node * mOwner
Definition Script.h:142
const std::string & GetScriptClassName() const
Definition Script.cpp:1572
void GatherAutoProperties()
Definition Script.cpp:577
bool CheckIfFunctionExists(const char *funcName)
Definition Script.cpp:2314
void BeginOverlap(Primitive3D *thisNode, Primitive3D *otherNode)
Definition Script.cpp:1710
DECLARE_OBJECT(Script, Object)
Definition SkeletalMesh.h:60
DatumType mType
Definition Script.h:20
std::vector< Datum > mArrayValues
Definition Script.h:23
bool mIsArray
Definition Script.h:22
std::string mVarName
Definition Script.h:18
Datum mDefaultValue
Definition Script.h:21
std::string mDisplayName
Definition Script.h:19