Пример #1
0
        private void Update()
        {
            foreach (NoteData data in new List <NoteData>(this.notesManager.notes))
            {
                if (!data.isJudged && this.soundManager.time + this.regulation >= data.time)
                {
                    if (data.type == Common.NOTE.SLIDE_VIA)
                    {
                        List <byte> pressedLanes = this.notesTouchManager.GetPressedLanes();
                        bool        isMiss       = true;
                        foreach (byte lane in pressedLanes)
                        {
                            if (data.lane == lane)
                            {
                                //Debug.Log(this.name + ": Perfect");
                                judgeDisplay.Launch(Common.JUDGE.PERFECT);

                                SEManager.PlayOneShot(SEManager.clip);
                                notesManager.DestroyNote(data);
                                isMiss = false;
                                break;
                            }
                        }

                        data.isJudged = true;

                        if (isMiss)
                        {
                            judgeDisplay.Launch(Common.JUDGE.MISS);
                        }
                    }
                    else
                    {
                        if (this.soundManager.time + this.regulation > data.time + this.badRangeAfter)
                        {
                            judgeDisplay.Launch(Common.JUDGE.MISS);
                            data.isJudged = true;
                        }
                    }
                }
            }
        }