namespace TEngine
{
public interface ITimerModule
{
///
/// 添加计时器。
///
/// 计时器回调。
/// 计时器间隔。
/// 是否循环。
/// 是否不收时间缩放影响。
/// 传参。(避免闭包)
/// 计时器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);
///
/// 重置计时器。
///
public void ResetTimer(int timerId, TimerHandler callback, float time, bool isLoop = false, bool isUnscaled = false);
///
/// 重置计时器。
///
public void ResetTimer(int timerId, float time, bool isLoop, bool isUnscaled);
///
/// 移除计时器。
///
/// 计时器Id。
public void RemoveTimer(int timerId);
///
/// 移除所有计时器。
///
public void RemoveAllTimer();
}
}