Files
Main/Assets/Plugins/References/FuncellBase/Timer/GameTime/TimeIntervalConter.cs
2025-01-25 04:38:09 +08:00

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]();
}
}
}
}