Ejemplo n.º 1
0
    public void RemoveTimeCountDown(System.Action action)
    {
        TimeCountDownData data = null;

        for (int i = 0; i < m_timeCountDownList.Count; i++)
        {
            TimeCountDownData item = m_timeCountDownList[i];
            if (item.action == action)
            {
                data = item;
                break;
            }
        }
        m_timeCountDownList.Remove(data);
    }
Ejemplo n.º 2
0
    public void AddTimeCountDown(float seconds, System.Action action, bool loop = false)
    {
        for (int i = 0; i < m_timeCountDownList.Count; i++)
        {
            TimeCountDownData item = m_timeCountDownList[i];
            if (item.action == action)
            {
                return;
            }
        }
        TimeCountDownData data = new TimeCountDownData();

        data.action  = action;
        data.endTime = Time.time + seconds;
        data.loop    = loop;
        data.seconds = seconds;
        m_timeCountDownList.Add(data);
    }
Ejemplo n.º 3
0
 void Update()
 {
     for (int i = 0; i < m_timeCountDownList.Count; i++)
     {
         TimeCountDownData item    = m_timeCountDownList[i];
         float             nowTime = Time.time;
         if (nowTime >= item.endTime)
         {
             item.action.Invoke();
             if (item.loop)
             {
                 item.endTime = nowTime + item.seconds;
                 continue;
             }
             m_timeCountDownList.RemoveAt(i--);
         }
     }
 }