示例#1
0
    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();
    }
示例#2
0
    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);
        }
    }
示例#3
0
 public void StartText(MoveGrade moveGrade)
 {
     startTime = Time.time;
     gameObject.SetActive(true);
     GetComponent <Text>().text = moveGrade.ToString() + "!";
 }