private void ExploreNode(Node currentNode) { if (currentNode.CumulativeCost < AP) { foreach (Hex neighbor in BoardManager.GetNeighborsOfHex(currentNode.OwnedHex)) { if (neighbor != null) { if (currentNode.Source != neighbor && !neighbor.isOccupied()) { Node neighborNode = MapNodes.Find(node => node == neighbor); if (neighborNode == null) { Node NodeToAdd = GenerateNode(currentNode, neighbor); if (NodeToAdd != null) { MapNodes.Add(NodeToAdd); } } else { currentNode.Source = CompareSourceNodes(currentNode, currentNode.Source, neighborNode); neighborNode.Source = CompareSourceNodes(neighborNode, neighborNode.Source, currentNode); } } } } } }
public Node GetNodeForHex(Hex hex) { return(MapNodes.Find(node => node == hex)); }