KoogleV4/GameHandler/Extensions/PinThrowExtension.cs

48 lines
1.3 KiB
C#

using GameModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace GameHandler.Extensions
{
public static class PinThrowExtension
{
public static ExpenseTrigger[] GetExpenseTriggers(this PinThrow pinThrow, BoardState boardState)
{
var res = new List<ExpenseTrigger>();
if (pinThrow.IsSink)
{
if (boardState.PinPicture.AllUp && boardState.ThrowMode == ThrowMode.Decrease)
{
res.Add(ExpenseTrigger.FullSink);
}
else
{
res.Add(ExpenseTrigger.Sink);
}
}
if (pinThrow.IsNoWood)
{
res.Add(ExpenseTrigger.NoWood);
}
if (pinThrow.IsBell)
{
res.Add(ExpenseTrigger.Bell);
}
if (pinThrow.IsCircle)
{
res.Add(ExpenseTrigger.Circle);
}
if (pinThrow.IsNinePins)
{
res.Add(ExpenseTrigger.NinePins);
}
return res.ToArray();
}
}
}