using Content.Shared.Humanoid; using Robust.Shared.Enums; using Robust.Shared.Serialization; namespace Content.Shared._CD.Records; /// /// Contains the full records information, not just stuff that is in the database. /// [Serializable, NetSerializable] public sealed class FullCharacterRecords( PlayerProvidedCharacterRecords pRecords, uint? stationRecordsKey, string name, int age, string jobTitle, string jobIcon, string species, Gender gender, Sex sex, string? fingerprint, string? dna, EntityUid? owner = null) { [ViewVariables] public PlayerProvidedCharacterRecords PRecords = pRecords; /// /// Key for the equivalent entry in the station records /// /// Sadly, this has to be a uint because StationRecordsKey is not serializable /// [ViewVariables] public uint? StationRecordsKey = stationRecordsKey; /// /// Name tied to this record. /// [ViewVariables] public string Name = name; /// /// Age of the person that this record represents. /// [ViewVariables] public int Age = age; /// /// Job title tied to this record. /// [ViewVariables] public string JobTitle = jobTitle; /// /// Job icon tied to this record. /// [ViewVariables] public string JobIcon = jobIcon; /// /// Species tied to this record. /// [ViewVariables] public string Species = species; /// /// Gender identity tied to this record. /// [ViewVariables] public Gender Gender = gender; /// /// Sex identity tied to this record. /// [ViewVariables] public Sex Sex = sex; [ViewVariables] public string? Fingerprint = fingerprint; /// /// DNA of the person. /// [ViewVariables] // ReSharper disable once InconsistentNaming public string? DNA = dna; /// /// The entity that owns this record. Should always nonnull inside CharacterRecordsComponent. This field should not be accessed client side. /// [ViewVariables] [NonSerialized] public EntityUid? Owner = owner; }