public Player GetPlayerThatCanSpendToken() { var movableSticker = ReversedProgressCells .Select(c => c.GetUnblockedSticker()) .FirstOrDefault(s => s != null && CanMove(s)); if (movableSticker != null) { return(movableSticker.Owner); } var blockedSticker = ReversedProgressCells .Select(c => c.GetBlockedSticker()) .FirstOrDefault(s => s != null); if (blockedSticker != null) { return(blockedSticker.Owner); } return(null); }
public Sticker GetMoveableStickerFor(Player player) { return(ReversedProgressCells .Select(c => c.GetUnblockedStickerFor(player)) .FirstOrDefault(s => s != null && CanMove(s))); }
public Sticker GetBlockedStickerFor(Player player) { return(ReversedProgressCells .Select(c => c.GetBlockedStickerFor(player)) .FirstOrDefault(s => s != null)); }