Exemplo n.º 1
0
        /// <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("");
            }
        }
Exemplo n.º 2
0
 /// <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);
     }
 }