public async void ProcessTask() { TaskToExecute.Dialog = ReportBack; TaskToExecute.BeforeExecution(); executingInnerTask = TaskToExecute.Execute(); await executingInnerTask; if (!TaskToExecute.IsCanceled) { TaskToExecute.AfterExecution(); TaskToExecute.FireExecutedEvent(this); } else { TaskToExecute.AfterExecution(); TaskToExecute.FireCanceledEvent(this); } }
private void ExecuteActions() { do { // Get Task _task = _getTask.Run(); if (_task == null) { continue; } // Move to Task var time = Move.Run(new ActionModelMoveToLocation() { CurrentLocation = Position, To = _task.Position, AvarageSpeed = _ms }); // Execute Task time += _task == null ? 0 : ExecuteTask(); _totalTime += time; } while (true); }