Polyphase Game Engine
Loading...
Searching...
No Matches
Script Class Reference

#include <Script.h>

Inheritance diagram for Script:
Object

Public Member Functions

 DECLARE_OBJECT (Script, Object)
 
 Script (Node *owner)
 
virtual ~Script ()
 
NodeGetOwner ()
 
virtual void Tick (float deltaTime)
 
void AppendScriptProperties (std::vector< Property > &outProps)
 
void SetFile (const char *filename)
 
const std::string & GetFile () const
 
const std::string & GetScriptClassName () const
 
void StartScript ()
 
void RestartScript ()
 
void StopScript ()
 
bool IsActive () const
 
void SetWorld (World *world)
 
bool ReloadScriptFile (const std::string &fileName, bool restartScript=true)
 
std::vector< ScriptNetDatum > & GetReplicatedData ()
 
bool InvokeNetFunc (const char *name, uint32_t numParams, const Datum **params)
 
ScriptNetFuncFindNetFunc (const char *funcName)
 
ScriptNetFuncFindNetFunc (uint16_t index)
 
void ExecuteNetFunc (uint16_t index, uint32_t numParams, const Datum **params)
 
void BeginOverlap (Primitive3D *thisNode, Primitive3D *otherNode)
 
void EndOverlap (Primitive3D *thisNode, Primitive3D *otherNode)
 
void OnCollision (Primitive3D *thisNode, Primitive3D *otherNode, glm::vec3 impactPoint, glm::vec3 impactNormal, btPersistentManifold *manifold)
 
void OnSerialMessage (uint32_t serialHandle, const std::string &data)
 
bool HasFunction (const char *name) const
 
void CallFunction (const char *name)
 
void CallFunction (const char *name, const Datum &param0)
 
void CallFunction (const char *name, const Datum &param0, const Datum &param1)
 
void CallFunction (const char *name, const Datum &param0, const Datum &param1, const Datum &param2)
 
void CallFunction (const char *name, const Datum &param0, const Datum &param1, const Datum &param2, const Datum &param3)
 
void CallFunction (const char *name, const Datum &param0, const Datum &param1, const Datum &param2, const Datum &param3, const Datum &param4)
 
void CallFunction (const char *name, const Datum &param0, const Datum &param1, const Datum &param2, const Datum &param3, const Datum &param4, const Datum &param5)
 
void CallFunction (const char *name, const Datum &param0, const Datum &param1, const Datum &param2, const Datum &param3, const Datum &param4, const Datum &param5, const Datum &param6)
 
void CallFunction (const char *name, const Datum &param0, const Datum &param1, const Datum &param2, const Datum &param3, const Datum &param4, const Datum &param5, const Datum &param6, const Datum &param7)
 
Datum CallFunctionR (const char *name)
 
Datum CallFunctionR (const char *name, const Datum &param0)
 
Datum CallFunctionR (const char *name, const Datum &param0, const Datum &param1)
 
Datum CallFunctionR (const char *name, const Datum &param0, const Datum &param1, const Datum &param2)
 
Datum CallFunctionR (const char *name, const Datum &param0, const Datum &param1, const Datum &param2, const Datum &param3)
 
Datum CallFunctionR (const char *name, const Datum &param0, const Datum &param1, const Datum &param2, const Datum &param3, const Datum &param4)
 
Datum CallFunctionR (const char *name, const Datum &param0, const Datum &param1, const Datum &param2, const Datum &param3, const Datum &param4, const Datum &param5)
 
Datum CallFunctionR (const char *name, const Datum &param0, const Datum &param1, const Datum &param2, const Datum &param3, const Datum &param4, const Datum &param5, const Datum &param6)
 
Datum CallFunctionR (const char *name, const Datum &param0, const Datum &param1, const Datum &param2, const Datum &param3, const Datum &param4, const Datum &param5, const Datum &param6, const Datum &param7)
 
void CallFunction (const char *name, uint32_t numParams, const Datum **params, Datum *ret)
 
Datum CallFunction (const char *name, const std::vector< Datum > &params)
 
bool LuaFuncCall (int numArgs, int numResults=0)
 
Datum GetField (const char *key)
 
void SetField (const char *key, const Datum &value)
 
void GatherFunctionNames (std::vector< std::string > &outNames) const
 
void SetArrayScriptPropCount (const std::string &name, uint32_t count)
 
