using Content.Shared.PsionicsRecords.Systems; using Content.Shared.Radio; using Content.Shared.StationRecords; using Robust.Shared.Prototypes; /// /// EVERYTHING HERE IS A MODIFIED VERSION OF CRIMINAL RECORDS /// namespace Content.Shared.PsionicsRecords.Components; /// /// A component for Psionics Records Console storing an active station record key and a currently applied filter /// [RegisterComponent] [Access(typeof(SharedPsionicsRecordsConsoleSystem))] public sealed partial class PsionicsRecordsConsoleComponent : Component { /// /// Currently active station record key. /// There is no station parameter as the console uses the current station. /// /// /// 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. /// [DataField] public uint? ActiveKey; /// /// Currently applied filter. /// [DataField] public StationRecordsFilter? Filter; /// /// Channel to send messages to when someone's status gets changed. /// [DataField] public ProtoId RadioChannel = "Science"; /// /// Max length of psionics listing strings. /// [DataField] public uint MaxStringLength = 256; }