class ScriptContextMenu

Interop class between C++

& CLR for GUIContextMenu.

Public

Constructors

ScriptContextMenu

ScriptContextMenu(const SPtr<GUIContextMenu> &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)

GetNativeObjectAsShared

SPtr<NativeType> GetNativeObjectAsShared() const

Returns the wrapped native object as a shared pointer.

GetNativeObjectReferenceCount

u32 GetNativeObjectReferenceCount() const override

staticCreateScriptObjectAndWrapper

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

staticGetOrCreateScriptObject

static MonoObject *GetOrCreateScriptObject(const SPtr<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

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.

Private

Methods

OnContextMenuItemTriggered

void OnContextMenuItemTriggered(u32 idx)

Triggered when an item in the context menu is clicked.

idx
Sequential index of the item that was clicked.

staticInternalCreateInstance

static void InternalCreateInstance(MonoObject *scriptObject)

staticInternalOpen

static void InternalOpen(ScriptContextMenu *self, __TVector2_TUnitValue_int32_t__PhysicalPixel__Interop *position, ScriptGUILayoutWrapperBase *layoutPtr)

staticInternalAddItem

static void InternalAddItem(ScriptContextMenu *self, MonoString *path, u32 callbackIdx, ShortcutKey *shortcut)

staticInternalAddSeparator

static void InternalAddSeparator(ScriptContextMenu *self, MonoString *path)

staticInternalSetLocalizedName

static void InternalSetLocalizedName(ScriptContextMenu *self, MonoString *label, ScriptLocString *name)