76 lines
1.7 KiB
C#
76 lines
1.7 KiB
C#
using System;
|
||
|
||
namespace SepCore.Timer
|
||
{
|
||
/// <summary>
|
||
/// 定时任务描述。
|
||
/// </summary>
|
||
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;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取或设置首次触发前的延迟时间(秒)。
|
||
/// </summary>
|
||
public float Delay
|
||
{
|
||
get;
|
||
set;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取或设置循环触发间隔(秒)。一次性任务会忽略该值。
|
||
/// </summary>
|
||
public float Interval
|
||
{
|
||
get;
|
||
set;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取或设置触发次数。1 表示一次性,负数表示无限循环,0 表示不创建任务。
|
||
/// </summary>
|
||
public int RepeatCount
|
||
{
|
||
get;
|
||
set;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取或设置任务回调。
|
||
/// </summary>
|
||
public Action Callback
|
||
{
|
||
get;
|
||
set;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取或设置任务归属对象,用于批量取消。
|
||
/// </summary>
|
||
public object Owner
|
||
{
|
||
get;
|
||
set;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取或设置任务时间源。
|
||
/// </summary>
|
||
public TimerTimeMode TimeMode
|
||
{
|
||
get;
|
||
set;
|
||
}
|
||
}
|
||
}
|