25 lines
		
	
	
		
			920 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			920 B
		
	
	
	
		
			C#
		
	
	
	
	
	
namespace Engine.Core;
 | 
						|
 | 
						|
/// <summary>
 | 
						|
/// Indicates the object is an <see cref="IAssignable"/> with an assignable <see cref="IUniverseObject"/> field.
 | 
						|
/// </summary>
 | 
						|
public interface IHasUniverseObject : IAssignable
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// Event triggered when the <see cref="IUniverseObject"/> value has has been assigned a new value.
 | 
						|
    /// </summary>
 | 
						|
    Event<IHasUniverseObject> OnUniverseObjectAssigned { get; }
 | 
						|
 | 
						|
    /// <inheritdoc cref="IUniverseObject" />
 | 
						|
    IUniverseObject UniverseObject { get; }
 | 
						|
 | 
						|
    /// <summary>
 | 
						|
    /// Assign a value to the <see cref="IUniverseObject"/> field of this object.
 | 
						|
    /// </summary>
 | 
						|
    /// <param name="universeObject">New <see cref="IUniverseObject"/> to assign.</param>
 | 
						|
    /// <returns> 
 | 
						|
    /// <see cref="true"/>, if the value given assigned successfully assigned, <see cref="false"/> if not.
 | 
						|
    /// </returns>
 | 
						|
    bool Assign(IUniverseObject universeObject);
 | 
						|
}
 |