class ScriptComponent

Interop class between C++

& CLR for Component.

Public

Constructors

ScriptComponent

ScriptComponent(const HComponent &nativeObject)

Methods

staticGetAssemblyName

static const char *GetAssemblyName()

staticGetNamespace

static const char *GetNamespace()

staticGetTypeName

static const char *GetTypeName()

staticSetupScriptBindings

static void SetupScriptBindings()

staticCreateScriptObject

static MonoObject *CreateScriptObject(bool construct)

Dummy method to create the script object.

Not used as Component is only used as base class and not created directly.

staticInternalAddComponent

static MonoObject *InternalAddComponent(MonoObject *parentSceneObject, MonoReflectionType *type)

*********************************************************************

staticInternalGetComponent

static MonoObject *InternalGetComponent(MonoObject *parentSceneObject, MonoReflectionType *type)

staticInternalGetComponents

static MonoArray *InternalGetComponents(MonoObject *parentSceneObject)

staticInternalGetComponentsPerType

static MonoArray *InternalGetComponentsPerType(MonoObject *parentSceneObject, MonoReflectionType *type)

staticInternalRemoveComponent

static void InternalRemoveComponent(MonoObject *parentSceneObject, MonoReflectionType *type)

staticInternalGetSceneObject

static MonoObject *InternalGetSceneObject(ScriptGameObjectWrapper *self)

staticInternalGetNotifyFlags

static TransformChangedFlags InternalGetNotifyFlags(ScriptGameObjectWrapper *self)

staticInternalSetNotifyFlags

static void InternalSetNotifyFlags(ScriptGameObjectWrapper *self, TransformChangedFlags flags)

staticInternalDestroy

static void InternalDestroy(ScriptGameObjectWrapper *self, bool immediate)

ShouldPersistScriptReload

bool ShouldPersistScriptReload() const override

GetLifetimeTrackingMode

ScriptObjectLifetimeTrackingMode GetLifetimeTrackingMode() const override

GetNativeObjectAsShared

SPtr<NativeType> GetNativeObjectAsShared() const

Returns the wrapped native object as a shared pointer.

GetNativeObjectAsHandle

TGameObjectHandle<NativeType> GetNativeObjectAsHandle() const

Returns the wrapped native object as a handle.

staticCreateScriptObjectAndWrapper

static MonoObject *CreateScriptObjectAndWrapper(const HGameObject &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(const TGameObjectHandle<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.