IEnumerator FixerToNextLevel(LevelSO level)
        {
            BackToCutscene();
            yield return(wait1Second);

            spawner.SpawnLevel(level);
            enemiesSpawned = level.numberOfEnemies;
            onEnemiesCountChanged.Invoke(enemiesSpawned);
            fixer.Stand();
            yield return(wait1Second);

            Vector3 fixingPosition     = level.arcadeMachine.GetFixingPosition();
            Vector3 fixerStartPosition = fixer.transform.position;

            float step = (fixer.speed / (fixerStartPosition - fixingPosition).magnitude) * Time.fixedDeltaTime;
            float t    = 0;

            while (t <= 1.0f)
            {
                t += step;                                                                      // Goes from 0 to 1, incrementing by step each time
                fixer.transform.position = Vector3.Lerp(fixerStartPosition, fixingPosition, t); // Move objectToMove closer to b
                yield return(new WaitForFixedUpdate());                                         // Leave the routine and return here in the next frame
            }
            fixer.transform.position = fixingPosition;
            fixer.Fixing();
            yield return(wait1Second);

            ToPlayMode();
            //yield return new WaitForSeconds(5f);
            //ToNextLevel();
        }