namespace Syntriax.Engine.Core.Abstract; /// /// Indicates the object is an with an assignable field. /// public interface IHasUniverseObject : IAssignable { /// /// Event triggered when the value has has been assigned a new value. /// event UniverseObjectAssignedEventHandler? OnUniverseObjectAssigned; /// IUniverseObject UniverseObject { get; } /// /// Assign a value to the field of this object. /// /// New to assign. /// /// , if the value given assigned successfully assigned, if not. /// bool Assign(IUniverseObject universeObject); delegate void UniverseObjectAssignedEventHandler(IHasUniverseObject sender); }