namespace PkmnLib.Dynamic.Models; /// /// The result of a battle. /// public record struct BattleResult { private BattleResult(bool conclusiveResult, byte? winningSide) { ConclusiveResult = conclusiveResult; WinningSide = winningSide; } /// /// An inconclusive battle result. This means no side has won. /// public static BattleResult Inconclusive => new(false, null); /// /// A conclusive battle result. This means one side has won. /// public static BattleResult Conclusive(byte winningSide) => new(true, winningSide); /// /// Whether the battle has a conclusive result. If false, no side has won. /// public bool ConclusiveResult { get; } /// /// The side that won the battle. If null, no side has won. /// public byte? WinningSide { get; } }