public SearchRoad(HexEdge edge, SearchRoad parent = null) { Edge = edge; Parent = parent; }
private IEnumerable<SearchRoad> GetRoadPermutations(int player, SearchRoad parentRoad, IEnumerable<HexEdge> allPlayerRoads) { return GetRoadPermutations(player, parentRoad.Edge, allPlayerRoads, parentRoad.GetEdgesToExcludeFromPermutations()) .Select(e => new SearchRoad(e, parentRoad)); }