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 }