示例#1
0
    //called by event
    void BeatOnHit(int trackNumber, Conductor.Rank rank)
    {
        if (rank == Conductor.Rank.PERFECT)
        {
            //update perfection
            currPerfection += 2;

            //update combo
            currCombo++;

            // Change Avatar Image
            ChangeAvatarImage(trackNumber);

            // Change Frame Color.
            frame.color = frameColors[trackNumber];
        }
        else if (rank == Conductor.Rank.GOOD)
        {
            //update perfection
            currPerfection++;

            //update combo
            currCombo++;

            // Change Avatar Image.
            ChangeAvatarImage(trackNumber);

            // Change Frame Color.
            frame.color = frameColors[trackNumber];
        }
        else           //bad or miss
        {
            //check if it is max combo
            maxCombo = Mathf.Max(maxCombo, currCombo);

            //update combo
            currCombo = 0;

            // Change avatar image.
            ChangeAvatarImage(null);

            // Change Frame Color.
            frame.color = frameFailedColor;
        }

        UpdateScoreUI();
    }
示例#2
0
    //will be informed by the Conductor after a beat is hit
    void BeatOnHit(int track, Conductor.Rank rank)
    {
        if (rank == Conductor.Rank.PERFECT)
        {
            particleSet[track].perfect.Play();
            perfectionEffect.Play();
            comboEffect.Play();
        }
        else if (rank == Conductor.Rank.GOOD)
        {
            particleSet[track].good.Play();
            comboEffect.Play();
        }
        else if (rank == Conductor.Rank.BAD)
        {
            particleSet[track].bad.Play();
        }

        //do nothing if missed
    }
示例#3
0
    private void OnInput(MusicNode node, Conductor.Rank rank)
    {
        if (node == null)
        {
            return;
        }

        switch (rank)
        {
        case Conductor.Rank.PERFECT:
            ScoreController.AddScore(ScoreController.PERFECT_SCORE);
            break;

        case Conductor.Rank.GOOD:
            ScoreController.AddScore(ScoreController.GREAT_SCORE);
            break;

        case Conductor.Rank.MISS:
            ScoreController.AddScore(-25);
            break;
        }

        Destroy(node.gameObject);
    }