using System;
using Content.Shared.Clothing.Components;
using Robust.Shared.GameObjects;
using Robust.Shared.GameStates;
using Robust.Shared.Serialization;
using Robust.Shared.Serialization.Manager.Attributes;
using System.Collections.Generic; // Required for List
namespace Content.Shared.Civ14.CivFactions;
// Changed from Component to a DataDefinition for use in lists.
[DataDefinition, Serializable, NetSerializable]
public sealed partial class FactionData
{
///
/// The name of the faction.
///
[DataField("factionName")]
public string FactionName { get; set; } = "Unnamed Faction";
///
/// The list of members, using the ckeys.
///
[DataField("factionMembers")]
public List FactionMembers { get; set; } = new List();
///
/// The current research level of the faction.
///
[DataField("factionResearch")]
public float FactionResearch { get; set; } = 0f;
///
/// The score of the faction.
///
[DataField("factionPoints")]
public int FactionPoints { get; set; } = 0;
///
/// The ammount of money in the faction's treasury.
///
[DataField("factionTreasury")]
public float FactionTreasury { get; set; } = 0f;
///
/// People registered as leaders of the faction (can invite others)
///
[DataField("factionLeaders")]
public List FactionLeaders { get; set; } = new List();
}