コード例 #1
0
    public void CreateWords(SentenceObj sentenceObj, int sentenceIndex)
    {
        Dictionary <string, RhythmTap> tapDic = new Dictionary <string, RhythmTap>();
        float checkDuration = 0.001f * (sentenceObj.m_InOutTime.EndTime - sentenceObj.m_InOutTime.StartTime + 30);

        EffectInOutTiming inOut = sentenceObj.m_InOutTime.InOut;

        foreach (ClickObj co in sentenceObj.ClickAndHOList.ClickObjs)
        {
            if (!tapDic.ContainsKey(co.m_Word))
            {
                RhythmTap tap = CreateWord(m_Manager, co, inOut, sentenceIndex);
                tapDic.Add(co.m_Word, tap);
                if (co.m_ClickTimes > 1)
                {
                    tap.SetTicWord();
                }
            }
            else
            {
                tapDic[co.m_Word].SetTicWord();
            }
        }
        m_TapDic = tapDic;

        //	LogManager.Log(" 1 计划时间 " , (Time.time + preShowDuration).ToString());
        StaticMonoBehaviour.Instance.StartCoroutine(SentenceLogicStream(checkDuration, tapDic, inOut));
    }
コード例 #2
0
    public RhythmTap CreateWord(CorePlayManager manager, ClickObj clickWord, EffectInOutTiming inOut = EffectInOutTiming.Default, int sentenceIndex = 0)
    {
        RhythmTap tap = new RhythmTap();

        tap.Start(manager, clickWord, inOut, sentenceIndex);
        return(tap);
    }
コード例 #3
0
    private void Update()
    {
        if (Pause == false)
        {
            if (m_Status == TutorialStatus.ErJi)
            {
                m_Status = TutorialStatus.Nothing;
                m_Erji.SetActive(true);
                AudioObject audioObj = null;
                if (LanguageManager.languageType == LanguageType.Chinese)
                {
                    audioObj = AudioController.Play("Recording_erji");
                }
                else
                {
                    audioObj = AudioController.Play("en_Recording1");
                }
                audioObj.completelyPlayedDelegate = EndErji;
            }

            else if (m_Status == TutorialStatus.StartPlayMusic)
            {
                m_Status = TutorialStatus.Nothing;
                ClickObj co = null;
                if (LanguageManager.languageType == LanguageType.Chinese)
                {
                    co = new ClickObj("Hello", new Vector2(256, 192), "Hello");
                }
                else
                {
                    co = new ClickObj("你好", new Vector2(256, 192), "你好");
                }

                obj_hand.SetActive(false);
                m_Tap            = CorePlayManager.Instance.m_TapCreator.CreateWord(null, co);
                m_Tap.IsTutorial = true;
                m_Tap.TutNum(1);
                m_TapController = m_Tap.contrller;
                m_Zhuyi.SetActive(true);
                AudioObject audioObj = null;
                if (LanguageManager.languageType == LanguageType.Chinese)
                {
                    audioObj = AudioController.Play("Recording_1");
                }
                else
                {
                    audioObj = AudioController.Play("en_Recording2");
                }
                audioObj.completelyPlayedDelegate = ChangeStatusToPlayBatchKey;
            }
            else if (m_Status == TutorialStatus.PlayBatchKey)
            {
                BPM          = 60;
                m_Beat       = 60000f / BPM;
                m_Status     = TutorialStatus.ClickBatchKey;
                m_PlayStatus = Status.Sound;
                RhyTapHight();
            }
            else if (m_Status == TutorialStatus.RetryPlayBatchKey)
            {
                BPM          = 60;
                m_Beat       = 60000f / BPM;
                m_Status     = TutorialStatus.ClickBatchKey;
                m_PlayStatus = Status.Sound;
                m_Zhuyi.SetActive(true);

                AudioObject audioObj = null;
                if (LanguageManager.languageType == LanguageType.Chinese)
                {
                    audioObj = AudioController.Play("Recording_6");
                }
                else
                {
                    audioObj = AudioController.Play("en_Recording2");
                }
                audioObj.completelyPlayedDelegate = RepetClick;
            }
            else if (m_Status == TutorialStatus.StartSound)
            {
                m_Status = TutorialStatus.Nothing;
                AudioObject audioObj = null;
                if (LanguageManager.languageType == LanguageType.Chinese)
                {
                    audioObj = AudioController.Play("Recording_2");
                }
                else
                {
                    audioObj = AudioController.Play("en_Recording5");
                }
                audioObj.completelyPlayedDelegate = StartPlaySound;
            }
            else if (m_Status == TutorialStatus.PlaySound)
            {
                RepetNum += 1;
                m_Status  = TutorialStatus.Nothing;
                FlyWord();
            }
            else if (m_Status == TutorialStatus.RetryPlaySound)
            {
                RepetNum += 1;
                m_Status  = TutorialStatus.Nothing;
                List <string> wordList = new List <string>();

                if (LanguageManager.languageType == LanguageType.Chinese)
                {
                    wordList.Add("Recording_7");
                }
                else
                {
                    wordList.Add("en_Recording6");
                }

                var audioObj = AudioController.PlayList(wordList);
                audioObj.completelyPlayedDelegate = FlyWord;
            }
            else if (m_Status == TutorialStatus.CheckSound)
            {
                m_Timer += Time.deltaTime * 1000f;
                if (m_Timer >= 5000f)
                {
                    if (RepetNum < 2)
                    {
                        XunFeiSRManager.Instance.StopListen();
                        MicManager.Instance.StopRecord();
                        m_Status = TutorialStatus.RetryPlaySound;
                    }
                    else
                    {
                        m_Status = TutorialStatus.Nothing;
                        XunFeiSRManager.Instance.StopListen();
                        MicManager.Instance.StopRecord();
                        AudioObject audioObj = null;
                        if (LanguageManager.languageType == LanguageType.Chinese)
                        {
                            audioObj = AudioController.Play("Recording_5");
                        }
                        else
                        {
                            audioObj = AudioController.Play("en_Recording3");
                        }
                        AnalysisManager.Instance.OnEvent("100005", null, "新手", "完成新手");
                        audioObj.completelyPlayedDelegate = Skip;
                    }
                }
            }
        }
    }