Каждый кадр, в вашем методе Update()
, вы запускаете сопрограмму UpdatePath()
.Затем в UpdatePath()
вы запускаете другую сопрограмму UpdatePath()
.Ни в коем случае вы не запускаете его, так что это гарантирует, что UpdatePath()
будет работать вечно.
Поскольку вы также продолжаете запуск нового в Update()
, это означает, что вы продолжаете накапливать все больше и больше сопрограмм, что означает, что чем больше запускается игра, тем больше UpdatePath()
вызывается в каждом кадре.
другими словами, скорость вашего объекта технически не увеличивается, это просто количество времени, которое вызывается MoveTowards()
, что имеет тот же конечный результат.
Что касаетсяисправить, я бы порекомендовал реструктурировать ваш код.Например, я нахожу весьма подозрительным, что Update()
и UpdatePath()
являются почти идентичными копиями друг друга.Я также нахожу странным, что UpdatePath()
начинается в конце своего запуска.