| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using Content.Shared.CriminalRecords.Systems;
- using Content.Shared.CriminalRecords.Components;
- using Content.Shared.CriminalRecords;
- using Content.Shared.Radio;
- using Content.Shared.StationRecords;
- using Robust.Shared.Prototypes;
- using Content.Shared.Security;
- namespace Content.Shared.CriminalRecords.Components;
- /// <summary>
- /// A component for Criminal Record Console storing an active station record key and a currently applied filter
- /// </summary>
- [RegisterComponent]
- [Access(typeof(SharedCriminalRecordsConsoleSystem))]
- public sealed partial class CriminalRecordsConsoleComponent : Component
- {
- /// <summary>
- /// Currently active station record key.
- /// There is no station parameter as the console uses the current station.
- /// </summary>
- /// <remarks>
- /// TODO: in the future this should be clientside instead of something players can fight over.
- /// Client selects a record and tells the server the key it wants records for.
- /// Server then sends a state with just the records, not the listing or filter, and the client updates just that.
- /// I don't know if it's possible to have multiple bui states right now.
- /// </remarks>
- [DataField]
- public uint? ActiveKey;
- /// <summary>
- /// Currently applied filter.
- /// </summary>
- [DataField]
- public StationRecordsFilter? Filter;
- /// <summary>
- /// Current seleced security status for the filter by criminal status dropdown.
- /// </summary>
- [DataField]
- public SecurityStatus FilterStatus;
- /// <summary>
- /// Channel to send messages to when someone's status gets changed.
- /// </summary>
- [DataField]
- public ProtoId<RadioChannelPrototype> SecurityChannel = "Common";
- /// <summary>
- /// Max length of arrest and crime history strings.
- /// </summary>
- [DataField]
- public uint MaxStringLength = 256;
- }
|