using System.Collections.Generic; using KernelPanic.Core; namespace KernelPanic.Combat { /// /// Stores mutable combat stats and statuses for a player or enemy. /// public sealed class CombatantState { private readonly Dictionary activeStatuses = new(); public CombatantState(int maxUptime, int ram, int cycles) { MaxUptime = maxUptime; CurrentUptime = maxUptime; Ram = ram; Cycles = cycles; } public int CurrentUptime { get; set; } public int MaxUptime { get; set; } public int Shield { get; set; } public int Ram { get; set; } public int Cycles { get; set; } public IReadOnlyDictionary ActiveStatuses => activeStatuses; } }