namespace Syntriax.Engine.Core.Abstract;
///
/// Indicates the class implementing it has Assignable fields that are necessary for the engine to work properly.
///
public interface IAssignable
{
///
/// Event triggered when the 's fields are unassigned and completely ready to recycle.
///
event OnUnassignedEventHandler? OnUnassigned;
///
/// Unassign 's all fields and make it ready to recycle.
///
///
/// , if the fields are unsigned successfully, if not.
///
bool Unassign();
delegate void OnUnassignedEventHandler(IAssignable sender);
}