using System; using System.Collections; namespace NBC { public interface ITask : IProcess, IEnumerator { NTaskStatus Status { get; } /// /// 当前任务的信息 /// string Info { get; } /// /// 错误信息 /// string ErrorMsg { get; } /// /// 当前任务的进度 /// float Progress { get; } /// /// 任务正在执行 /// bool IsRunning { get; } /// /// 任务是否执行完成 /// bool IsDone { get; } /// /// 任务参数 /// /// object this[string argsName] { get; set; } /// /// 停止任务 /// void Stop(); /// /// 任务开始回调 /// /// /// /// ITask OnStarted(Action callback, bool cover = false); /// /// 任务执行回调 /// /// /// /// ITask OnUpdated(Action callback, bool cover = false); /// /// 任务完成回调 /// /// /// /// ITask OnCompleted(Action callback, bool cover = false); /// /// 运行任务 /// /// 任务运行器 void Run(IRunner runner); } }