у каждого юнита свой список для перемещения, чтобы не было случая, когда юнита отрезали от основного пути.
Перемещение по карте перенести в код BaseUnitManager. (void nextStep())