示例#1
0
    public void doCheck(double nowTime)
    {
        if (normalPool.Count <= 0)
        {
            return;
        }
        for (int i = 0; i < removeLst.Count; i++)
        {
            if (normalPool.ContainsKey(removeLst[i]))
            {
                BaseTimeHandler h = normalPool[removeLst[i]];
                normalPool.Remove(removeLst[i]);
                h.onDispose();
            }
        }

        var ier = normalPool.GetEnumerator();

        while (ier.MoveNext())
        {
            if (ier.Current.Value.Invalid)
            {
                removeKey(ier.Current.Key);
            }
            else
            {
                ier.Current.Value.check(nowTime);
            }
        }
    }
示例#2
0
    /// <summary>
    /// 添加一个计时器
    /// </summary>
    /// <param name="endCount"></param> 计数
    /// <param name="eHandler"></param> 每次回调
    /// <param name="cHandler"></param>完成回调
    /// <param name="interval"></param> 间隔
    private static long addTimer(int endCount, Action <int> eHandler, Action <int> cHandler = null, int interval = 1)
    {
        long            id      = TimerUtils.getTimeId();
        BaseTimeHandler handler = new BaseTimeHandler(endCount, eHandler, cHandler, interval);

        Instance.normalPool.addTimer(id, handler);
        return(id);
    }
示例#3
0
 public void addTimer(long id, BaseTimeHandler handler)
 {
     normalPool.Add(id, handler);
 }
 public void addTimer(long id, BaseTimeHandler handler)
 {
     fixedPool.Add(id, handler);
 }