private IEnumerator ReturnPositions(float distanceToPass) { //Создаём следующую колонну playerStatus.AddPoint(); levelCreator.CreateNextColumn(distanceToPass); //Создаём иллюзию перемещения while (distanceToPass > 0) { backgroundMovement.MoveOnDistance(StepX); cloud.OnMovementStart(); //Перемещаем предметы назад foreach (GameObject gObject in GameObject.FindGameObjectsWithTag("Movable")) { //Если объект уехал далеко за карту, то удаляем его if (gObject.transform.position.x <= -8) { Destroy(gObject); } else { gObject.transform.position -= new Vector3(StepX, 0, 0); } } GameObject.FindGameObjectWithTag("Player").transform.position -= new Vector3(StepX, 0, 0); distanceToPass -= StepX; yield return(null); } OnAnimationsFinish(); yield return(null); }