/// ----------------------------------------------------------------------------- /// <summary> /// 增加定时器 /// </summary> /// <param name=""></param> /// <returns></returns> /// ----------------------------------------------------------------------------- private bool Internal_AddTimer(string key, TIMER_MODE mode, float duration, TimerManagerHandler handler) { if (string.IsNullOrEmpty(key)) { return(false); } if (duration < 0.0f) { return(false); } Timer timer = new Timer(key, mode, Time.time, duration, handler, this); if (m_AddTimerList.ContainsKey(key)) { m_AddTimerList[key] = timer; } else { m_AddTimerList.Add(key, timer); } return(true); }
/// <summary> /// 添加延时触发心跳 /// </summary> /// <param name="key">键值</param> /// <param name="duration">延时时间</param> /// <param name="handler">回调句柄</param> /// <returns>添加成/败</returns> public static bool AddDelayTimer(string key, float duration, TimerManagerHandler handler) { if (string.IsNullOrEmpty(key)) { return(false); } if (duration < 0.0f) { if (handler != null) { handler(); } return(true); } Timer timer = new Timer(key, TIMER_MODE.DELAYTIME, Time.realtimeSinceStartup, duration, handler); if (m_TimerList.ContainsKey(key)) { m_TimerList[key] = timer; } else { m_TimerList.Add(key, timer); } return(true); }
/// ----------------------------------------------------------------------------- /// <summary> /// 增加定时器 /// </summary> /// <param name=""></param> /// <returns></returns> /// ----------------------------------------------------------------------------- private bool Internal_AddTimer(string key, TIMER_MODE mode, float duration, TimerManagerHandler handler) { if (string.IsNullOrEmpty(key)) { return(false); } if (duration < 0.0f) { return(false); } var oldtimer = m_AddTimerList.Find(p => p.m_Name == key); if (oldtimer != null) { oldtimer.Copy(key, mode, Time.time, duration, handler, this); } else { Timer timer = new Timer(key, mode, Time.time, duration, handler, this); m_AddTimerList.Add(timer); } return(true); }
/// ----------------------------------------------------------------------------- /// <summary> /// /// </summary> /// <param name=""></param> /// <returns></returns> /// ----------------------------------------------------------------------------- public Timer(string name, TIMER_MODE mode, float startTime, float duration, TimerManagerHandler handler, TimerManager manager) { m_Name = name; m_Mode = mode; m_StartTime = startTime; m_duration = duration; m_TimerEvent = handler; m_Manger = manager; }
/// ----------------------------------------------------------------------------- /// <summary> /// 增加持续定时器 /// </summary> /// <param name=""></param> /// <returns></returns> /// ----------------------------------------------------------------------------- public bool AddTimerRepeat(string key, float duration, TimerManagerHandler handler) { return(Internal_AddTimer(key, TIMER_MODE.REPEAT, duration, handler)); }
/// ----------------------------------------------------------------------------- /// <summary> /// 增加定时器 /// </summary> /// <param name=""></param> /// <returns></returns> /// ----------------------------------------------------------------------------- public bool AddTimer(string key, float duration, TimerManagerHandler handler) { return(Internal_AddTimer(key, TIMER_MODE.NORMAL, duration, handler)); }