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