void UploadScriptProperties ()
 
const std::vector< Property > & GetScriptProperties () const
 
std::vector< Property > & GetScriptProperties ()
 
void SetScriptProperties (const std::vector< Property > &srcProps)
 
void AddAutoProperty (const std::string &varName, const std::string &displayName, DatumType type, const Datum &defaultValue)
 
void AddAutoPropertyArray (const std::string &varName, const std::string &displayName, DatumType type, const std::vector< Datum > &arrayValues)
 
void ClearAutoProperties ()
 
void GatherAutoProperties ()
 
- Public Member Functions inherited from Object
virtual ~Object ()=default
 
virtual const char * RuntimeName () const =0
 
virtual const char * RuntimeParentName () const =0
 
virtual RuntimeId InstanceRuntimeId () const =0
 
virtual ObjectQueryInterface (RuntimeId id) const
 
virtual bool Is (RuntimeId id) const
 
virtual bool Is (const char *name) const
 
virtual void GatherProperties (std::vector< Property > &props)
 
virtual bool DrawCustomProperty (Property &prop)
 
template<typename T >
T * As () const
 
virtual bool Equals (const Object *rhs) const
 

Static Public Member Functions

static bool OnRepHandler (Datum *datum, uint32_t index, const void *newValue)
 
- Static Public Member Functions inherited from Object
static const char * ClassRuntimeName ()
 

Protected Member Functions

void CreateScriptInstance ()
 
void DestroyScriptInstance ()
 
void GatherScriptProperties ()
 
void GatherReplicatedData ()
 
void RegisterNetFuncs ()
 
void GatherNetFuncs (std::vector< ScriptNetFunc > &outFuncs)
 
void DownloadReplicatedData ()
 
bool DownloadDatum (lua_State *L, Datum &datum, int udIdx, const char *varName)
 
void UploadDatum (Datum &datum, const char *varName)
 
void CallTick (float deltaTime)
 
bool CheckIfFunctionExists (const char *funcName)
 

Static Protected Member Functions

static bool HandleScriptPropChange (Datum *datum, uint32_t index, const void *newValue)
 
static bool HandleForeignScriptPropChange (Datum *datum, uint32_t index, const void *newValue)
 

Protected Attributes

NodemOwner = nullptr
 
std::string mFileName
 
std::string mClassName
 
std::vector< PropertymScriptProps
 
std::vector< ScriptNetDatummReplicatedData
 
std::vector< AutoPropertymAutoProperties
 
bool mActive = false
 
bool mTickEnabled = false
 
bool mHandleBeginOverlap = false
 
bool mHandleEndOverlap = false
 
bool mHandleOnCollision = false
 
bool mHandleOnSerialMessage = false
 

Static Protected Attributes

static std::unordered_map< std::string, ScriptNetFuncMapsScriptNetFuncMap
 

Constructor & Destructor Documentation

◆ Script()

Script::Script ( Node owner)

◆ ~Script()

Script::~Script ( )
virtual

Member Function Documentation

◆ AddAutoProperty()

void Script::AddAutoProperty ( const std::string &  varName,
const std::string &  displayName,
DatumType  type,
const Datum defaultValue 
)

◆ AddAutoPropertyArray()

void Script::AddAutoPropertyArray ( const std::string &  varName,
const std::string &  displayName,
DatumType  type,
const std::vector< Datum > &  arrayValues 
)

◆ AppendScriptProperties()

void Script::AppendScriptProperties ( std::vector< Property > &  outProps)

◆ BeginOverlap()

void Script::BeginOverlap ( Primitive3D thisNode,
Primitive3D otherNode 
)

◆ CallFunction() [1/11]

void Script::CallFunction ( const char *  name)

◆ CallFunction() [2/11]

void Script::CallFunction ( const char *  name,
const Datum param0 
)

◆ CallFunction() [3/11]

void Script::CallFunction ( const char *  name,
const Datum param0,
const Datum param1 
)

◆ CallFunction() [4/11]

void Script::CallFunction ( const char *  name,
const Datum param0,
const Datum param1,
const Datum param2 
)

◆ CallFunction() [5/11]

void Script::CallFunction ( const char *  name,
const Datum param0,
const Datum param1,
const Datum param2,
const Datum param3 
)

◆ CallFunction() [6/11]

