예제 #1
0
 public void RemoveTimeCountDownRoutine(uint tokenID)
 {
     for (int i = CountDownRoutineList.Count - 1; i >= 0; i--)
     {
         CountDownRoutine timeCountDown = CountDownRoutineList[i];
         if (timeCountDown.TokenID == tokenID)
         {
             CountDownRoutineList.Remove(timeCountDown);
         }
     }
 }
예제 #2
0
 private void UpdateCountDownRoutine(float deltaTime)
 {
     currentTimeCountDownInterval += deltaTime;
     if (currentTimeCountDownInterval > timeCountDownInterval)
     {
         currentTimeCountDownInterval = 0;
         for (int i = CountDownRoutineList.Count - 1; i >= 0; i--)
         {
             CountDownRoutine timeCountDown = CountDownRoutineList[i];
             if (timeCountDown.CallBackTime < currentTimeTick)
             {
                 timeCountDown.CountDownCallBack();
                 CountDownRoutineList.Remove(timeCountDown);
             }
         }
     }
 }
예제 #3
0
        public uint AddTimeCountDownRoutine(long unixTime, CountDownDelegate onTimeCountDownRoutine)
        {
            long nowTime   = currentTimeTick;
            long delayTime = unixTime - nowTime;

            if (onTimeCountDownRoutine != null && delayTime > 0)
            {
                timeCountDownTokenID++;
                CountDownRoutine timeCountDown = new CountDownRoutine();
                timeCountDown.CountDownCallBack = onTimeCountDownRoutine;
                timeCountDown.CallBackTime      = unixTime;
                timeCountDown.TokenID           = timeCountDownTokenID;
                CountDownRoutineList.Add(timeCountDown);
                return(timeCountDownTokenID);
            }

            return(0);
        }