Да, суть очереди в том что ее нельзя просмотреть, мы можете посмотреть только первый элемент, но вам и не нужно ее просматривать, вы точно знаете что элементы в очереди размещаются именно в том порядке, в каком нужно воспроизводить движение.
positions.Dequeue() извлекает первый элемент из очереди. И вы должны переместить копию вашего персонажа именно к этой точке. Опять же перемежение можно организовать в функции похожей на обычное движение вашего персонажа, за исключением что вы не можете явно им управлять, а движение будет продолжаться пока вы не достигнете нужной точки. Если нужно хранить только координаты, так как scale и rotation не меняется при игре, тогда можно хранить очередь состоящую из Vector2, сохраняя в очередь позицию по х и y из трансформа персонажа, это сэкономит память.
Akina, Там хранятся позиции платформ, когда персонаж теряет из виду нижние платформы они перемещаются вверх через определенное время. Но мне точно нужно знать какие платформы находятся ниже персонажа, а какие выше, что бы спавнить врагов выше персонажа и вне поля его видимости, для этого я сортирую список и бинарным поиском узнаю какие платформы выше персонажа. В данный момент позиции хранятся в List, все работает так как я хочу, но мне интересен момент скорости работы разных решений этого вопроса. Большое спасибо за такой быстрый ответ )
positions.Dequeue() извлекает первый элемент из очереди. И вы должны переместить копию вашего персонажа именно к этой точке. Опять же перемежение можно организовать в функции похожей на обычное движение вашего персонажа, за исключением что вы не можете явно им управлять, а движение будет продолжаться пока вы не достигнете нужной точки. Если нужно хранить только координаты, так как scale и rotation не меняется при игре, тогда можно хранить очередь состоящую из Vector2, сохраняя в очередь позицию по х и y из трансформа персонажа, это сэкономит память.
https://metanit.com/sharp/tutorial/4.7.php
https://docs.unity3d.com/ScriptReference/Transform.html