Files
Delta-v/Content.Shared/_CD/Records/SharedCharacterRecordConsole.cs
T
KOTOB 0f84d5f817 Uplink Item: Records Tablet (#3556)
* records tablet initial

* implemented, reorganized, added to uplink

* oops

* remove unneeded criminalrecords component

* proper suffix

* comment cleanup

* syndie category, indent, free now

* move sprite to _dv, description update

attribution in .meta is still correct it looks

* inhandsonly -> false

* attribution fix
2025-04-25 01:58:16 +00:00

82 lines
2.1 KiB
C#

using Content.Shared.Security;
using Content.Shared.StationRecords;
using Robust.Shared.Serialization;
namespace Content.Shared._CD.Records;
[Serializable, NetSerializable]
public enum CharacterRecordConsoleKey : byte
{
Key
}
[Serializable, NetSerializable]
public enum RecordConsoleType : byte
{
Security,
Medical,
Employment,
Generic, // DeltaV - Syndicate Record Tablet
/// <summary>
/// Admin console has the functionality of all other types and has some additional admin related functionality
/// </summary>
Admin
}
[Serializable, NetSerializable]
public sealed class CharacterRecordConsoleState : BoundUserInterfaceState
{
[Serializable, NetSerializable]
public struct CharacterInfo
{
public string CharacterDisplayName;
public uint? StationRecordKey;
}
public RecordConsoleType ConsoleType { get; set; }
/// <summary>
/// Character selected in the console
/// </summary>
public uint? SelectedIndex { get; set; } = null;
/// <summary>
/// List of names+station record keys to display in the listing
/// </summary>
public Dictionary<uint, CharacterInfo>? CharacterList { get; set; }
/// <summary>
/// The contents of the selected record
/// </summary>
public FullCharacterRecords? SelectedRecord { get; set; } = null;
public StationRecordsFilter? Filter { get; set; } = null;
/// <summary>
/// Security status of the selected record
/// </summary>
public (SecurityStatus, string?)? SelectedSecurityStatus = null;
}
[Serializable, NetSerializable]
public sealed class CharacterRecordsConsoleFilterMsg : BoundUserInterfaceMessage
{
public readonly StationRecordsFilter? Filter;
public CharacterRecordsConsoleFilterMsg(StationRecordsFilter? filter)
{
Filter = filter;
}
}
[Serializable, NetSerializable]
public sealed class CharacterRecordConsoleSelectMsg : BoundUserInterfaceMessage
{
public readonly uint? CharacterRecordKey;
public CharacterRecordConsoleSelectMsg(uint? characterRecordKey)
{
CharacterRecordKey = characterRecordKey;
}
}