PkmnLib.NET/PkmnLib.Dynamic/Models/BattleResult.cs

33 lines
963 B
C#

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