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()