void Script::CallFunction ( const char *  name,
const Datum param0,
const Datum param1,
const Datum param2,
const Datum param3,
const Datum param4 
)

◆ CallFunction() [7/11]

void Script::CallFunction ( const char *  name,
const Datum param0,
const Datum param1,
const Datum param2,
const Datum param3,
const Datum param4,
const Datum param5 
)

◆ CallFunction() [8/11]

void Script::CallFunction ( const char *  name,
const Datum param0,
const Datum param1,
const Datum param2,
const Datum param3,
const Datum param4,
const Datum param5,
const Datum param6 
)

◆ CallFunction() [9/11]

void Script::CallFunction ( const char *  name,
const Datum param0,
const Datum param1,
const Datum param2,
const Datum param3,
const Datum param4,
const Datum param5,
const Datum param6,
const Datum param7 
)

◆ CallFunction() [10/11]

Datum Script::CallFunction ( const char *  name,
const std::vector< Datum > &  params 
)

◆ CallFunction() [11/11]

void Script::CallFunction ( const char *  name,
uint32_t  numParams,
const Datum **  params,
Datum ret 
)

◆ CallFunctionR() [1/9]

Datum Script::CallFunctionR ( const char *  name)

◆ CallFunctionR() [2/9]

Datum Script::CallFunctionR ( const char *  name,
const Datum param0 
)

◆ CallFunctionR() [3/9]

Datum Script::CallFunctionR ( const char *  name,
const Datum param0,
const Datum param1 
)

◆ CallFunctionR() [4/9]

Datum Script::CallFunctionR ( const char *  name,
const Datum param0,
const Datum param1,
const Datum param2 
)

◆ CallFunctionR() [5/9]

Datum Script::CallFunctionR ( const char *  name,
const Datum param0,
const Datum param1,
const Datum param2,
const Datum param3 
)

◆ CallFunctionR() [6/9]

Datum Script::CallFunctionR ( const char *  name,
const Datum param0,
const Datum param1,
const Datum param2,
const Datum param3,
const Datum param4 
)

◆ CallFunctionR() [7/9]

Datum Script::CallFunctionR ( const char *  name,
const Datum param0,
const Datum param1,
const Datum param2,
const Datum param3,
const Datum param4,
const Datum param5 
)

◆ CallFunctionR() [8/9]

Datum Script::CallFunctionR ( const char *  name,
const Datum param0,
const Datum param1,
const Datum param2,
const Datum param3,
const Datum param4,
const Datum param5,
const Datum param6 
)

◆ CallFunctionR() [9/9]

Datum Script::CallFunctionR ( const char *  name,
const Datum param0,
const Datum param1,
const Datum param2,
const Datum param3,
const Datum param4,
const Datum param5,
const Datum param6,
const Datum param7 
)

◆ CallTick()

void Script::CallTick ( float  deltaTime)
protected

◆ CheckIfFunctionExists()

bool Script::CheckIfFunctionExists ( const char *  funcName)
protected

◆ ClearAutoProperties()

void Script::ClearAutoProperties ( )

◆ CreateScriptInstance()

void Script::CreateScriptInstance ( )
protected

◆ DECLARE_OBJECT()

Script::DECLARE_OBJECT ( Script  ,
Object   
)

◆ DestroyScriptInstance()

void Script::DestroyScriptInstance ( )
protected

◆ DownloadDatum()

bool Script::DownloadDatum ( lua_State *  L,
Datum datum,
int  udIdx,
const char *  varName 
)
protected

◆ DownloadReplicatedData()

void Script::DownloadReplicatedData ( )
protected

◆ EndOverlap()

void Script::EndOverlap ( Primitive3D thisNode,
Primitive3D otherNode 
)

◆ ExecuteNetFunc()

void Script::ExecuteNetFunc ( uint16_t  index,
uint32_t  numParams,
const Datum **  params 
)

◆ FindNetFunc() [1/2]

ScriptNetFunc * Script::FindNetFunc ( const char *  funcName)

◆ FindNetFunc() [2/2]

ScriptNetFunc * Script::FindNetFunc ( uint16_t  index)

◆ GatherAutoProperties()

void Script::GatherAutoProperties ( )

◆ GatherFunctionNames()

void Script::GatherFunctionNames ( std::vector< std::string > &  outNames) const

◆ GatherNetFuncs()

void Script::GatherNetFuncs ( std::vector< ScriptNetFunc > &  outFuncs)
protected

