Exemple #1
0
 /// <summary>
 /// Delays the function until the next frame
 /// </summary>
 /// <param name='method'>
 /// Method.
 /// </param>
 public static void Skip(DelayedDelegate method, int skipFrames)
 {
     PreAdd();
     delayedDelegates.Add(method);
     delayedDelegatesTime.Add(0);
     delayedDelegatesRealtime.Add(false);
     delayedDelegatesFrame.Add(Time.frameCount + skipFrames);
 }
Exemple #2
0
 public static void Add(DelayedDelegate method, float delay, bool realTime)
 {
     PreAdd();
     delayedDelegates.Add(method);
     delayedDelegatesTime.Add(Time.fixedTime + delay);
     delayedDelegatesRealtime.Add(true);
     delayedDelegatesFrame.Add(0);
 }
Exemple #3
0
 public static void RemoveAll(DelayedDelegate method)
 {
     for (int x = delayedDelegates.Count - 1; x >= 0; x--)
     {
         if (delayedDelegates[x] == method)
         {
             delayedDelegates.RemoveAt(x);
             delayedDelegatesTime.RemoveAt(x);
             delayedDelegatesFrame.RemoveAt(x);
             delayedDelegatesRealtime.RemoveAt(x);
         }
     }
 }
Exemple #4
0
    public static void RunAll(DelayedDelegate method)
    {
        for (int x = delayedDelegates.Count - 1; x >= 0; x--)
        {
            if (delayedDelegates[x] == method)
            {
                delayedDelegatesTime[x]     = Time.fixedTime;
                delayedDelegatesRealtime[x] = false;
                delayedDelegatesFrame[x]    = 0;
            }
        }

        DelayedDelegates.RunDelegates();
    }