Не работает поиск в глубину C#

Рейтинг: 0Ответов: 0Опубликовано: 12.06.2023

Пишу код для ии в 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, по которому должен двигаться ии.
Подскажите пожалуйста, что не так.

Ответы

Ответов пока нет.