using Content.Shared.Access.Components; using Robust.Shared.Prototypes; namespace Content.Shared.Access; /// /// Contains a list of access tags that are part of this group. /// Used by to avoid boilerplate. /// [Prototype] public sealed partial class AccessGroupPrototype : IPrototype { [IdDataField] public string ID { get; private set; } = default!; /// /// The player-visible name of the access level group /// [DataField] public string? Name { get; set; } /// /// The access levels associated with this group /// [DataField(required: true)] public HashSet> Tags = default!; public string GetAccessGroupName() { if (Name is { } name) return Loc.GetString(name); return ID; } }