AlicizaX/Client/Packages/com.alicizax.unity.timer/Runtime/Timer/ITimerManager.cs

58 lines
2.2 KiB
C#
Raw Normal View History

2025-01-23 19:06:48 +08:00
using System;
using System.Collections.Generic;
using AlicizaX.Runtime;
namespace AlicizaX.Timer.Runtime
{
/// <summary>
/// 定时器接口
/// </summary>
[UnityEngine.Scripting.Preserve]
public interface ITimerManager : IModule, IModuleUpdate
{
List<TimerInfo> GetTimerInfos();
/// <summary>
/// 添加一个定时调用的任务
/// </summary>
/// <param name="interval">间隔时间(以秒为单位)</param>
/// <param name="repeat">重复次数0 表示无限重复)</param>
/// <param name="callback">要执行的回调函数</param>
/// <param name="callbackParam">回调函数的参数(可选)</param>
void Add(float interval, int repeat, Action<object> callback, object callbackParam = null);
/// <summary>
/// 添加一个只执行一次的任务
/// </summary>
/// <param name="interval">间隔时间(以秒为单位)</param>
/// <param name="callback">要执行的回调函数</param>
/// <param name="callbackParam">回调函数的参数(可选)</param>
void AddOnce(float interval, Action<object> callback, object callbackParam = null);
/// <summary>
/// 添加一个每帧更新执行的任务
/// </summary>
/// <param name="callback">要执行的回调函数</param>
void AddUpdate(Action<object> callback);
/// <summary>
/// 添加一个每帧更新执行的任务
/// </summary>
/// <param name="callback">要执行的回调函数</param>
/// <param name="callbackParam">回调函数的参数</param>
void AddUpdate(Action<object> callback, object callbackParam);
/// <summary>
/// 检查指定的任务是否存在
/// </summary>
/// <param name="callback">要检查的回调函数</param>
/// <returns>存在返回 true不存在返回 false</returns>
bool Exists(Action<object> callback);
/// <summary>
/// 移除指定的任务
/// </summary>
/// <param name="callback">要移除的回调函数</param>
void Remove(Action<object> callback);
}
}