Beispiel #1
0
 public static void EMERGENCY_DUMP(bool TRY_TO_EXECUTE)
 {
     Debug.LogWarning(string.Concat("RUNNING EMERGENCY DUMP: TRY TO EXECUTE=", TRY_TO_EXECUTE));
     try
     {
         try
         {
             if (!TRY_TO_EXECUTE)
             {
                 InterpTimedEvent.queue.EmergencyDump(false);
             }
             else
             {
                 try
                 {
                     foreach (InterpTimedEvent interpTimedEvent in InterpTimedEvent.queue.EmergencyDump(true))
                     {
                         try
                         {
                             try
                             {
                                 InterpTimedEvent.InvokeDirect(interpTimedEvent);
                             }
                             catch (Exception exception)
                             {
                                 Debug.LogException(exception);
                             }
                         }
                         finally
                         {
                             try
                             {
                                 interpTimedEvent.Dispose();
                             }
                             catch (Exception exception1)
                             {
                                 Debug.LogException(exception1);
                             }
                         }
                     }
                 }
                 catch (Exception exception2)
                 {
                     Debug.LogException(exception2);
                 }
             }
         }
         catch (Exception exception3)
         {
             Debug.LogException(exception3);
         }
     }
     finally
     {
         InterpTimedEvent.queue     = new InterpTimedEvent.LList();
         InterpTimedEvent.dump      = new InterpTimedEvent.Dir();
         InterpTimedEvent.dumpCount = 0;
     }
     Debug.LogWarning(string.Concat("END OF EMERGENCY DUMP: TRY TO EXECUTE=", TRY_TO_EXECUTE));
 }
Beispiel #2
0
    public static void Remove(UnityEngine.MonoBehaviour receiver, bool invokePending)
    {
        InterpTimedEvent interpTimedEvent;

        InterpTimedEvent.LList.Iterator iterator = new InterpTimedEvent.LList.Iterator();
        if (!invokePending)
        {
            while (InterpTimedEvent.queue.Dequeue(receiver, (ulong)-1, out interpTimedEvent, ref iterator))
            {
                interpTimedEvent.Dispose();
            }
        }
        else
        {
            while (InterpTimedEvent.queue.Dequeue(receiver, (ulong)-1, out interpTimedEvent, ref iterator))
            {
                InterpTimedEvent.InvokeDirect(interpTimedEvent);
            }
        }
    }
Beispiel #3
0
    public static bool QueueOrExecute(IInterpTimedEventReceiver receiver, bool immediate, string tag, ref uLink.NetworkMessageInfo info, params object[] args)
    {
        UnityEngine.MonoBehaviour monoBehaviour    = receiver as UnityEngine.MonoBehaviour;
        InterpTimedEvent          interpTimedEvent = InterpTimedEvent.New(monoBehaviour, tag, ref info, args, immediate);

        if (interpTimedEvent == null)
        {
            return(false);
        }
        if (immediate)
        {
            InterpTimedEvent.InvokeDirect(interpTimedEvent);
        }
        else if (!InterpTimedEventSyncronizer.available)
        {
            Debug.LogWarning(string.Concat("Not running event because theres no syncronizer available. ", tag), receiver as UnityEngine.Object);
            return(false);
        }
        return(true);
    }
Beispiel #4
0
    public static void Clear(bool invokePending)
    {
        InterpTimedEvent interpTimedEvent;

        InterpTimedEvent.LList.Iterator iterator = new InterpTimedEvent.LList.Iterator();
        if (!invokePending)
        {
            while (InterpTimedEvent.queue.Dequeue((ulong)-1, out interpTimedEvent, ref iterator))
            {
                interpTimedEvent.Dispose();
            }
        }
        else
        {
            while (InterpTimedEvent.queue.Dequeue((ulong)-1, out interpTimedEvent, ref iterator))
            {
                InterpTimedEvent.InvokeDirect(interpTimedEvent);
            }
        }
    }