public LinkedList <AStarPathNode> Search(SettlersEngine.Point startPoint, SettlersEngine.Point endPoint) { if (currentSolver == null) { return(null); } else { return(currentSolver.Search(startPoint, endPoint, null)); } }
private IEnumerable <LinkedList <AStarSolver <GameField> .PathNode> > HandleListOfConnectedPoints(List <Point> pointList) { var returnList = new List <LinkedList <AStarSolver <GameField> .PathNode> >(); var amount = 0; foreach (var begin in pointList) { amount++; if (amount == pointList.Count / 2 + 1) { return(returnList); } foreach (var end in pointList) { if (begin == end) { continue; } var list = _astarSolver.Search(end, begin); if (list != null) { returnList.Add(list); } } } return(returnList); }
private List <LinkedList <AStarSolver <GameField> .PathNode> > handleListOfConnectedPoints(List <Point> pointList) { List <LinkedList <AStarSolver <GameField> .PathNode> > returnList = new List <LinkedList <AStarSolver <GameField> .PathNode> >(); int amount = 0; foreach (Point begin in pointList) { amount++; if (amount == pointList.Count / 2 + 1) { return(returnList); } foreach (Point end in pointList) { if (begin == end) { continue; } LinkedList <AStarSolver <GameField> .PathNode> list = astarSolver.Search(end, begin); if (list != null) { returnList.Add(list); } } } return(returnList); }
private IEnumerable <LinkedList <AStarSolver <GameField> .XPathNode> > HandleListOfConnectedPoints(List <Point> pointList, GametileUpdate update) { List <LinkedList <AStarSolver <GameField> .XPathNode> > list = new List <LinkedList <AStarSolver <GameField> .XPathNode> >(); int num = 0; foreach (Point current in pointList) { num++; if (num == pointList.Count / 2 + 1) { return(list); } list.AddRange( pointList.Where(current2 => !(current == current2)) .Select(current2 => _astarSolver.Search(current2, current)) .Where(linkedList => linkedList != null)); } return(list); }
private List <LinkedList <AStarSolver <GameField> .PathNode> > handleListOfConnectedPoints(List <Point> pointList) { var returnList = new List <LinkedList <AStarSolver <GameField> .PathNode> >(); var amount = 0; foreach (var begin in pointList) { amount++; if (amount == pointList.Count / 2 + 1) { return(returnList); } returnList.AddRange(pointList.Where(end => begin != end).Select(end => astarSolver.Search(end, begin)).Where(list => list != null)); } return(returnList); }