Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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));
        }