55 lines
1.4 KiB
C#
55 lines
1.4 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
|
|||
|
using System.Text;
|
|||
|
|
|||
|
namespace Thousandto.Core.Base
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 时间间隔计数
|
|||
|
/// </summary>
|
|||
|
public class TimeIntervalConter
|
|||
|
{
|
|||
|
//记录上一次触发时的时间
|
|||
|
public ulong m_beginTime;
|
|||
|
//记录时间间隔
|
|||
|
public ulong m_intervalSeconds;
|
|||
|
|
|||
|
//所有回调列表
|
|||
|
private List<MyAction> _onTickCallBackList;
|
|||
|
|
|||
|
public TimeIntervalConter(ulong beginTime, ulong intervalSeconds)
|
|||
|
{
|
|||
|
m_beginTime = beginTime;
|
|||
|
m_intervalSeconds = intervalSeconds;
|
|||
|
_onTickCallBackList = new List<MyAction>();
|
|||
|
}
|
|||
|
|
|||
|
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]();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|