/ GUNRPG.Application / Dtos / PlayerStateDto.cs
PlayerStateDto.cs
 1  using GUNRPG.Core.Combat;
 2  using GUNRPG.Core.Intents;
 3  using GUNRPG.Core.Operators;
 4  
 5  namespace GUNRPG.Application.Dtos;
 6  
 7  /// <summary>
 8  /// DTO representing player/operator state during combat sessions.
 9  /// This differs from OperatorStateDto which represents the operator aggregate state.
10  /// </summary>
11  public sealed class PlayerStateDto
12  {
13      public Guid Id { get; init; }
14      public string Name { get; init; } = string.Empty;
15      public float Health { get; init; }
16      public float MaxHealth { get; init; }
17      public float Stamina { get; init; }
18      public float Fatigue { get; init; }
19      public float SuppressionLevel { get; init; }
20      public bool IsSuppressed { get; init; }
21      public float DistanceToOpponent { get; init; }
22      public int CurrentAmmo { get; init; }
23      public int? MagazineSize { get; init; }
24      public AimState AimState { get; init; }
25      public MovementState MovementState { get; init; }
26      public MovementState CurrentMovement { get; init; }
27      public MovementDirection CurrentDirection { get; init; }
28      public CoverState CurrentCover { get; init; }
29      public bool IsMoving { get; init; }
30      public bool IsAlive { get; init; }
31  }