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