private void PulseTasks() { if (!Tasks.Any()) { return; } // reset tasks if they're all complete if (Tasks.All(t => t.IsDone)) { foreach (var task in Tasks) { task.Reset(); } } // get the 1st task that isn't done and pulse it. CurrentTask = Tasks.FirstOrDefault(t => !t.IsDone); if (CurrentTask != null) { if (!CurrentTask.IsRunning) { CurrentTask.Start(); } CurrentTask.Pulse(); if (CurrentTask is WaitTask && CurrentTask.IsRunning) { Profile.TaskTooltip = CurrentTask.ToolTip; } else if (!string.IsNullOrEmpty(Profile.TaskTooltip)) { Profile.TaskTooltip = null; } } }
public void Pulse() { if (WowManager.IsRunning) { WowManager.Pulse(); if (WowManager.InGame && !HonorbuddyManager.IsRunning) { if (!StartupSequenceIsComplete) { HonorbuddyManager.SetSettings(Profile.Settings.HonorbuddySettings); } HonorbuddyManager.Start(); } if (HonorbuddyManager.IsRunning) { HonorbuddyManager.Pulse(); } } // only pulse tasks if StartupSequenceIsComplete is true. if (StartupSequenceIsComplete) { // reset tasks if they're all complete if (Tasks.Count > 0 && Tasks.All(t => t.IsDone)) { foreach (var task in Tasks) { task.Reset(); } } // get the 1st task that isn't done and pulse it. BMTask currentTask = Tasks.FirstOrDefault(t => !t.IsDone); if (currentTask != null) { if (!currentTask.IsRunning) { currentTask.Start(); } currentTask.Pulse(); if (currentTask is WaitTask && currentTask.IsRunning) { Profile.TaskTooltip = currentTask.ToolTip; } else if (!string.IsNullOrEmpty(Profile.TaskTooltip)) { Profile.TaskTooltip = null; } } } }