| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- using Content.Shared.Access.Systems;
- using Content.Shared.PDA;
- using Content.Shared.Roles;
- using Content.Shared.StatusIcon;
- using Robust.Shared.GameStates;
- using Robust.Shared.Prototypes;
- namespace Content.Shared.Access.Components;
- [RegisterComponent, NetworkedComponent]
- [AutoGenerateComponentState]
- [Access(typeof(SharedIdCardSystem), typeof(SharedPdaSystem), typeof(SharedAgentIdCardSystem), Other = AccessPermissions.ReadWrite)]
- public sealed partial class IdCardComponent : Component
- {
- [DataField]
- [AutoNetworkedField]
- // FIXME Friends
- public string? FullName;
- [DataField]
- [AutoNetworkedField]
- [Access(typeof(SharedIdCardSystem), typeof(SharedPdaSystem), typeof(SharedAgentIdCardSystem), Other = AccessPermissions.ReadWrite)]
- public LocId? JobTitle;
- [DataField]
- [AutoNetworkedField]
- private string? _jobTitle;
- [Access(typeof(SharedIdCardSystem), typeof(SharedPdaSystem), typeof(SharedAgentIdCardSystem), Other = AccessPermissions.ReadWriteExecute)]
- public string? LocalizedJobTitle { set => _jobTitle = value; get => _jobTitle ?? Loc.GetString(JobTitle ?? string.Empty); }
- /// <summary>
- /// The state of the job icon rsi.
- /// </summary>
- [DataField]
- [AutoNetworkedField]
- public ProtoId<JobIconPrototype> JobIcon = "JobIconUnknown";
- /// <summary>
- /// The proto IDs of the departments associated with the job
- /// </summary>
- [DataField]
- [AutoNetworkedField]
- public List<ProtoId<DepartmentPrototype>> JobDepartments = new();
- /// <summary>
- /// Determines if accesses from this card should be logged by <see cref="AccessReaderComponent"/>
- /// </summary>
- [DataField]
- public bool BypassLogging;
- [DataField]
- public LocId NameLocId = "access-id-card-component-owner-name-job-title-text";
- [DataField]
- public LocId FullNameLocId = "access-id-card-component-owner-full-name-job-title-text";
- [DataField]
- public bool CanMicrowave = true;
- }
|