Class ScriptingObject
Represents object from unmanaged memory that can use accessed via scripting.
Inheritance
Assembly: FlaxEngine.dll
File: Engine/Scripting/ScriptingObject.h
Syntax
public class ScriptingObject : public Object
Constructors
~ScriptingObject()
ScriptingObject(const SpawnParams& params)
Initializes a new instance of the ScriptingObject class.
Declaration
public ScriptingObject(const SpawnParams& params)
Parameters
SpawnParams
params
The object initialization parameters. |
Fields
_gcHandle
Declaration
protected MGCHandle _gcHandle
Field Value
MGCHandle
|
_id
_type
Deleted
Event fired when object gets deleted.
Declaration
public Delegate<ScriptingObject* > Deleted
Field Value
Delegate<ScriptingObject >
|
Methods
CanCast(const MClass* from, const MClass* to)
Checks if can cast one scripting object type into another type.
Declaration
public static bool CanCast(const MClass* from, const MClass* to)
Parameters
MClass
from
The object class for the cast. |
MClass
to
The destination class to the cast. |
Returns
bool
True if can, otherwise false. |
CanCast(const ScriptingTypeHandle& from, const ScriptingTypeHandle& to)
Checks if can cast one scripting object type into another type.
Declaration
public static bool CanCast(const ScriptingTypeHandle& from, const ScriptingTypeHandle& to)
Parameters
ScriptingTypeHandle
from
The object type for the cast. |
ScriptingTypeHandle
to
The destination type to the cast. |
Returns
bool
True if can, otherwise false. |
Cast(ScriptingObject* obj)
Declaration
public static T* Cast(ScriptingObject* obj)
Parameters
ScriptingObject
obj
|
Returns
T
|
Type Parameters
typename T
|
ChangeID(const Guid& newId)
Changes the object id (both managed and unmanaged). Warning! Use with caution as object ID is what it identifies it and change might cause issues.
Declaration
public virtual void ChangeID(const Guid& newId)
Parameters
Guid
newId
The new ID. |
CreateManaged()
Declaration
public virtual bool CreateManaged()
Returns
bool
|
CreateManagedInternal()
Create a new managed object.
Declaration
protected MObject* CreateManagedInternal()
Returns
MObject
|
DestroyManaged()
Declaration
public virtual void DestroyManaged()
FromInterface(T* interfaceObj)
Declaration
public static ScriptingObject* FromInterface(T* interfaceObj)
Parameters
T
interfaceObj
|
Returns
ScriptingObject
|
Type Parameters
typename T
|
FromInterface(void* interfaceObj, const ScriptingTypeHandle& interfaceType)
Declaration
public static ScriptingObject* FromInterface(void* interfaceObj, const ScriptingTypeHandle& interfaceType)
Parameters
void
interfaceObj
|
ScriptingTypeHandle
interfaceType
|
Returns
ScriptingObject
|
GetClass()
GetID()
GetManagedInstance()
Gets the managed instance object.
Declaration
public MObject* GetManagedInstance() const
Returns
MObject
|
GetOrCreateManagedInstance()
Gets the managed instance object or creates it if missing.
Declaration
public MObject* GetOrCreateManagedInstance() const
Returns
MObject
|
GetType()
Gets the scripting type of this object.
Declaration
public ScriptingType GetType() const
Returns
ScriptingType
|
GetTypeHandle()
Gets the scripting type handle of this object.
Declaration
public ScriptingTypeHandle GetTypeHandle() const
Returns
ScriptingTypeHandle
|
HasManagedInstance()
Determines whether managed instance is alive.
Declaration
public bool HasManagedInstance() const
Returns
bool
|
Is()
Declaration
public bool Is() const
Returns
bool
|
Type Parameters
typename T
|
Is(const MClass* type)
Is(const ScriptingTypeHandle& type)
Declaration
public bool Is(const ScriptingTypeHandle& type) const
Parameters
ScriptingTypeHandle
type
|
Returns
bool
|
IsRegistered()
Determines whether this object is registered or not (can be found by the queries and used in a game).
Declaration
public bool IsRegistered() const
Returns
bool
|
NewObject()
Declaration
public static T* NewObject()
Returns
T
|
Type Parameters
typename T
|
NewObject(const ScriptingTypeHandle& typeHandle)
Declaration
public static ScriptingObject* NewObject(const ScriptingTypeHandle& typeHandle)
Parameters
ScriptingTypeHandle
typeHandle
|
Returns
ScriptingObject
|
OnDeleteObject()
Deletes the object. Called by the ObjectsRemovalService. Can be overriden to provide custom logic per object (cleanup, etc.).
Declaration
public virtual void OnDeleteObject() override
Overrides
OnManagedInstanceDeleted()
Declaration
public virtual void OnManagedInstanceDeleted()
OnScriptingDispose()
Declaration
public virtual void OnScriptingDispose()
RegisterObject()
Registers the object (cannot be called when objects has been already registered).
Declaration
public void RegisterObject()
SetManagedInstance(MObject* instance)
Declaration
public virtual void SetManagedInstance(MObject* instance)
Parameters
MObject
instance
|
ToInterface(ScriptingObject* obj)
Declaration
public static T* ToInterface(ScriptingObject* obj)
Parameters
ScriptingObject
obj
|
Returns
T
|
Type Parameters
typename T
|
ToInterface(ScriptingObject* obj, const ScriptingTypeHandle& interfaceType)
Declaration
public static void* ToInterface(ScriptingObject* obj, const ScriptingTypeHandle& interfaceType)
Parameters
ScriptingObject
obj
|
ScriptingTypeHandle
interfaceType
|
Returns
void
|
ToManaged(const ScriptingObject* obj)
Declaration
public static MObject* ToManaged(const ScriptingObject* obj)
Parameters
ScriptingObject
obj
|
Returns
MObject
|
ToNative(MObject* obj)
Declaration
public static ScriptingObject* ToNative(MObject* obj)
Parameters
MObject
obj
|
Returns
ScriptingObject
|
ToString()
Gets the string representation of this object.
Declaration
public virtual String ToString() const override
Returns
String
|
Overrides
UnregisterObject()
Unregisters the object (cannot be called when objects has not been already registered).
Declaration
public void UnregisterObject()