Exemplo n.º 1
0
    private void CheckPerfectlySungNote(Sentence sentence, RecordedNote lastRecordedNote)
    {
        if (sentence == null || lastRecordedNote == null)
        {
            return;
        }
        Note perfectlySungNote = sentence.Notes.Where(note =>
                                                      note.MidiNote == lastRecordedNote.RoundedMidiNote &&
                                                      note.StartBeat >= lastRecordedNote.StartBeat &&
                                                      note.EndBeat <= lastRecordedNote.EndBeat).FirstOrDefault();

        if (perfectlySungNote != null)
        {
            playerUiController.CreatePerfectNoteEffect(perfectlySungNote);
        }
    }
Exemplo n.º 2
0
    private void CheckPerfectlySungNote(RecordedNote lastRecordedNote)
    {
        if (lastRecordedNote == null || lastRecordedNote.TargetNote == null)
        {
            return;
        }

        Note targetNote               = lastRecordedNote.TargetNote;
        int  targetMidiNoteRelative   = MidiUtils.GetRelativePitch(targetNote.MidiNote);
        int  recordedMidiNoteRelative = MidiUtils.GetRelativePitch(lastRecordedNote.RoundedMidiNote);
        bool isPerfect = ((targetMidiNoteRelative == recordedMidiNoteRelative) &&
                          (targetNote.StartBeat >= lastRecordedNote.StartBeat) &&
                          (targetNote.EndBeat <= lastRecordedNote.EndBeat));

        if (isPerfect)
        {
            playerUiController.CreatePerfectNoteEffect(targetNote);
        }
    }