20 lines
457 B
C#

namespace Engine.Core;
/// <summary>
/// Represents an entity with a name.
/// </summary>
public interface INameable
{
/// <summary>
/// Event triggered when the name of the entity changes.
/// </summary>
Event<INameable, NameChangedArguments> OnNameChanged { get; }
/// <summary>
/// The name of the entity.
/// </summary>
string Name { get; set; }
readonly record struct NameChangedArguments(string PreviousName);
}