using System; namespace XGame.Framework.Time { public interface ITimeModule { /// /// 获取当前服务端or客户端时间戳(单位:毫秒,默认获取服务端时间) /// /// 时钟类型(客户端时间or服务端时间,默认服务端时间) /// long GetNowTime(ClockType clockTyp = ClockType.Server); /// /// 设置服务端or客户端时间戳(默认设置服务端时间) /// /// 时间戳(毫秒) /// 时钟类型(客户端时间or服务端时间,默认服务端时间) void SetTime(long timestamp, ClockType clockTyp = ClockType.Server); /// /// 添加闹钟(默认使用服务端时间) /// /// 结束时间戳(毫秒) /// 回调 /// 时钟类型(客户端时间or服务端时间,默认服务端时间) /// 此闹钟 IAlarm AddAlarm(Action action, long triggerTimeStamp, ClockType clockTyp = ClockType.Server); /// /// 添加计时器(使用客户端时间) /// /// 延时,单位:毫秒 /// 回调 /// 此计时器 ITimer AddDelayTimer(int delay, Action action); /// /// 添加循环定时器(使用客户端时间) /// /// 循环间隔,单位:毫秒 /// 触发事件,参数为循环的次数 /// 循环次数(-1为无限,0和1都是1次) /// 定时器 ITimer AddLooperTimer(int interval, Action action, int loopTimes = -1); /// /// 添加循环定时器(使用客户端时间) /// /// 延迟,单位:毫秒 /// 循环间隔,单位:毫秒 /// 触发事件 /// 循环次数(-1为无限,0和1都是1次) ITimer AddDelayLooperTimer(int delay, int interval, Action action, int loopTimes = -1); } }