geekbot/Geekbot.net/Lib/DiceParser/DieResult.cs

30 lines
953 B
C#
Raw Normal View History

2020-06-21 03:33:05 +02:00
using System;
namespace Geekbot.net.Lib.DiceParser
{
public class DieResult
{
// public int Result { get; set; }
public int Roll1 { get; set; }
public int Roll2 { get; set; }
public DieAdvantageType AdvantageType { get; set; }
public override string ToString()
{
return AdvantageType switch
{
DieAdvantageType.Advantage => Roll1 > Roll2 ? $"(**{Roll1}**, {Roll2})" : $"({Roll1}, **{Roll2}**)",
DieAdvantageType.Disadvantage => Roll1 < Roll2 ? $"(**{Roll1}**, {Roll2})" : $"({Roll1}, **{Roll2}**)",
_ => Result.ToString()
};
}
public int Result => AdvantageType switch
{
DieAdvantageType.None => Roll1,
DieAdvantageType.Advantage => Math.Max(Roll1, Roll2),
DieAdvantageType.Disadvantage => Math.Min(Roll1, Roll2),
_ => 0
};
}
}