OperatorStateDto.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 operator aggregate state (for UI display). 9 /// This differs from player state in combat sessions. 10 /// </summary> 11 public sealed class OperatorStateDto 12 { 13 public Guid Id { get; init; } 14 public string Name { get; init; } = string.Empty; 15 public long TotalXp { get; init; } 16 public float CurrentHealth { get; init; } 17 public float MaxHealth { get; init; } 18 public string EquippedWeaponName { get; init; } = string.Empty; 19 public List<string> UnlockedPerks { get; init; } = new(); 20 public int ExfilStreak { get; init; } 21 public bool IsDead { get; init; } 22 public OperatorMode CurrentMode { get; init; } 23 public DateTimeOffset? InfilStartTime { get; init; } 24 public Guid? InfilSessionId { get; init; } 25 public Guid? ActiveCombatSessionId { get; init; } 26 public CombatSessionDto? ActiveCombatSession { get; init; } 27 public string LockedLoadout { get; init; } = string.Empty; 28 public PetStateDto? Pet { get; init; } 29 }