private void Update() { if (_state == State.Gameplay && _beatMap.IsReady()) { if (_beatMap.IsDone()) { _state = State.Result; playerData.SetMusicGrade(gradeList); _audioManager.TryPlay(); _currentDialog = resultDialog; _currentDialog.ApplyCharacter(_characterData); _currentDialog.Display(playerData, _characterData); return; } BeatObject beatObject = _beatMap.RequestDrawableBeat(); if (beatObject != null) { BeatRenderer beatRenderer = Instantiate(prefabBeat).GetComponent <BeatRenderer>(); beatRenderer.SetData(beatObject, _beatMap); beatRenderer.Init(); } BeatObjectGrade grade = _beatMap.React(false); if (grade == BeatObjectGrade.Miss) { gradeList.Add(grade); badAudio.Play(); Instantiate(prefabMiss); } } }
public void SetGrade(BeatObjectGrade argGrade) { grade = argGrade; }
public void OnInteract() { Result result; switch (_state) { case State.Beginning: result = beginningDialog.Display(playerData, _characterData); if (result.isDone) { _state = State.Gameplay; _audioManager.TryPause(); StartCoroutine(StarDelay()); } break; case State.Gameplay: if (_beatMap.IsReady()) { BeatObjectGrade grade = _beatMap.React(true); gradeList.Add(grade); switch (grade) { case BeatObjectGrade.Waiting: break; case BeatObjectGrade.Excellent: Instantiate(prefabExcellent); goodAudio.Play(); break; case BeatObjectGrade.Good: Instantiate(prefabGreat); goodAudio.Play(); break; case BeatObjectGrade.Okay: Instantiate(prefabGood); goodAudio.Play(); break; case BeatObjectGrade.Miss: break; case BeatObjectGrade.Inactive: break; default: throw new ArgumentOutOfRangeException(); } } break; case State.Result: result = _currentDialog.Display(playerData, _characterData); if (result.isDone) { SceneManager.LoadScene("Art"); } break; default: throw new ArgumentOutOfRangeException(); } }