using Robust.Shared.Localization;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.ViewVariables;
namespace Content.Shared.Access
{
///
/// Defines a single access level that can be stored on ID cards and checked for.
///
[Prototype("accessLevel")]
public class AccessLevelPrototype : IPrototype
{
[ViewVariables]
[DataField("id", required: true)]
public string ID { get; } = default!;
///
/// The player-visible name of the access level, in the ID card console and such.
///
[DataField("name")]
public string Name
{
get => _name ?? ID;
private set => _name = Loc.GetString(value);
}
private string? _name;
}
}