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