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 }