/// <summary>
        /// 更换定时任务
        /// </summary>
        public bool ReplaceTimerTask(int tid, Action callback, float destTime, float delay, int count = 1, PETimeType timeType = PETimeType.Millisecond)
        {
            if (timeType != PETimeType.Millisecond)
            {
                switch (timeType)
                {
                case PETimeType.Second:
                    destTime = destTime * 1000;
                    break;

                case PETimeType.Minute:
                    destTime = destTime * 1000 * 60;
                    break;

                case PETimeType.Hour:
                    destTime = destTime * 1000 * 60 * 60;
                    break;

                case PETimeType.Day:
                    destTime = destTime * 1000 * 60 * 60 * 24;
                    break;

                default:
                    Debug.Log("Add Time Type Error!");
                    break;
                }
            }
            destTime = Time.realtimeSinceStartup * 1000 + destTime;
            PETimerTask newTask = new PETimerTask(callback, destTime, delay, count, tid);
            bool        isRep   = false;

            for (int i = 0; i < timerTasks.Count; i++)
            {
                if (tid == timerTasks[i].tid)
                {
                    timerTasks[i] = newTask;
                    isRep         = true;
                    break;
                }
            }

            if (!isRep)
            {
                for (int i = 0; i < tempTimerTasks.Count; i++)
                {
                    if (tid == tempTimerTasks[i].tid)
                    {
                        tempTimerTasks[i] = newTask;
                        isRep             = true;
                        break;
                    }
                }
            }

            return(isRep);
        }
        /// <summary>
        /// 添加时间任务
        /// </summary>
        /// <param name="callback">等待一段时间后需要执行的方法</param>
        /// <param name="destTime">第一次执行等待的时间</param>
        /// <param name="delay">(第二次执行后)重复执行等待的时间</param>
        /// <param name="count">重复执行的次数,0为无限重复执行</param>
        /// <param name="timeType">添加的时间类型,默认毫秒为单位,用秒需要乘1000</param>
        /// <returns></returns>
        public int AddTimerTask(Action callback, float destTime, float delay, int count = 1, PETimeType timeType = PETimeType.Millisecond)
        {
            if (timeType != PETimeType.Millisecond)
            {
                switch (timeType)
                {
                case PETimeType.Second:
                    destTime = destTime * 1000;
                    break;

                case PETimeType.Minute:
                    destTime = destTime * 1000 * 60;
                    break;

                case PETimeType.Hour:
                    destTime = destTime * 1000 * 60 * 60;
                    break;

                case PETimeType.Day:
                    destTime = destTime * 1000 * 60 * 60 * 24;
                    break;

                default:
                    Debug.Log("Add Time Type Error!");
                    break;
                }
            }
            int tid = GetID();

            destTime = Time.realtimeSinceStartup * 1000 + destTime;
            PETimerTask timerTask = new PETimerTask(callback, destTime, delay, count, tid);

            tempTimerTasks.Add(timerTask);
            idList.Add(tid);
            return(tid);
        }