/// <summary> /// <para>根据ID创建一个新PETimeTask</para> /// <para>callback:需要执行的方法</para> /// <para>delayTime:延迟时间</para> /// <para>PETimeUnit:时间单位(毫秒,秒,分,小时,天)</para> /// <para>count:循环次数(0时无限循环)</para> /// </summary> /// <param name="id"></param> /// <param name="callback"></param> /// <param name="delayTime"></param> /// <param name="timeUnit"></param> /// <param name="count"></param> /// <returns></returns> private PETimeTask CreatePETimeTask(int id, Action callback, float delayTime, PETimeUnit timeUnit = PETimeUnit.Millisecond, int count = 1) { switch (timeUnit)//根据PETimeUnit类型赋值 { case PETimeUnit.Millisecond: break; case PETimeUnit.Second: delayTime *= 1000; break; case PETimeUnit.Minute: delayTime *= 1000 * 60; break; case PETimeUnit.Hour: delayTime *= 1000 * 60 * 60; break; case PETimeUnit.Day: delayTime *= 1000 * 60 * 60 * 24; break; default: Debug.Log("没有当前的计时单位"); break;; } float destTime = Time.realtimeSinceStartup * 1000 + delayTime; //由于默认为毫秒,因此×1000 PETimeTask timeTask = new PETimeTask //新任务赋值 { destTime = destTime, callback = callback, delayTime = delayTime, count = count, id = id }; return(timeTask); }
/// <summary> /// <para>根据ID创建一个新PETimeTask</para> /// <para>callback:需要执行的方法</para> /// <para>delayTime:延迟时间</para> /// <para>PETimeUnit:时间单位(毫秒,秒,分,小时,天)</para> /// <para>count:循环次数(0时无限循环)</para> /// </summary> /// <param name="id"></param> /// <param name="callback"></param> /// <param name="delayTime"></param> /// <param name="timeUnit"></param> /// <param name="count"></param> /// <param name="updateModel"></param> /// <returns></returns> private PETimeTask CreatePETimeTask(int id, Action callback, Action <double> updateCallBack, float delayTime, PETimeUnit timeUnit = PETimeUnit.Second, int count = 1) { switch (timeUnit)//根据PETimeUnit类型赋值 { case PETimeUnit.Second: break; case PETimeUnit.Minute: delayTime *= 60; break; case PETimeUnit.Hour: delayTime *= 60 * 60; break; case PETimeUnit.Day: delayTime *= 60 * 60 * 24; break; default: Debug.Log("没有当前的计时单位"); break;; } double destTime = GetTime() + delayTime; //由于默认为毫秒,因此×1000 PETimeTask timeTask = new PETimeTask //新任务赋值 { destTime = destTime, callback = callback, delayTime = delayTime, count = count, id = id, updateModel = true, updateCallback = updateCallBack }; return(timeTask); }