namespace Syntriax.Engine.Core.Abstract;
///
/// Represents a behaviour that any object in the game might use to interact with itself or other objects.
///
public interface IBehaviour : IEntity, IAssignableBehaviourController, IAssignableStateEnable, IInitialize
{
///
/// Event triggered when the priority of the changes.
///
event OnPriorityChangedDelegate? OnPriorityChanged;
///
/// The priority of the .
///
int Priority { get; set; }
///
/// The value indicating whether the is active.
///
bool IsActive { get; }
delegate void OnPriorityChangedDelegate(IBehaviour sender, int previousPriority);
}