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)); }
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); }
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; } } } } }