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); }