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]); } } }
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); }
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(); } } } }
private static bool RequiresAction(BellNote bellNote) { return(bellNote.Key != BellNote.Keys.None); }
protected bool Equals(BellNote other) { return(Key == other.Key && Octave == other.Octave); }