/ GUNRPG.Application / Distributed / GameStateDto.cs
GameStateDto.cs
 1  namespace GUNRPG.Application.Distributed;
 2  
 3  /// <summary>
 4  /// Represents the full game state for hashing and deterministic verification.
 5  /// Contains all state that must be identical across distributed nodes.
 6  /// </summary>
 7  public sealed class GameStateDto
 8  {
 9      public long ActionCount { get; init; }
10      public List<OperatorSnapshot> Operators { get; init; } = new();
11  
12      /// <summary>
13      /// A snapshot of a single operator's state within the distributed game.
14      /// </summary>
15      public sealed class OperatorSnapshot
16      {
17          public Guid OperatorId { get; init; }
18          public string Name { get; init; } = string.Empty;
19          public long TotalXp { get; init; }
20          public float CurrentHealth { get; init; }
21          public float MaxHealth { get; init; }
22          public string EquippedWeaponName { get; init; } = string.Empty;
23          public List<string> UnlockedPerks { get; init; } = new();
24          public int ExfilStreak { get; init; }
25          public bool IsDead { get; init; }
26      }
27  }