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);
}
}