/// <summary> /// 添加定时器 /// </summary> /// <param name="delaytime">延迟执行时间</param> /// <param name="interval">重复间隔时间,为0不重复</param> /// <param name="times">重复执行次数,为0无限执行</param> /// <param name="action">执行函数</param> public string AddTimer(MVC.Notifier.StandardDelegate action, float delaytime = 0, float interval = 0, int times = 0) { string key = Guid.NewGuid().ToString(); GameObject timer = new GameObject("Timer" + key); timer.transform.parent = TimerRoot.transform; Timer newtimer = timer.AddComponent <Timer>(); newtimer.Init(action, delaytime, interval, times); if (newtimer != null) { TimerList.Add(key, newtimer); return(key); } else { return(""); } }
/// <summary> /// 初始化定时器 /// </summary> /// <param name="delaytime">延迟执行时间</param> /// <param name="interval">重复间隔时间,为0不重复</param> /// <param name="times">重复执行次数,为0无限执行</param> /// <param name="action">执行函数</param> public void Init(MVC.Notifier.StandardDelegate action, float delaytime = 0, float interval = 0, int times = 0) { DelayTime = delaytime; Interval = interval; Times = times; Action = action; if (Interval == 0) { StartCoroutine(Do(DelayTime)); } else if (Times == 0) { Invoke("TimesAction", DelayTime); } else { Invoke("TimesAction", DelayTime); } }