コード例 #1
0
ファイル: Bell.cs プロジェクト: Invisi/Blish-HUD
        public override void PlayNote(Note note)
        {
            var bellNote = BellNote.From(note);

            if (RequiresAction(bellNote))
            {
                if (bellNote.Key == BellNote.Keys.None)
                {
                    PressNote(GuildWarsControls.EliteSkill);
                }
                else
                {
                    bellNote = OptimizeNote(bellNote);
                    PressNote(NoteMap[bellNote.Key]);
                }
            }
        }
コード例 #2
0
ファイル: Bell.cs プロジェクト: Invisi/Blish-HUD
 private BellNote OptimizeNote(BellNote note)
 {
     if (note.Equals(new BellNote(BellNote.Keys.Note1, BellNote.Octaves.High)) && _currentOctave == BellNote.Octaves.Middle)
     {
         note = new BellNote(BellNote.Keys.Note8, BellNote.Octaves.Middle);
     }
     else if (note.Equals(new BellNote(BellNote.Keys.Note8, BellNote.Octaves.Middle)) && _currentOctave == BellNote.Octaves.High)
     {
         note = new BellNote(BellNote.Keys.Note1, BellNote.Octaves.High);
     }
     else if (note.Equals(new BellNote(BellNote.Keys.Note1, BellNote.Octaves.Middle)) && _currentOctave == BellNote.Octaves.Low)
     {
         note = new BellNote(BellNote.Keys.Note8, BellNote.Octaves.Low);
     }
     else if (note.Equals(new BellNote(BellNote.Keys.Note8, BellNote.Octaves.Low)) && _currentOctave == BellNote.Octaves.Middle)
     {
         note = new BellNote(BellNote.Keys.Note1, BellNote.Octaves.Middle);
     }
     return(note);
 }
コード例 #3
0
ファイル: Bell.cs プロジェクト: Invisi/Blish-HUD
        public override void GoToOctave(Note note)
        {
            var bellNote = BellNote.From(note);

            if (RequiresAction(bellNote))
            {
                bellNote = OptimizeNote(bellNote);

                while (_currentOctave != bellNote.Octave)
                {
                    if (_currentOctave < bellNote.Octave)
                    {
                        IncreaseOctave();
                    }
                    else
                    {
                        DecreaseOctave();
                    }
                }
            }
        }
コード例 #4
0
ファイル: Bell.cs プロジェクト: Invisi/Blish-HUD
 private static bool RequiresAction(BellNote bellNote)
 {
     return(bellNote.Key != BellNote.Keys.None);
 }
コード例 #5
0
ファイル: BellNote.cs プロジェクト: Invisi/Blish-HUD
 protected bool Equals(BellNote other)
 {
     return(Key == other.Key && Octave == other.Octave);
 }