private void StartNewLevel() { uiManager.UpdateWarpDriveProgress(Progress.GetPlanetsCompletedCount(), Progress.GetTotalPlanetsToComplete()); player.SetMaxFuel(currentLevel.GetMaxFuel()); player.SetGravityMultiplier(currentLevel.GetGravityMultiplier()); player.SetDeepSpace(currentLevel.IsDeepSpace()); StartLevel(); if (!levelsManager.IsOnFirstLevel() && !currentLevel.IsDeepSpace()) { player.PausePlayer(); Vector3 spawnPos = currentLevel.GetPlayerSpawnPoint().position; void OnStartAnimFinished() { ShowDialogue(); } playerLerp.DoLerp(spawnPos - (Vector3.up * 20), spawnPos, 1, OnStartAnimFinished); } else { player.PausePlayer(); ShowDialogue(); } }