21 lines
		
	
	
		
			680 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			680 B
		
	
	
	
		
			C#
		
	
	
	
	
	
namespace Engine.Core;
 | 
						|
 | 
						|
/// <summary>
 | 
						|
/// Indicates the class implementing it has Assignable fields that are necessary for the engine to work properly.
 | 
						|
/// </summary>
 | 
						|
public interface IAssignable
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// Event triggered when the <see cref="IAssignable"/>'s fields are unassigned and completely ready to recycle.
 | 
						|
    /// </summary> 
 | 
						|
    Event<IAssignable>? OnUnassigned { get; }
 | 
						|
 | 
						|
    /// <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();
 | 
						|
}
 |