Ejemplo n.º 1
0
    private IEnumerator GameSequence()
    {
        // 스플래쉬
        m_enumGameSequence = Sequence.Splash;
        Log_GameSequence();
        yield return(WaitForRealSecond(0.5f));

        SetObjectActive(Logo_Splash_Dorage, true);
        // 스플래쉬 로고 애니메이션 끝 기다림 (애니메이션 트리거)
        yield return(StartCoroutine(m_scriptSplashLogo.SequenceCheck()));

        SetObjectActive(Logo_Splash_Dorage, false);
        yield return(WaitForRealSecond(0.5f));

        // 타이틀
        m_enumGameSequence = Sequence.Title;
        Log_GameSequence();
        SetObjectActive(Logo_Game_Title, true);
        // 음악재생
        yield return(StartCoroutine(m_scriptSoundManager.Play_BGM()));

        // 로딩시작
        yield return(StartCoroutine(m_scriptBlossomManager.LoadBranch()));

        // 벚꽃 생성
        yield return(StartCoroutine(m_scriptBlossomManager.LoadBlossoms()));

        // 꽃잎 생성
        yield return(StartCoroutine(m_scriptBlossomManager.LoadLeaves()));

        // 나뭇가지 준비
        yield return(StartCoroutine(m_scriptBlossomManager.PrepareBranch()));

        // 로딩완료
        m_scriptGameTitle.GameLoaded();
        // Fade Out Animation
        yield return(StartCoroutine(m_scriptGameTitle.SequenceCheck()));

        SetObjectActive(Logo_Game_Title, false);
        yield return(WaitForRealSecond(0.5f));

        m_scriptUIManager.ShowGUI();

        m_enumGameSequence = Sequence.Game;
        Log_GameSequence();
        while (m_enumGameSequence == Sequence.Game)
        {
            // 게임화면에 등장
            yield return(StartCoroutine(m_scriptBlossomManager.MoveBranchToScreen()));

            yield return(StartCoroutine(m_scriptCoupleManager.MoveCoupleToReady()));

            StartCoroutine(m_scriptCoupleManager.MoveCoupleToGame());
            // 나뭇가지 준비
            StartCoroutine(m_scriptBlossomManager.PrepareBranch());
            // 나뭇가지 관리
            yield return(StartCoroutine(m_scriptBlossomManager.CheckBlankBranch()));
        }
    }