FactionData.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System;
  2. using Content.Shared.Clothing.Components;
  3. using Robust.Shared.GameObjects;
  4. using Robust.Shared.GameStates;
  5. using Robust.Shared.Serialization;
  6. using Robust.Shared.Serialization.Manager.Attributes;
  7. using System.Collections.Generic; // Required for List
  8. namespace Content.Shared.Civ14.CivFactions;
  9. // Changed from Component to a DataDefinition for use in lists.
  10. [DataDefinition, Serializable, NetSerializable]
  11. public sealed partial class FactionData
  12. {
  13. /// <summary>
  14. /// The name of the faction.
  15. /// </summary>
  16. [DataField("factionName")]
  17. public string FactionName { get; set; } = "Unnamed Faction";
  18. /// <summary>
  19. /// The list of members, using the ckeys.
  20. /// </summary>
  21. [DataField("factionMembers")]
  22. public List<string> FactionMembers { get; set; } = new List<string>();
  23. /// <summary>
  24. /// The current research level of the faction.
  25. /// </summary>
  26. [DataField("factionResearch")]
  27. public float FactionResearch { get; set; } = 0f;
  28. /// <summary>
  29. /// The score of the faction.
  30. /// </summary>
  31. [DataField("factionPoints")]
  32. public int FactionPoints { get; set; } = 0;
  33. /// <summary>
  34. /// The ammount of money in the faction's treasury.
  35. /// </summary>
  36. [DataField("factionTreasury")]
  37. public float FactionTreasury { get; set; } = 0f;
  38. /// <summary>
  39. /// People registered as leaders of the faction (can invite others)
  40. /// </summary>
  41. [DataField("factionLeaders")]
  42. public List<string> FactionLeaders { get; set; } = new List<string>();
  43. }