using Content.Shared.Access.Components; using Content.Shared.Containers.ItemSlots; using Robust.Shared.GameObjects; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.Manager.Attributes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; using Robust.Shared.ViewVariables; namespace Content.Shared.PDA { [RegisterComponent] public class PDAComponent : Component { public override string Name => "PDA"; [DataField("idSlot")] public ItemSlot IdSlot = new(); [DataField("penSlot")] public ItemSlot PenSlot = new(); // Really this should just be using ItemSlot.StartingItem. However, seeing as we have so many different starting // PDA's and no nice way to inherit the other fields from the ItemSlot data definition, this makes the yaml much // nicer to read. [DataField("id", customTypeSerializer: typeof(PrototypeIdSerializer))] public string? IdCard; [ViewVariables] public IdCardComponent? ContainedID; [ViewVariables] public bool FlashlightOn; [ViewVariables] public string? OwnerName; } }