Esempio n. 1
0
    /// <summary>
    /// 1秒为1000
    /// </summary>
    public int RegisterEvent(float maxTime, Action func)
    {
        m_startId++;
        CTimeEvent ev = new CTimeEvent();

        ev.curTime  = 0;
        ev.maxTime  = maxTime;
        ev.endEvent = func;
        m_timeEvent.Add(m_startId, ev);
        return(m_startId);
    }
Esempio n. 2
0
    public override void Update(float time, float fdTime)
    {
        Dictionary <int, CTimeEvent> .Enumerator map = m_timeEvent.GetEnumerator();
        while (map.MoveNext())
        {
            CTimeEvent ev = map.Current.Value;
            ev.curTime += fdTime;
            if (ev.curTime >= ev.maxTime)
            {
                ev.endEvent();
                ev.endEvent = null;
                m_delList.Add(map.Current.Key);
            }
        }

        for (int i = 0; i < m_delList.Count; i++)
        {
            m_timeEvent.Remove(m_delList[i]);
        }
        m_delList.Clear();
    }