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(); if (pinThrow.IsSink) { if (boardState.PinPicture.AllUp && boardState.ThrowMode == ThrowMode.Decrease) { res.Add(ExpenseTrigger.SinkAtAll); } 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(); } } }