using System; using System.Collections.Generic; using AlicizaX; namespace AlicizaX.Timer.Runtime { /// /// 定时器接口 /// [UnityEngine.Scripting.Preserve] public interface ITimerModule : IModule, IModuleUpdate { /// /// 添加计时器。 /// /// 计时器回调。 /// 计时器间隔。 /// 是否循环。 /// 是否不收时间缩放影响。 /// 传参。(避免闭包) /// 计时器Id。 public int AddTimer(TimerHandler callback, float time, bool isLoop = false, bool isUnscaled = false, params object[] args); /// /// 暂停计时器。 /// /// 计时器Id。 public void Stop(int timerId); /// /// 恢复计时器。 /// /// 计时器Id。 public void Resume(int timerId); /// /// 计时器是否在运行中。 /// /// 计时器Id。 /// 否在运行中。 public bool IsRunning(int timerId); /// /// 获得计时器剩余时间。 /// public float GetLeftTime(int timerId); /// /// 重置计时器,恢复到开始状态。 /// public void Restart(int timerId); /// /// 移除计时器。 /// /// 计时器Id。 public void RemoveTimer(int timerId); /// /// 移除所有计时器。 /// public void RemoveAllTimer(); } }