namespace Engine.Core;
/// 
/// Represents a basic entity in the engine.
/// 
public interface IEntity : IInitializable, IHasStateEnable
{
    /// 
    /// Event triggered when the  of the  changes.
    /// The string action parameter is the previous  of the . 
    /// 
    Event OnIdChanged { get; }
    /// 
    /// The ID of the .
    /// 
    string Id { get; set; }
    readonly record struct IdChangedArguments(string PreviousId);
}