public void OnTimerMoveChange(int moveNumber) { // don't need to process stuff if leading or if on "break" move if (!leading && level.CurrentMoveNumber() != 0) { // go through previous move stuff if (!movePlayed) { success = false; moveGrade = MoveGrade.Miss; gradeText.StartText(moveGrade); } if (!success) { level.LevelLost(); musicBox.Lose(); } // set up new move stuff movePlayed = false; } nextBeatTime = timer.GetNextBeatTime(); leading = level.IsLeading(); }
public void MovePlayed(DogState move) { if (!movePlayed) // only one move per move! { movePlayed = true; if (move != level.CurrentDogState()) { moveGrade = MoveGrade.Wrong; } else { float timeDifference = Mathf.Abs(Time.time - nextBeatTime); moveGrade = MoveGrade.Perfect; while (timeDifference > thresholdTimes[(int)moveGrade]) { moveGrade++; } } if ((int)moveGrade >= (int)MoveGrade.Miss) { success = false; } gradeText.StartText(moveGrade); } }
public void StartText(MoveGrade moveGrade) { startTime = Time.time; gameObject.SetActive(true); GetComponent <Text>().text = moveGrade.ToString() + "!"; }