GameLogic/CampaignSaveData.cs
using System.Collections.Generic;

/// <summary>
/// Structure principale de sauvegarde de la campagne Morituri.
/// </summary>
public sealed class CampaignSaveData
{
	public int CurrentRoundIndex { get; set; } = 0;
	public float PlayerAura { get; set; } = 20f;
	public float PlayerMaxHealth { get; set; } = 100f;
	public float PlayerMaxBalance { get; set; } = 100f;
	public int TotalFans { get; set; } = 0; // Objectif : 1 000 partisans pour conquérir Rome
	public List<RivalData> Rivals { get; set; } = new();
}

/// <summary>
/// Données d'un gladiateur rival persistant à travers les manches de la campagne.
/// </summary>
public sealed class RivalData
{
	public string Name { get; set; } = "Gladiateur Inconnu";
	public float MaxHealth { get; set; } = 100f;
	public float CurrentHealth { get; set; } = 100f;
	public float BaseBalanceRegenRate { get; set; } = 35f;
	public float Aura { get; set; } = 20f;
	public int LegionColorIndex { get; set; } = 0;
	public int RoundsSurvived { get; set; } = 0;
	public int KillsCount { get; set; } = 0;
	public bool IsDead { get; set; } = false;
}