Expose Object::DeleteObjectNow as Object.DestroyNow in managed scripting
This commit is contained in:
@@ -179,6 +179,18 @@ namespace FlaxEngine
|
||||
Internal_Destroy(GetUnmanagedPtr(obj), timeLeft);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Destroys the specified object and clears the reference variable.
|
||||
/// The object obj will be destroyed immediately.
|
||||
/// If obj is a Script it will be removed from the Actor and deleted.
|
||||
/// If obj is an Actor it will be removed from the Scene and deleted as well as all its Scripts and all children of the Actor.
|
||||
/// </summary>
|
||||
/// <param name="obj">The object to destroy.</param>
|
||||
public static void DestroyNow(Object obj)
|
||||
{
|
||||
Internal_DestroyNow(GetUnmanagedPtr(obj));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Destroys the specified object and clears the reference variable.
|
||||
/// The object obj will be destroyed now or after the time specified in seconds from now.
|
||||
@@ -316,6 +328,9 @@ namespace FlaxEngine
|
||||
[LibraryImport("FlaxEngine", EntryPoint = "ObjectInternal_Destroy", StringMarshalling = StringMarshalling.Custom, StringMarshallingCustomType = typeof(Interop.StringMarshaller))]
|
||||
internal static partial void Internal_Destroy(IntPtr obj, float timeLeft);
|
||||
|
||||
[LibraryImport("FlaxEngine", EntryPoint = "ObjectInternal_DestroyNow", StringMarshalling = StringMarshalling.Custom, StringMarshallingCustomType = typeof(Interop.StringMarshaller))]
|
||||
internal static partial void Internal_DestroyNow(IntPtr obj);
|
||||
|
||||
[LibraryImport("FlaxEngine", EntryPoint = "ObjectInternal_GetTypeName", StringMarshalling = StringMarshalling.Custom, StringMarshallingCustomType = typeof(Interop.StringMarshaller))]
|
||||
internal static partial string Internal_GetTypeName(IntPtr obj);
|
||||
|
||||
|
||||
@@ -681,6 +681,12 @@ DEFINE_INTERNAL_CALL(void) ObjectInternal_Destroy(ScriptingObject* obj, float ti
|
||||
obj->DeleteObject(timeLeft, useGameTime);
|
||||
}
|
||||
|
||||
DEFINE_INTERNAL_CALL(void) ObjectInternal_DestroyNow(ScriptingObject* obj)
|
||||
{
|
||||
if (obj)
|
||||
obj->DeleteObjectNow();
|
||||
}
|
||||
|
||||
DEFINE_INTERNAL_CALL(MString*) ObjectInternal_GetTypeName(ScriptingObject* obj)
|
||||
{
|
||||
INTERNAL_CALL_CHECK_RETURN(obj, nullptr);
|
||||
@@ -777,6 +783,7 @@ public:
|
||||
ADD_INTERNAL_CALL("FlaxEngine.Object::Internal_ManagedInstanceCreated", &ObjectInternal_ManagedInstanceCreated);
|
||||
ADD_INTERNAL_CALL("FlaxEngine.Object::Internal_ManagedInstanceDeleted", &ObjectInternal_ManagedInstanceDeleted);
|
||||
ADD_INTERNAL_CALL("FlaxEngine.Object::Internal_Destroy", &ObjectInternal_Destroy);
|
||||
ADD_INTERNAL_CALL("FlaxEngine.Object::Internal_DestroyNow", &ObjectInternal_DestroyNow);
|
||||
ADD_INTERNAL_CALL("FlaxEngine.Object::Internal_GetTypeName", &ObjectInternal_GetTypeName);
|
||||
ADD_INTERNAL_CALL("FlaxEngine.Object::Internal_FindObject", &ObjectInternal_FindObject);
|
||||
ADD_INTERNAL_CALL("FlaxEngine.Object::Internal_TryFindObject", &ObjectInternal_TryFindObject);
|
||||
|
||||
Reference in New Issue
Block a user