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

33 lines
947 B
C#
Raw Normal View History

2024-07-27 14:26:45 +00:00
namespace PkmnLib.Dynamic.Models;
2024-07-28 10:52:17 +00:00
/// <summary>
/// The result of a battle.
/// </summary>
2024-07-27 14:26:45 +00:00
public record struct BattleResult
{
private BattleResult(bool conclusiveResult, byte? winningSide)
{
ConclusiveResult = conclusiveResult;
WinningSide = winningSide;
}
2025-03-02 16:19:57 +00:00
2024-07-28 10:52:17 +00:00
/// <summary>
/// An inconclusive battle result. This means no side has won.
/// </summary>
2024-07-27 14:26:45 +00:00
public static BattleResult Inconclusive => new(false, null);
2025-03-02 16:19:57 +00:00
2024-07-28 10:52:17 +00:00
/// <summary>
/// A conclusive battle result. This means one side has won.
/// </summary>
2024-07-27 14:26:45 +00:00
public static BattleResult Conclusive(byte winningSide) => new(true, winningSide);
2025-03-02 16:19:57 +00:00
2024-07-27 14:26:45 +00:00
/// <summary>
/// Whether the battle has a conclusive result. If false, no side has won.
/// </summary>
public bool ConclusiveResult { get; }
2025-03-02 16:19:57 +00:00
2024-07-27 14:26:45 +00:00
/// <summary>
/// The side that won the battle. If null, no side has won.
/// </summary>
public byte? WinningSide { get; }
}