Advertisement
Guest User

Untitled

a guest
Mar 24th, 2018
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.81 KB | None | 0 0
  1.    /// <summary>
  2.         /// Ticks all timers if necesarry
  3.         /// </summary>
  4.         private void TickAllTimers()
  5.         {
  6.             try
  7.             {
  8.                 for (int i = 0; i < allTimers.Count; i++)
  9.                 {
  10.                     if (!allTimers[i].Paused)
  11.                     {
  12.                         bool status = allTimers[i].Tick(Time.deltaTime);
  13.  
  14.                         if (i >= allTimers.Count || allTimers[i] == null)
  15.                             continue;
  16.  
  17.                         bool fixedStatus = allTimers[i].FixedTick(Time.fixedDeltaTime);
  18.  
  19.                         if (status || fixedStatus)
  20.                         {
  21.                             if (i >= allTimers.Count)
  22.                                 break;
  23.  
  24.                             if (allTimers[i] != null && (allTimers[i].MarkForCleanUp || !allTimers[i].Recursive))
  25.                                 timersToRemove.Add(allTimers[i]);
  26.  
  27.                             if (allTimers[i].OnTimerEnded != null)
  28.                                 allTimers[i].OnTimerEnded.Invoke();
  29.  
  30.                             if (i >= allTimers.Count || allTimers[i] == null)
  31.                                 continue;
  32.  
  33.                             if (i < allTimers.Count && allTimers[i].Recursive)
  34.                                 allTimers[i].Reset();
  35.                         }
  36.                     }
  37.                 }
  38.  
  39.                 if (timersToRemove.Count == 0)
  40.                     return;
  41.  
  42.                 for (int i = 0; i < timersToRemove.Count; i++)
  43.                     AllTimers.Remove(timersToRemove[i]);
  44.  
  45.                 timersToRemove.Clear();
  46.             }
  47.             catch(Exception e)
  48.             {
  49.                 Debug.Log("Exception thrown in timer.");
  50.                 Debug.LogException(e);
  51.             }
  52.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement