ShowFactionIconsComponent.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using Content.Shared.StatusIcon;
  2. using Robust.Shared.GameStates;
  3. using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
  4. namespace Content.Shared.Overlays;
  5. /// <summary>
  6. /// This component allows you to see faction icons above mobs.
  7. /// </summary>
  8. [RegisterComponent, NetworkedComponent]
  9. public sealed partial class ShowFactionIconsComponent : Component
  10. {
  11. /// <summary>
  12. /// The faction icon to display
  13. /// </summary>
  14. [DataField("factionIcon", customTypeSerializer: typeof(PrototypeIdSerializer<FactionIconPrototype>))]
  15. public string FactionIcon = "HostileFaction";
  16. }
  17. [RegisterComponent, NetworkedComponent]
  18. public sealed partial class ShowEnglishFactionIconsComponent : Component
  19. {
  20. /// <summary>
  21. /// The faction icon to display
  22. /// </summary>
  23. [DataField("factionIcon", customTypeSerializer: typeof(PrototypeIdSerializer<FactionIconPrototype>))]
  24. public string FactionIcon = "EnglishFaction";
  25. }
  26. [RegisterComponent, NetworkedComponent]
  27. public sealed partial class ShowFrenchFactionIconsComponent : Component
  28. {
  29. /// <summary>
  30. /// The faction icon to display
  31. /// </summary>
  32. [DataField("factionIcon", customTypeSerializer: typeof(PrototypeIdSerializer<FactionIconPrototype>))]
  33. public string FactionIcon = "FrenchFaction";
  34. }
  35. [RegisterComponent, NetworkedComponent]
  36. public sealed partial class ShowGermanFactionIconsComponent : Component
  37. {
  38. /// <summary>
  39. /// The faction icon to display
  40. /// </summary>
  41. [DataField("factionIcon", customTypeSerializer: typeof(PrototypeIdSerializer<FactionIconPrototype>))]
  42. public string FactionIcon = "GermanFaction";
  43. }
  44. [RegisterComponent, NetworkedComponent]
  45. public sealed partial class ShowSovietFactionIconsComponent : Component
  46. {
  47. /// <summary>
  48. /// The faction icon to display
  49. /// </summary>
  50. [DataField("factionIcon", customTypeSerializer: typeof(PrototypeIdSerializer<FactionIconPrototype>))]
  51. public string FactionIcon = "SovietFaction";
  52. }
  53. [RegisterComponent, NetworkedComponent]
  54. public sealed partial class ShowUsFactionIconsComponent : Component
  55. {
  56. /// <summary>
  57. /// The faction icon to display
  58. /// </summary>
  59. [DataField("factionIcon", customTypeSerializer: typeof(PrototypeIdSerializer<FactionIconPrototype>))]
  60. public string FactionIcon = "UsFaction";
  61. }