class TScriptGUIElementWrapper

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

Extends TScriptObjectWrapper by providing functionality required for types deriving from GUIElement passed along as a pointer.

Public

Constructors

TScriptGUIElementWrapper<NativeType, SelfType, BaseType>

TScriptGUIElementWrapper<NativeType, SelfType, BaseType>(NativeType *nativeObject)

Methods

staticCreateScriptObjectAndWrapper

static MonoObject *CreateScriptObjectAndWrapper(GUIElement *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.

staticGetScriptExportable

static IScriptExportable *GetScriptExportable(IReflectable *nativeObject)

Casts the reflectable object to script exportable.

staticGetOrCreateScriptObject

static MonoObject *GetOrCreateScriptObject(NativeType *nativeObject)

Attempts to retrieve an existing associated script object from the provided native object.

If one doesn't exist, a new script object and the associated script wrapper will be created.

~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

staticInitializeAdditionalMetaData

static void InitializeAdditionalMetaData(ScriptTypeMetaData &metaData)

Initialize RTTI type ID and callback used to create the script object/script object wrapper.

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.