Tramway SDK
Public Member Functions | Protected Attributes | List of all members
tram::Scriptable< T > Class Template Reference

Provides script language subclassing. More...

#include <entities/script.h>

Inheritance diagram for tram::Scriptable< T >:

Public Member Functions

 Scriptable (const SharedEntityData &shared_data, const ValueArray &field_array, name_t type)
 
 ~Scriptable ()
 
void UpdateParameters ()
 
void SetParameters ()
 
void Load ()
 
void Unload ()
 
void Serialize ()
 
void SanitizeData (Value &data)
 
void MessageHandler (Message &msg)
 
void EventHandler (Event &evt)
 
name_t GetType ()
 

Protected Attributes

name_t type
 

Detailed Description

template<typename T>
class tram::Scriptable< T >

Provides script language subclassing.

If you want to create a sublass in C++, it's easy – just #include the class header and make subclass. But if you want to do so from a scripting language, e.g. Lua, you will need an interface on the C++ side. This template provides such an interface.

See also
https://racenis.github.io/tram-sdk/documentation/entities/script.html

Constructor & Destructor Documentation

◆ Scriptable()

template<typename T >
tram::Scriptable< T >::Scriptable ( const SharedEntityData shared_data,
const ValueArray field_array,
name_t  type 
)
inline

◆ ~Scriptable()

template<typename T >
tram::Scriptable< T >::~Scriptable ( )
inline

Member Function Documentation

◆ EventHandler()

template<typename T >
void tram::Scriptable< T >::EventHandler ( Event evt)
inline

◆ GetType()

template<typename T >
name_t tram::Scriptable< T >::GetType ( )
inline

◆ Load()

template<typename T >
void tram::Scriptable< T >::Load ( )
inline

◆ MessageHandler()

template<typename T >
void tram::Scriptable< T >::MessageHandler ( Message msg)
inline

◆ SanitizeData()

template<typename T >
void tram::Scriptable< T >::SanitizeData ( Value data)
inline

◆ Serialize()

template<typename T >
void tram::Scriptable< T >::Serialize ( )
inline

◆ SetParameters()

template<typename T >
void tram::Scriptable< T >::SetParameters ( )
inline

◆ Unload()

template<typename T >
void tram::Scriptable< T >::Unload ( )
inline

◆ UpdateParameters()

template<typename T >
void tram::Scriptable< T >::UpdateParameters ( )
inline

Member Data Documentation

◆ type

template<typename T >
name_t tram::Scriptable< T >::type
protected

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