class TScriptValueTypeWrapper

template<typename NativeType, typename SelfType, typename BaseType = ScriptObjectWrapper>

Extends TScriptObjectWrapper by providing functionality required for types passed as values.

Public

Constructors

TScriptValueTypeWrapper<NativeType, SelfType, BaseType>

TScriptValueTypeWrapper<NativeType, SelfType, BaseType>(const NativeType &nativeObject)

Methods

GetNativeObject

NativeType &GetNativeObject()

GetLifetimeTrackingMode

virtual ScriptObjectLifetimeTrackingMode GetLifetimeTrackingMode() const

staticCreateScriptObjectAndWrapper

static MonoObject *CreateScriptObjectAndWrapper(const NativeType &nativeObject)

Creates a new script object and a script object wrapper of , and associates them with the provided native object.

Should not be called if already has an associated script object.

~TScriptObjectWrapper<SelfType, BaseType>

virtual ~TScriptObjectWrapper<SelfType, BaseType>() = default

RecreateScriptObjectAfterScriptReload

void RecreateScriptObjectAfterScriptReload() override

staticGetScriptObjectWrapper

static SelfType *GetScriptObjectWrapper(MonoObject *scriptObject)

Returns the script object wrapper associated with the provided script object.

staticGetMetaData

static const ScriptTypeMetaData *GetMetaData()

Returns the meta-data storing information about the script type.

staticInitializeMetaDataAtLoadTime

static void InitializeMetaDataAtLoadTime()

Takes care of initializing the meta-data when the application first load.

The meta-data will be registered with a global manager that will ensure it is kept up-to-date after operations such as assembly (re)load.

Protected

Methods

BindToScriptObject

void BindToScriptObject(MonoObject *scriptObject) override

Stores a pointer to itself in the script object.

This ensures that calls to GetScriptObjectWrapper() can return the script object wrapper associated with the script object.

Fields

mNativeObject

NativeType mNativeObject