void triggerItem_OnTrigger(object sender, TaskScheduler.OnTriggerEventArgs e) { String nextTrigger = String.Empty; if (e.Item.GetNextTriggerDateTime() != DateTime.MaxValue) { nextTrigger = e.Item.GetNextTriggerDateTime().DayOfWeek.ToString() + ", " + e.Item.GetNextTriggerDateTime().ToString(); } else { nextTrigger = "Never"; } //textBoxEvents.AppendText(e.TriggerDate.ToString() + ": " + e.Item.Tag + ", next trigger: " + nextTrigger + "\r\n"); //UpdateTaskList(); }
private void triggerItem_OnTrigger(object sender, TaskScheduler.OnTriggerEventArgs e) { //Parse the building name from the list-box var item = (AttackScheduler)ScheduleList.Items[0]; // Create the line that is to be written in storage var line = RegisterItem(item); // Delete the item from the storage _storage.DeleteLine(line); // stop the schedule _taskScheduler.Enabled = false; _taskScheduler.TriggerItems.Clear(); //calculate the wait time for the new attack var waitTime = 2 * _command.Attack(item.Location.X, item.Location.Y, item.Army); if (waitTime == -1) { // there is an error on an attacking command // either account disconected or lack of units Console.WriteLine("Error state! added 1 minute to the wait time."); waitTime = 1; // postponde 10 minutes to try again } item.Date = item.Date.AddMinutes(waitTime); //Update the item on the list UpdateList(item); //Add the next item to the scheduler _isOn = false; btnStart_Click(null, null); // update the storage file _storage.WriteLine(RegisterItem(item)); }