◆ GatherReplicatedData()

void Script::GatherReplicatedData ( )
protected

◆ GatherScriptProperties()

void Script::GatherScriptProperties ( )
protected

◆ GetField()

Datum Script::GetField ( const char *  key)

◆ GetFile()

const std::string & Script::GetFile ( ) const

◆ GetOwner()

Node * Script::GetOwner ( )

◆ GetReplicatedData()

std::vector< ScriptNetDatum > & Script::GetReplicatedData ( )

◆ GetScriptClassName()

const std::string & Script::GetScriptClassName ( ) const

◆ GetScriptProperties() [1/2]

std::vector< Property > & Script::GetScriptProperties ( )

◆ GetScriptProperties() [2/2]

const std::vector< Property > & Script::GetScriptProperties ( ) const

◆ HandleForeignScriptPropChange()

bool Script::HandleForeignScriptPropChange ( Datum datum,
uint32_t  index,
const void *  newValue 
)
staticprotected

◆ HandleScriptPropChange()

bool Script::HandleScriptPropChange ( Datum datum,
uint32_t  index,
const void *  newValue 
)
staticprotected

◆ HasFunction()

bool Script::HasFunction ( const char *  name) const

◆ InvokeNetFunc()

bool Script::InvokeNetFunc ( const char *  name,
uint32_t  numParams,
const Datum **  params 
)

◆ IsActive()

bool Script::IsActive ( ) const

◆ LuaFuncCall()

bool Script::LuaFuncCall ( int  numArgs,
int  numResults = 0 
)

◆ OnCollision()

void Script::OnCollision ( Primitive3D thisNode,
Primitive3D otherNode,
glm::vec3  impactPoint,
glm::vec3  impactNormal,
btPersistentManifold *  manifold 
)

◆ OnRepHandler()

bool Script::OnRepHandler ( Datum datum,
uint32_t  index,
const void *  newValue 
)
static

◆ OnSerialMessage()

void Script::OnSerialMessage ( uint32_t  serialHandle,
const std::string &  data 
)

◆ RegisterNetFuncs()

void Script::RegisterNetFuncs ( )
protected

◆ ReloadScriptFile()

bool Script::ReloadScriptFile ( const std::string &  fileName,
bool  restartScript = true 
)

◆ RestartScript()

void Script::RestartScript ( )

◆ SetArrayScriptPropCount()

void Script::SetArrayScriptPropCount ( const std::string &  name,
uint32_t  count 
)

◆ SetField()

void Script::SetField ( const char *  key,
const Datum value 
)

◆ SetFile()

void Script::SetFile ( const char *  filename)

◆ SetScriptProperties()

void Script::SetScriptProperties ( const std::vector< Property > &  srcProps)

◆ SetWorld()

void Script::SetWorld ( World world)

◆ StartScript()

void Script::StartScript ( )

◆ StopScript()

void Script::StopScript ( )

◆ Tick()

void Script::Tick ( float  deltaTime)
virtual

◆ UploadDatum()

void Script::UploadDatum ( Datum datum,
const char *  varName 
)
protected

◆ UploadScriptProperties()

void Script::UploadScriptProperties ( )

Member Data Documentation

◆ mActive

bool Script::mActive = false
protected

◆ mAutoProperties

std::vector<AutoProperty> Script::mAutoProperties
protected

◆ mClassName

std::string Script::mClassName
protected

◆ mFileName

std::string Script::mFileName
protected

◆ mHandleBeginOverlap

bool Script::mHandleBeginOverlap = false
protected

◆ mHandleEndOverlap

bool Script::mHandleEndOverlap = false
protected

◆ mHandleOnCollision

bool Script::mHandleOnCollision = false
protected

◆ mHandleOnSerialMessage

bool Script::mHandleOnSerialMessage = false
protected

◆ mOwner

Node* Script::mOwner = nullptr
protected

◆ mReplicatedData

std::vector<ScriptNetDatum> Script::mReplicatedData
protected

◆ mScriptProps

std::vector<Property> Script::mScriptProps
protected

◆ mTickEnabled

bool Script::mTickEnabled = false
protected

◆ sScriptNetFuncMap

std::unordered_map< std::string, ScriptNetFuncMap > Script::sScriptNetFuncMap
staticprotected

The documentation for this class was generated from the following files: