using System; using System.Collections.Generic; using System.Text; namespace Thousandto.Core.Base { /// /// 时间间隔计数 /// public class TimeIntervalConter { //记录上一次触发时的时间 public ulong m_beginTime; //记录时间间隔 public ulong m_intervalSeconds; //所有回调列表 private List _onTickCallBackList; public TimeIntervalConter(ulong beginTime, ulong intervalSeconds) { m_beginTime = beginTime; m_intervalSeconds = intervalSeconds; _onTickCallBackList = new List(); } public void AddCallBack(MyAction onTickCallBack) { if (onTickCallBack != null && _onTickCallBackList.IndexOf(onTickCallBack) < 0) { _onTickCallBackList.Add(onTickCallBack); } } public void RemoveCallBack(MyAction onTickCallBack) { _onTickCallBackList.Remove(onTickCallBack); } public void Clear() { _onTickCallBackList.Clear(); } public void DoTickCallBack() { for (int i = 0; i < _onTickCallBackList.Count; i++) { _onTickCallBackList[i](); } } } }