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