using System;
namespace SepCore.Timer
{
///
/// 定时任务描述。
///
public struct TimerTask
{
public TimerTask(float delay, float interval, int repeatCount, Action callback, object owner = null,
TimerTimeMode timeMode = TimerTimeMode.Scaled)
{
Delay = delay;
Interval = interval;
RepeatCount = repeatCount;
Callback = callback;
Owner = owner;
TimeMode = timeMode;
}
///
/// 获取或设置首次触发前的延迟时间(秒)。
///
public float Delay
{
get;
set;
}
///
/// 获取或设置循环触发间隔(秒)。一次性任务会忽略该值。
///
public float Interval
{
get;
set;
}
///
/// 获取或设置触发次数。1 表示一次性,负数表示无限循环,0 表示不创建任务。
///
public int RepeatCount
{
get;
set;
}
///
/// 获取或设置任务回调。
///
public Action Callback
{
get;
set;
}
///
/// 获取或设置任务归属对象,用于批量取消。
///
public object Owner
{
get;
set;
}
///
/// 获取或设置任务时间源。
///
public TimerTimeMode TimeMode
{
get;
set;
}
}
}