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)); }
private bool RemoveUnsafe(InterpTimedEvent node) { InterpTimedEvent.Dir dir; InterpTimedEvent.Dir dir1; InterpTimedEvent.Dir dir2; if (this.count > 0 && node != null && node.inlist) { if (node.prev.has) { if (!node.next.has) { this.last = node.prev; InterpTimedEvent interpTimedEvent = this.last.node; dir = new InterpTimedEvent.Dir(); interpTimedEvent.next = dir; InterpTimedEvent.LList lList = this; lList.count = lList.count - 1; InterpTimedEvent.Dir dir3 = new InterpTimedEvent.Dir(); dir1 = dir3; node.next = dir3; node.prev = dir1; node.inlist = false; return(true); } node.next.node.prev = node.prev; node.prev.node.next = node.next; InterpTimedEvent.LList lList1 = this; lList1.count = lList1.count - 1; InterpTimedEvent.Dir dir4 = new InterpTimedEvent.Dir(); dir = dir4; node.next = dir4; node.prev = dir; node.inlist = false; return(true); } if (node.next.has) { this.first = node.next; InterpTimedEvent interpTimedEvent1 = this.first.node; dir1 = new InterpTimedEvent.Dir(); interpTimedEvent1.prev = dir1; InterpTimedEvent.LList lList2 = this; lList2.count = lList2.count - 1; InterpTimedEvent.Dir dir5 = new InterpTimedEvent.Dir(); dir2 = dir5; node.next = dir5; node.prev = dir2; node.inlist = false; return(true); } if (this.first.node == node) { dir2 = new InterpTimedEvent.Dir(); InterpTimedEvent.Dir dir6 = dir2; InterpTimedEvent.Dir dir7 = dir6; this.last = dir6; this.first = dir7; this.count = 0; dir7 = new InterpTimedEvent.Dir(); InterpTimedEvent.Dir dir8 = dir7; InterpTimedEvent.Dir dir9 = dir8; node.next = dir8; node.prev = dir9; node.inlist = false; return(true); } } return(false); }
private bool Insert(ref InterpTimedEvent.Dir ent) { InterpTimedEvent.Dir dir; if (ent.node == null) { return(false); } if (ent.node.inlist) { return(false); } if (this.count == 0) { InterpTimedEvent.Dir dir1 = ent; InterpTimedEvent.Dir dir2 = dir1; this.last = dir1; this.first = dir2; } else if (this.last.node.info.timestampInMillis <= ent.node.info.timestampInMillis) { if (this.count != 1) { ent.node.prev = this.last; this.last.node.next = ent; this.last = ent; } else { this.first = this.last; this.last = ent; ent.node.prev = this.first; this.first.node.next = this.last; } } else if (this.count == 1) { this.first = ent; this.first.node.next = this.last; this.last.node.prev = this.first; } else if (this.first.node.info.timestampInMillis <= ent.node.info.timestampInMillis) { if (this.first.node.info.timestampInMillis != ent.node.info.timestampInMillis) { dir = this.last; do { if (!dir.node.prev.has) { goto Label0; } dir = dir.node.prev; }while (dir.node.info.timestampInMillis > ent.node.info.timestampInMillis); } else { dir = this.first; while (dir.node.next.has) { if (dir.node.next.node.info.timestampInMillis <= ent.node.info.timestampInMillis) { dir = dir.node.next; } else { break; } } } Label0: ent.node.next = dir.node.next; ent.node.prev = dir; } else { ent.node.next = this.first; this.first.node.prev = ent; this.first = ent; } InterpTimedEvent.LList lList = this; lList.count = lList.count + 1; ent.node.inlist = true; if (this.FAIL_SAFE_SET == null) { this.FAIL_SAFE_SET = new HashSet <InterpTimedEvent>(); } this.FAIL_SAFE_SET.Add(ent.node); return(true); }