Exemple #1
0
    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();
        }
    }