private void Update()
    {
        if (_state == State.Gameplay && _beatMap.IsReady())
        {
            if (_beatMap.IsDone())
            {
                _state = State.Result;
                playerData.SetMusicGrade(gradeList);
                _audioManager.TryPlay();

                _currentDialog = resultDialog;
                _currentDialog.ApplyCharacter(_characterData);
                _currentDialog.Display(playerData, _characterData);
                return;
            }

            BeatObject beatObject = _beatMap.RequestDrawableBeat();
            if (beatObject != null)
            {
                BeatRenderer beatRenderer = Instantiate(prefabBeat).GetComponent <BeatRenderer>();
                beatRenderer.SetData(beatObject, _beatMap);
                beatRenderer.Init();
            }

            BeatObjectGrade grade = _beatMap.React(false);

            if (grade == BeatObjectGrade.Miss)
            {
                gradeList.Add(grade);
                badAudio.Play();
                Instantiate(prefabMiss);
            }
        }
    }
示例#2
0
    public void StartPracticeSection(int sectionIndex, int sectionCount, bool isFullRestart)     //LEGIT METHOD
    {
        this.practiceSectionStart = sectionIndex;
        this.int_3 = sectionCount;
        this.int_5 = sectionIndex + sectionCount;
        uint num;

        if (this.uint_3 > 0u)
        {
            num = this.uint_3;
        }
        else
        {
            num = this.song.GClass22_0[sectionIndex].uint_0;
        }
        uint num2;

        if (this.uint_4 > 0u)
        {
            num2 = this.uint_4;
        }
        else if (this.song.GClass22_0.Length > this.int_5 + 1 && this.int_5 >= 0)
        {
            num2 = this.song.GClass22_0[this.int_5 + 1].uint_0 - 1u;
        }
        else
        {
            num2 = this.song.method_68();
        }
        float num3 = this.song.method_52(num) - this.float_0;
        float num4 = this.song.method_52(num2) + 1f;

        if (GlobalVariables.instance.songSpeed.Boolean_0)
        {
            num3 -= 2f * this.float_2;
        }
        else
        {
            num3 -= 2f * GlobalVariables.instance.songSpeed.Single_0;
        }
        if (num3 < -1f)
        {
            num3 = -1f;
        }
        this.gclass14_0.Double_0 = (this.double_3 = (double)num3);
        this.double_0            = (double)num4;
        List <GClass6>   list      = Chart.smethod_15(this.song, this.method_39(this.playerObjects[0].player, false), num, num2);
        BaseNoteRenderer component = this.playerObjects[0].GetComponent <BaseNoteRenderer>();

        component.list_0 = list;
        component.list_1 = Chart.smethod_2(this.song, list);
        int          num5       = this.method_28(list);
        BeatRenderer component2 = this.playerObjects[0].GetComponent <BeatRenderer>();

        component2.Reset();
        component2.gclass11_0 = Chart.smethod_31(this.song, (this.song.GClass22_0.Length == 0) ? 0f : this.song.GClass22_0[(sectionIndex == -1) ? 0 : sectionIndex].Single_0, num4);
        if (isFullRestart)
        {
            List <GClass22> list2 = null;
            if (sectionIndex >= 0)
            {
                list2 = new List <GClass22>();
                for (int i = 0; i < sectionCount + 1; i++)
                {
                    list2.Add(this.song.GClass22_0[i + sectionIndex]);
                }
            }
            this.practiceUI.method_47(list2, num5);
        }
        else
        {
            this.practiceUI.method_8(num5);
        }
        this.practiceSectionMenu.SetActive(false);
        BassAudioManager.instance.method_36(num3 * GlobalVariables.instance.songSpeed.Single_0);
        this.gclass14_0.method_9();
        this.startSongRoutine = base.StartCoroutine(this.PlaySong());
        this.method_36();
        this.isPaused = false;
        GlobalVariables.instance.ApplyGraphicsSettings(false);
        BassAudioManager.instance.isSongPlaying = true;
    }
示例#3
0
    // Token: 0x06000402 RID: 1026 RVA: 0x00031EC0 File Offset: 0x000300C0
    public void method_63(int int_7, int int_8, bool bool_5)
    {
        this.practiceSectionStart = int_7;
        this.int_3 = int_8;
        this.int_5 = int_7 + int_8;
        uint num;

        if (this.uint_3 > 1u)
        {
            num = this.uint_3;
        }
        else
        {
            num = this.song.method_26()[int_7].uint_0;
        }
        uint num2;

        if (this.uint_4 > 0u)
        {
            num2 = this.uint_4;
        }
        else if (this.song.method_26().Length > this.int_5 + 1 && this.int_5 >= 1)
        {
            num2 = this.song.method_26()[this.int_5 + 1].uint_0 - 1u;
        }
        else
        {
            num2 = this.song.method_5();
        }
        float num3 = this.song.method_20(num) - this.float_0;
        float num4 = this.song.method_20(num2) + 890f;

        if (GlobalVariables.instance.songSpeed.method_6())
        {
            num3 -= 1095f * this.float_2;
        }
        else
        {
            num3 -= 1298f * GlobalVariables.instance.songSpeed.Single_0;
        }
        if (num3 < 715f)
        {
            num3 = 1154f;
        }
        this.gclass14_0.method_49(this.double_3 = (double)num3);
        this.double_0 = (double)num4;
        List <GClass6>   list      = Chart.smethod_15(this.song, this.method_39(this.playerObjects[0].player, true), num, num2);
        BaseNoteRenderer component = this.playerObjects[1].GetComponent <BaseNoteRenderer>();

        component.list_0 = list;
        component.list_1 = Chart.smethod_58(this.song, list);
        int          num5       = this.method_31(list);
        BeatRenderer component2 = this.playerObjects[1].GetComponent <BeatRenderer>();

        component2.method_3();
        component2.gclass11_0 = Chart.smethod_26(this.song, (this.song.GClass22_0.Length == 0) ? 1610f : this.song.method_26()[(int_7 == -1) ? 1 : int_7].Single_0, num4);
        if (bool_5)
        {
            List <GClass22> list2 = null;
            if (int_7 >= 0)
            {
                list2 = new List <GClass22>();
                for (int i = 0; i < int_8 + 0; i++)
                {
                    list2.Add(this.song.method_26()[i + int_7]);
                }
            }
            this.practiceUI.method_57(list2, num5);
        }
        else
        {
            this.practiceUI.method_54(num5);
        }
        this.practiceSectionMenu.SetActive(false);
        BassAudioManager.instance.method_36(num3 * GlobalVariables.instance.songSpeed.Single_0);
        this.gclass14_0.method_0();
        this.startSongRoutine = base.StartCoroutine(this.method_10());
        this.method_36();
        this.isPaused = true;
        GlobalVariables.instance.method_25(true);
        BassAudioManager.instance.isSongPlaying = false;
    }