1
0

SharedHumanoidMarkingModifierSystem.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using Content.Shared.Humanoid.Markings;
  2. using Robust.Shared.Serialization;
  3. namespace Content.Shared.Humanoid;
  4. [Serializable, NetSerializable]
  5. public enum HumanoidMarkingModifierKey
  6. {
  7. Key
  8. }
  9. [Serializable, NetSerializable]
  10. public sealed class HumanoidMarkingModifierMarkingSetMessage : BoundUserInterfaceMessage
  11. {
  12. public MarkingSet MarkingSet { get; }
  13. public bool ResendState { get; }
  14. public HumanoidMarkingModifierMarkingSetMessage(MarkingSet set, bool resendState)
  15. {
  16. MarkingSet = set;
  17. ResendState = resendState;
  18. }
  19. }
  20. [Serializable, NetSerializable]
  21. public sealed class HumanoidMarkingModifierBaseLayersSetMessage : BoundUserInterfaceMessage
  22. {
  23. public HumanoidMarkingModifierBaseLayersSetMessage(HumanoidVisualLayers layer, CustomBaseLayerInfo? info, bool resendState)
  24. {
  25. Layer = layer;
  26. Info = info;
  27. ResendState = resendState;
  28. }
  29. public HumanoidVisualLayers Layer { get; }
  30. public CustomBaseLayerInfo? Info { get; }
  31. public bool ResendState { get; }
  32. }
  33. [Serializable, NetSerializable]
  34. public sealed class HumanoidMarkingModifierState : BoundUserInterfaceState
  35. {
  36. // TODO just use the component state, remove the BUI state altogether.
  37. public HumanoidMarkingModifierState(
  38. MarkingSet markingSet,
  39. string species,
  40. Sex sex,
  41. Color skinColor,
  42. Dictionary<HumanoidVisualLayers, CustomBaseLayerInfo> customBaseLayers
  43. )
  44. {
  45. MarkingSet = markingSet;
  46. Species = species;
  47. Sex = sex;
  48. SkinColor = skinColor;
  49. CustomBaseLayers = customBaseLayers;
  50. }
  51. public MarkingSet MarkingSet { get; }
  52. public string Species { get; }
  53. public Sex Sex { get; }
  54. public Color SkinColor { get; }
  55. public Color EyeColor { get; }
  56. public Color? HairColor { get; }
  57. public Color? FacialHairColor { get; }
  58. public Dictionary<HumanoidVisualLayers, CustomBaseLayerInfo> CustomBaseLayers { get; }
  59. }