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; }
}