feat: Added IAssignable.Unassign()
This commit is contained in:
@@ -1,6 +1,22 @@
|
||||
using System;
|
||||
|
||||
namespace Syntriax.Engine.Core.Abstract;
|
||||
|
||||
/// <summary>
|
||||
/// Indicates the class implementing it has Assignable fields that are necessary for the engine to work properly.
|
||||
/// </summary>
|
||||
public interface IAssignable { }
|
||||
public interface IAssignable
|
||||
{
|
||||
/// <summary>
|
||||
/// Callback triggered when the <see cref="IAssignable"/>'s fields are unassigned and completely ready to recycle.
|
||||
/// </summary>
|
||||
Action<IAssignable>? OnUnassigned { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Unassign <see cref="IAssignable"/>'s all fields and make it ready to recycle.
|
||||
/// </summary>
|
||||
/// <returns>
|
||||
/// <see cref="true"/>, if the fields are unsigned successfully, <see cref="false"/> if not.
|
||||
/// </returns>
|
||||
bool Unassign();
|
||||
}
|
||||
|
Reference in New Issue
Block a user