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:28
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:535
const std::vector< Property > & GetScriptProperties() const
Definition Script.cpp:525
Datum GetField(const char *key)
Definition Script.cpp:1966
void OnSerialMessage(uint32_t serialHandle, const std::string &data)
Definition Script.cpp:1655
bool mHandleOnSerialMessage
Definition Script.h:153
void GatherReplicatedData()
Definition Script.cpp:753
void EndOverlap(Primitive3D *thisNode, Primitive3D *otherNode)
Definition Script.cpp:1722
bool InvokeNetFunc(const char *name, uint32_t numParams, const Datum **params)
Definition Script.cpp:1615
bool mTickEnabled
Definition Script.h:149
void ClearAutoProperties()
Definition Script.cpp:563
void RestartScript()
Definition Script.cpp:1560
static bool OnRepHandler(Datum *datum, uint32_t index, const void *newValue)
Definition Script.cpp:1988
std::string mClassName
Definition Script.h:144
bool DownloadDatum(lua_State *L, Datum &datum, int udIdx, const char *varName)
Definition Script.cpp:1251
Node * GetOwner()
Definition Script.cpp:115
void AddAutoProperty(const std::string &varName, const std::string &displayName, DatumType type, const Datum &defaultValue)
Definition Script.cpp:540
void DownloadReplicatedData()
Definition Script.cpp:1135
void SetField(const char *key, const Datum &value)
Definition Script.cpp:1979
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:1204
std::vector< Property > mScriptProps
Definition Script.h:145
const std::string & GetFile() const
Definition Script.cpp:1542
void AddAutoPropertyArray(const std::string &varName, const std::string &displayName, DatumType type, const std::vector< Datum > &arrayValues)
Definition Script.cpp:551
void DestroyScriptInstance()
Definition Script.cpp:2171
void AppendScriptProperties(std::vector< Property > &outProps)
Definition Script.cpp:130
void GatherNetFuncs(std::vector< ScriptNetFunc > &outFuncs)
Definition Script.cpp:1050
void CallFunction(const char *name)
Definition Script.cpp:1822
bool IsActive() const
Definition Script.cpp:1571
Datum CallFunction(const char *name, const std::vector< Datum > ¶ms)
std::vector< ScriptNetDatum > & GetReplicatedData()
Definition Script.cpp:1610
void SetArrayScriptPropCount(const std::string &name, uint32_t count)
Definition Script.cpp:152
void UploadDatum(Datum &datum, const char *varName)
Definition Script.cpp:1409
virtual ~Script()
Definition Script.cpp:110
static std::unordered_map< std::string, ScriptNetFuncMap > sScriptNetFuncMap
Definition Script.h:140
virtual void Tick(float deltaTime)
Definition Script.cpp:120
bool mHandleOnCollision
Definition Script.h:152
bool LuaFuncCall(int numArgs, int numResults=0)
Definition Script.cpp:2224
void GatherFunctionNames(std::vector< std::string > &outNames) const
Definition Script.cpp:2316
bool HasFunction(const char *name) const
Definition Script.cpp:1796
static bool HandleScriptPropChange(Datum *datum, uint32_t index, const void *newValue)
Definition Script.cpp:27
void SetFile(const char *filename)
Definition Script.cpp:1537
bool ReloadScriptFile(const std::string &fileName, bool restartScript=true)
Definition Script.cpp:1590
std::string mFileName
Definition Script.h:143
void StartScript()
Definition Script.cpp:1552
void OnCollision(Primitive3D *thisNode, Primitive3D *otherNode, glm::vec3 impactPoint, glm::vec3 impactNormal, btPersistentManifold *manifold)
Definition Script.cpp:1758
ScriptNetFunc * FindNetFunc(const char *funcName)
Definition Script.cpp:1158
void StopScript()
Definition Script.cpp:1566
void RegisterNetFuncs()
Definition Script.cpp:1029
static bool HandleForeignScriptPropChange(Datum *datum, uint32_t index, const void *newValue)
Definition Script.cpp:44
void GatherScriptProperties()
Definition Script.cpp:166
void UploadScriptProperties()
Definition Script.cpp:142
void SetWorld(World *world)
Definition Script.cpp:1576
bool mActive
Definition Script.h:148
Datum CallFunctionR(const char *name)
Definition Script.cpp:1875
void CreateScriptInstance()
Definition Script.cpp:2042
void CallTick(float deltaTime)
Definition Script.cpp:2231
Node * mOwner
Definition Script.h:142
const std::string & GetScriptClassName() const
Definition Script.cpp:1547
void GatherAutoProperties()
Definition Script.cpp:568
bool CheckIfFunctionExists(const char *funcName)
Definition Script.cpp:2290
void BeginOverlap(Primitive3D *thisNode, Primitive3D *otherNode)
Definition Script.cpp:1685
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