using Content.Shared.Humanoid; using Content.Shared.Humanoid.Prototypes; using Content.Shared.Humanoid.Markings; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; using Robust.Shared.GameStates; namespace Content.Shared._Shitmed.Body.Part; [RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)] public sealed partial class BodyPartAppearanceComponent : Component { /// /// HumanoidVisualLayer type for this body part. /// [DataField, AutoNetworkedField] public HumanoidVisualLayers Type { get; set; } /// /// Relevant markings for this body part that will be applied on attachment. /// [DataField, AutoNetworkedField] public Dictionary> Markings = new(); /// /// ID of this custom base layer. Must be a . /// I don't actually know if these serializer props are necessary. I just lifted this from MS14 lol. /// [DataField(customTypeSerializer: typeof(PrototypeIdSerializer)), AutoNetworkedField] public string? ID { get; set; } /// /// Color of this custom base layer. Null implies skin colour if the corresponding is set to match skin. /// [DataField, AutoNetworkedField] public Color? Color { get; set; } /// /// Color of this custom base eye layer. Null implies eye colour if the corresponding is set to match skin. /// [DataField, AutoNetworkedField] public Color? EyeColor { get; set; } }