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