/// <summary> /// 帧事件 /// </summary> /// <param name="timer"></param> /// <param name="updateEvent"></param> /// <returns></returns> public static Timer OnUpdate(this Timer timer, TimerUpdateHandler <float> updateEvent) { if (null == timer) { return(null); } timer.AddEvent(updateEvent); return(timer); }
/// <summary> /// 停止并初始化 /// </summary> private void Stop() { if (MyTimers.Contains(this)) { MyTimers.Remove(this); } _time = -1; _isFinish = true; _isPause = false; UpdateEvent = null; CompleteEvent = null; }
public void AddEvent(TimerUpdateHandler <float> updateEvent) { if (null == UpdateEvent) { UpdateEvent = updateEvent; } else { Delegate[] delegates = UpdateEvent.GetInvocationList(); if (!Array.Exists(delegates, (v) => { return(v == (Delegate)updateEvent); })) { UpdateEvent += updateEvent; } } }