コード例 #1
0
ファイル: MIDIParser.cs プロジェクト: uwx/Open-GHTCP
        private void method_4(int int0, int int1, string string2)
        {
            if (int0 == 4)
            {
                if (string2.Contains("section "))
                {
                    _sectionInterpreter.SectionList.Add(int1, string2);
                    return;
                }
                if (_sectionInterpreter.OtherList.method_4(int1))
                {
                    _sectionInterpreter.OtherList[int1].Add(string2);
                    return;
                }
                _sectionInterpreter.OtherList.Add(int1, new List <string>(new[]
                {
                    string2
                }));
            }
            else
            {
                NoteEventInterpreter @class = null;
                NoteEventInterpreter class2 = null;
                NoteEventInterpreter class3 = null;
                NoteEventInterpreter class4 = null;
                switch (int0)
                {
                case 0:
                    @class = _expertSingle;
                    class2 = _hardSingle;
                    class3 = _mediumSingle;
                    class4 = _easySingle;
                    break;

                case 1:
                    @class = _expertDoubleGuitar;
                    class2 = _hardDoubleGuitar;
                    class3 = _mediumDoubleGuitar;
                    class4 = _easyDoubleGuitar;
                    break;

                case 3:
                    @class = _expertDoubleBass;
                    class2 = _hardDoubleBass;
                    class3 = _mediumDoubleBass;
                    class4 = _easyDoubleBass;
                    break;

                case 5:
                    _expertDrums.method_5(int1, string2);
                    _hardDrums.method_5(int1, string2);
                    _mediumDrums.method_5(int1, string2);
                    _easyDrums.method_5(int1, string2);
                    return;

                case 7:
                    _expertKeyboard.method_5(int1, string2);
                    _hardKeyboard.method_5(int1, string2);
                    _mediumKeyboard.method_5(int1, string2);
                    _easyKeyboard.method_5(int1, string2);
                    return;
                }
                if (@class != null && @class.EventList.method_4(int1))
                {
                    @class.EventList[int1].Add(string2);
                    class2.EventList[int1].Add(string2);
                    class3.EventList[int1].Add(string2);
                    class4.EventList[int1].Add(string2);
                    return;
                }
                @class.EventList.Add(int1, new List <string>(new[]
                {
                    string2
                }));
                class2.EventList.Add(int1, new List <string>(new[]
                {
                    string2
                }));
                class3.EventList.Add(int1, new List <string>(new[]
                {
                    string2
                }));
                class4.EventList.Add(int1, new List <string>(new[]
                {
                    string2
                }));
            }
        }
コード例 #2
0
ファイル: MIDIParser.cs プロジェクト: uwx/Open-GHTCP
        private void method_3(int instrumentType, int int1, MidiNote midiNote, int int2)
        {
            NoteEventInterpreter noteEvenInterpreter = null;

            switch (midiNote.GetDifficulty())
            {
            case Difficulty.Easy:
                switch (instrumentType)
                {
                case 0:
                    noteEvenInterpreter = _easySingle;
                    break;

                case 1:
                    noteEvenInterpreter = _easyDoubleGuitar;
                    break;

                case 3:
                    noteEvenInterpreter = _easyDoubleBass;
                    break;
                }
                break;

            case Difficulty.Medium:
                switch (instrumentType)
                {
                case 0:
                    noteEvenInterpreter = _mediumSingle;
                    break;

                case 1:
                    noteEvenInterpreter = _mediumDoubleGuitar;
                    break;

                case 3:
                    noteEvenInterpreter = _mediumDoubleBass;
                    break;
                }
                break;

            case Difficulty.Hard:
                switch (instrumentType)
                {
                case 0:
                    noteEvenInterpreter = _hardSingle;
                    break;

                case 1:
                    noteEvenInterpreter = _hardDoubleGuitar;
                    break;

                case 3:
                    noteEvenInterpreter = _hardDoubleBass;
                    break;
                }
                break;

            case Difficulty.Expert:
                switch (instrumentType)
                {
                case 0:
                    noteEvenInterpreter = _expertSingle;
                    break;

                case 1:
                    noteEvenInterpreter = _expertDoubleGuitar;
                    break;

                case 3:
                    noteEvenInterpreter = _expertDoubleBass;
                    break;
                }
                break;

            default:
                if (!_bool3 && midiNote.method_2() == MidiNoteMask.StarPower)
                {
                    _bool3 = true;
                    _expertSingle.Class2281.Clear();
                    _hardSingle.Class2281.Clear();
                    _mediumSingle.Class2281.Clear();
                    _easySingle.Class2281.Clear();
                }
                else if (!_bool3)
                {
                    return;
                }
                break;
            }
            if (midiNote.method_3() != Fret.Invalid)
            {
                if (noteEvenInterpreter.NoteList.method_4(int1))
                {
                    noteEvenInterpreter.NoteList[int1].NoteValues[(int)midiNote.method_3()] = true;
                    return;
                }
                var array = new bool[32];
                array[(int)midiNote.method_3()] = true;
                noteEvenInterpreter.NoteList.Add(int1, new NotesAtOffset(array, int2));
            }
            else
            {
                if (midiNote.method_2() == MidiNoteMask.StarPower && !_expertSingle.Class2281.ContainsKey(int1))
                {
                    _expertSingle.Class2281.Add(int1, int2);
                    _hardSingle.Class2281.Add(int1, int2);
                    _mediumSingle.Class2281.Add(int1, int2);
                    _easySingle.Class2281.Add(int1, int2);
                    return;
                }
                if (midiNote.method_2() == MidiNoteMask.Unk7 && !noteEvenInterpreter.Class2281.ContainsKey(int1) &&
                    !_bool3)
                {
                    noteEvenInterpreter.Class2281.Add(int1, int2);
                    return;
                }
                if (midiNote.method_2() == MidiNoteMask.Unk9 && !noteEvenInterpreter.Class2282.ContainsKey(int1))
                {
                    noteEvenInterpreter.Class2282.Add(int1, int2);
                    return;
                }
                if (midiNote.method_2() == MidiNoteMask.Unk10 && !noteEvenInterpreter.Class2283.ContainsKey(int1))
                {
                    noteEvenInterpreter.Class2283.Add(int1, int2);
                }
            }
        }