private FuuroGroup tryGetFuuroGroup(FuuroType type, IEnumerable <Tuple <int, int> > req, params Tile[] tiles) { var res = new FuuroGroup(); res.type = type; foreach (var reqItem in req) { var tmp = new List <Tile>(); tmp.AddRange(player.hand.Where(t => t.GenaralId == reqItem.Item1 && !tiles.Any(t2 => t == t2) && t.isRedDora)); tmp.AddRange(player.hand.Where(t => t.GenaralId == reqItem.Item1 && !tiles.Any(t2 => t == t2) && !t.isRedDora)); if (tmp.Count >= reqItem.Item2) { res.AddRange(tmp.Take(reqItem.Item2)); } else { return(null); } } res.AddRange(tiles); return(res); }
public FuuroGroup(FuuroType type) : base() { this.type = type; }