Не работает поиск в глубину C#
Пишу код для ии в Unity, пытаюсь реализовать поиск в глубину.
public class PathFinder : MonoBehaviour
{
[SerializeField] public List<Node> nodes;
public Node DestanationNode;
public Node StartNode;
public List<Node> Stack;
public void Update()
{
HashSet<Node> visited = new HashSet<Node>();
Stack<Node> stack = new Stack<Node>();
stack.Push(StartNode);
while (stack.Count != 0)
{
Node current = stack.Pop();
if (!visited.Add(current))
{
continue;
}
List<Node> Neabors = new List<Node>();
for (int i = 0; i<Neabors.Count; i++)
{
if (!visited.Contains(Neabors[i]) && Neabors.Count > 0)
{
stack.Push(Neabors[i]);
}
if (visited.Contains(DestanationNode))
{
Stack = stack.ToList();
}
else
{
return;
}
}
}
}
}
Код не возвращает список Stack
, по которому должен двигаться ии.
Подскажите пожалуйста, что не так.
Источник: Stack Overflow на русском