private void SelfRemoveTimer(AETimeType type)
 {
     foreach (TimeVo vo in _dic.Values)
     {
         if (vo.m_type == type)
         {
             _removeList.Add(vo);
         }
     }
 }
    private void SelfOnceTimer(int delay, Action cb, AETimeType type = AETimeType.NORMAL)
    {
        TimeVo vo = new TimeVo();

        vo.m_delay  = delay;
        vo.m_act    = cb;
        vo.m_isOnce = true;
        vo.m_type   = type;
        _addList.Add(vo);
    }
    private void SelfLoopTimer(int delay, Action cb, int totalCount = 0, AETimeType type = AETimeType.NORMAL)
    {
        TimeVo vo = new TimeVo();

        vo.m_delay      = delay;
        vo.m_act        = cb;
        vo.m_isOnce     = false;
        vo.m_totalCount = totalCount;
        vo.m_type       = type;
        _addList.Add(vo);
    }
    private void SelfOnceTimer(int delay, Action <object[]> cb, AETimeType type = AETimeType.NORMAL, params object[] args)
    {
        TimeVo vo = new TimeVo();

        vo.m_delay  = delay;
        vo.m_act2   = cb;
        vo.m_parms  = args;
        vo.m_isOnce = true;
        vo.m_type   = type;
        _addList.Add(vo);
    }
 public void RemoveTimer(AETimeType type)
 {
     Instance.SelfRemoveTimer(type);
 }
 public void LoopTimer(int delay, Action cb, int totalCount = 0, AETimeType type = AETimeType.NORMAL)
 {
     Instance.SelfLoopTimer(delay, cb, totalCount, type);
 }
 public void OnceTimer(int delay, Action <object[]> cb, AETimeType type = AETimeType.NORMAL, params object[] args)
 {
     Instance.SelfOnceTimer(delay, cb, type, args);
 }
 public void OnceTimer(int delay, Action act, AETimeType type = AETimeType.NORMAL)
 {
     Instance.SelfOnceTimer(delay, act, type);
 }