// ==================== END PLAYER-IN-TRAIN GAME STATE FUNCTIONS ==================== //



    // ==================== ANIMATIONS-TRANSITIONS FUNCTIONS ==================== //

    IEnumerator TriggerPreMinigameTwoCutsceneCoroutine()
    {
        yield return(m_CinematicScript.ActivateCinematicEffectCoroutine());

        yield return(m_PreMinigameTwoCutscene.CutsceneCoroutine());

        m_CinematicScript.ShowNextButton(MoveOnToMinigameTwo);
    }
Beispiel #2
0
    IEnumerator BeginMainGameCoroutine()
    {
        yield return(DismissMissionCoroutine());

        yield return(m_CinematicScript.ActivateCinematicEffectCoroutine());

        yield return(PlayerEnterTrainCoroutine());
    }
    public IEnumerator CutsceneCoroutine()
    {
        yield return(m_CinematicScript.ActivateCinematicEffectCoroutine());

        m_AudioSource.Stop();
        m_AudioSource.PlayOneShot(m_TrainFaultTriggerClip);

        iTween.ShakePosition(m_Train, m_TrainShakePosition, m_TrainShakeDuration);
        yield return(new WaitForSeconds(m_TrainShakeDuration));

        m_MRTBackground.GetComponent <Animator> ().enabled = false;
        yield return(new WaitForSeconds(0.8f));

        m_AudioSource.PlayOneShot(m_TrainAnnoucementClip);
        yield return(new WaitForSeconds(m_TrainAnnouncementDuration));

        yield return(new WaitForSeconds(m_TimeBeforePassengersStandUp));

        m_Player.SetActive(true);
        m_SeatingPassengers.SetActive(false);
        m_StandingPassengers.SetActive(true);

        yield return(new WaitForSeconds(m_TimeBeforePassengersExit));

        for (int i = 0; i < m_StandingPassengerAnimators.Length; i++)
        {
            m_StandingPassengerAnimators [i].SetTrigger("Leave");
        }

        m_AudioSource.PlayOneShot(m_PassengerFootstepsClip);
        iTween.MoveTo(m_StandingPassengers, iTween.Hash("position", m_PassengersExitToPosition, "time", m_PassengersExitDuration, "easetype", iTween.EaseType.linear));
        yield return(new WaitForSeconds(m_PassengersExitDuration + 1f));

        m_TrainAnnouncement.SetActive(false);

        m_Bag.SetActive(false);
        m_Player.GetComponent <Animator> ().SetBool("Walking", true);
        m_AudioSource.PlayOneShot(m_PlayerFootstepsClip);
        iTween.MoveTo(m_Player, iTween.Hash("position", m_PlayerExitToPosition, "time", m_PlayerExitDuration, "easetype", iTween.EaseType.linear));
        yield return(new WaitForSeconds(m_PlayerExitDuration));

        m_Player.GetComponent <Animator> ().SetBool("Walking", false);
    }
    IEnumerator AnimateCutsceneCoroutine(bool hasPassedMinigame)
    {
        m_IsInPlay = false;

        if (hasPassedMinigame)
        {
            m_FeedbackText.text = "You got the seat!";
            m_ComboKeysBG.color = Color.green;
        }

        yield return(new WaitForSeconds(m_TimeDelayBeforeCutscene));

        iTween.FadeTo(m_CameraFadePanel, 1f, m_CameraFadeDuration);
        yield return(new WaitForSeconds(m_CameraFadeDuration + 0.5f));

        m_GamePanel.SetActive(false);

        yield return(m_CinematicScript.ActivateCinematicEffectCoroutine());

        yield return(m_CutsceneScript.CutsceneCoroutine());

        m_CinematicScript.ShowNextButton(MoveBackToMainGame);
    }