Ну, вы можете пройти через него просто с помощью цикла foreach:
foreach (Vector2 node in path)
{
...
}
По общему признанию, это выглядит так, как будто это будет повторяться в обратном порядке - если вы хотите повернуть его вспять, вы можете просто использовать LINQ, как это:
foreach (Vector2 node in path.Reverse())
Вы можете сделать это, потому что вы реализовали IEnumerable<T>
.Получить доступ к нему по индексу довольно сложно ... насколько я могу судить, вы не сможете сделать это особенно эффективным способом.
Опять же, вы можете использовать LINQ, чтобы подделать его- но это будет просто перебирать узлы, пока не достигнет нужного элемента:
Vector2 node = path.ElementAt(2); // Or whatever