コード例 #1
0
    public void RemoveCallback(TimeFrameItem.OnTick0 callback)
    {
        int index = HasFunction(callback);

        if (index != -1)
        {
            list[index].SetEnd = true;
        }
    }
コード例 #2
0
    public int HasFunction(TimeFrameItem.OnTick0 callback)
    {
        int i = 0;

        for (i = 0; i < list.Count; i++)
        {
            if (list[i].callback == callback && list[i].IsEnd == false)
            {
                return(i);
            }
        }
        return(-1);
    }
コード例 #3
0
 /// <summary>
 /// 添加计时器
 /// </summary>
 /// <param name="name">计时器名称</param>
 /// <param name="delay">多少秒执行一次</param>
 /// <param name="callback">回调函数</param>
 /// <param name="repeat">重复次数,-1为无限次</param>
 /// <param name="onOver">结束函数</param>
 /// <param name="priority">优先级</param>
 public void Add(string name, float delay, TimeFrameItem.OnTick0 callback, int repeat = -1, TimeFrameItem.OnTick0 onOver = null, int priority = 10)
 {
     if (HasFunction(callback) == -1)
     {
         TimeFrameItem fti = new TimeFrameItem(name, delay, repeat, callback, onOver, priority);
         list.Add(fti);
     }
     else
     {
         for (int i = 0; i < list.Count; i++)
         {
             if (list[i].callback == callback)
             {
                 list[i].delay  = delay;
                 list[i].repeat = repeat;
                 list[i].SetEnd = false;
             }
         }
     }
 }
コード例 #4
0
 /// <summary>
 /// 延迟回调
 /// </summary>
 /// <param name="delay"></param>
 /// <param name="callback"></param>
 public void DelayCall(float delay, TimeFrameItem.OnTick0 callback)
 {
     Add("DelayCall", delay, callback, 1);
 }