Beispiel #1
0
    private IEnumerator IntroSequence()
    {
        #region Entry Point
        // Lock the player controls
        playerCamera.IsLocked = true;
        playerCamera.FadeCamera(1f, 0f);

        audioManager.PlayShipAmbience(0);

        yield return(new WaitForSeconds(2));

        yield return(audioManager.WaitForVoiceline(0));

        #endregion

        #region Introductory Voice Lines
        // Unlock player controls
        playerCamera.FadeCamera(0f, 2f);
        playerCamera.IsLocked = false;

        // Let the player f**k around in the ship for a bit
        yield return(new WaitForSeconds(5f));

        yield return(audioManager.WaitForVoiceline(1));

        #endregion

        #region First Blackout
        // Turn off lights, shake screen, disable gravity
        vesselMovement.SetSpeed(25f, 1f);
        playerCamera.ShakeCamera(5, 0.02f);
        gravityManager.DisableGravity();
        DimLights();

        audioManager.PlayShipCrash();

        yield return(new WaitForSeconds(5f));

        vesselMovement.SetSpeed(3f, 1f);
        gravityManager.EnableGravity();
        playerCamera.ShakeCamera(1f, 0.1f);

        yield return(new WaitForSeconds(0.5f));

        DisableLights();

        yield return(new WaitForSeconds(2f));

        #endregion
    }