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)); }
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); } } }
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); }
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); } } }