// Token: 0x06001A3D RID: 6717 RVA: 0x000663F8 File Offset: 0x000645F8 public bool Insert(global::InterpTimedEvent node) { global::InterpTimedEvent.Dir dir; dir.node = node; dir.has = true; return(this.Insert(ref dir)); }
// Token: 0x06001A39 RID: 6713 RVA: 0x00065E38 File Offset: 0x00064038 public bool Dequeue(MonoBehaviour script, ulong playhead, out global::InterpTimedEvent node, ref global::InterpTimedEvent.LList.Iterator iter_) { if (this.count <= 0) { node = null; return(false); } global::InterpTimedEvent.Dir dir = (!iter_.started) ? this.first : iter_.d; while (dir.has) { if (playhead < dir.node.info.timestamp) { break; } if (dir.node.component == script) { node = dir.node; iter_.d = node.next; iter_.started = true; this.Remove(node); return(true); } dir = dir.node.next; } iter_.d = default(global::InterpTimedEvent.Dir); iter_.started = true; node = null; return(false); }
// Token: 0x06001A1F RID: 6687 RVA: 0x00065630 File Offset: 0x00063830 private static void InvokeDirect(global::InterpTimedEvent evnt) { global::InterpTimedEvent interpTimedEvent = global::InterpTimedEvent.current; global::InterpTimedEvent.current = evnt; global::InterpTimedEvent.Invoke(); global::InterpTimedEvent.current = interpTimedEvent; }
// Token: 0x06001A3A RID: 6714 RVA: 0x00065F10 File Offset: 0x00064110 internal bool Remove(global::InterpTimedEvent node) { if (this.RemoveUnsafe(node)) { if (this.FAIL_SAFE_SET != null) { this.FAIL_SAFE_SET.Remove(node); } return(true); } return(false); }
// Token: 0x06001A3B RID: 6715 RVA: 0x00065F3C File Offset: 0x0006413C private bool RemoveUnsafe(global::InterpTimedEvent node) { if (this.count > 0 && node != null && node.inlist) { if (node.prev.has) { if (node.next.has) { node.next.node.prev = node.prev; node.prev.node.next = node.next; this.count--; node.prev = (node.next = default(global::InterpTimedEvent.Dir)); node.inlist = false; return(true); } this.last = node.prev; this.last.node.next = default(global::InterpTimedEvent.Dir); this.count--; node.prev = (node.next = default(global::InterpTimedEvent.Dir)); node.inlist = false; return(true); } else { if (node.next.has) { this.first = node.next; this.first.node.prev = default(global::InterpTimedEvent.Dir); this.count--; node.prev = (node.next = default(global::InterpTimedEvent.Dir)); node.inlist = false; return(true); } if (this.first.node == node) { this.first = (this.last = default(global::InterpTimedEvent.Dir)); this.count = 0; node.prev = (node.next = default(global::InterpTimedEvent.Dir)); node.inlist = false; return(true); } } } return(false); }
// Token: 0x06001A2E RID: 6702 RVA: 0x00065958 File Offset: 0x00063B58 public static bool QueueOrExecute(global::IInterpTimedEventReceiver receiver, bool immediate, string tag, ref uLink.NetworkMessageInfo info, params object[] args) { MonoBehaviour receiver2 = receiver as MonoBehaviour; global::InterpTimedEvent interpTimedEvent = global::InterpTimedEvent.New(receiver2, tag, ref info, args, immediate); if (interpTimedEvent == null) { return(false); } if (immediate) { global::InterpTimedEvent.InvokeDirect(interpTimedEvent); } else if (!global::InterpTimedEventSyncronizer.available) { Debug.LogWarning("Not running event because theres no syncronizer available. " + tag, receiver as Object); return(false); } return(true); }
// Token: 0x06001A28 RID: 6696 RVA: 0x0006582C File Offset: 0x00063A2C internal static global::InterpTimedEvent New(MonoBehaviour receiver, string tag, ref uLink.NetworkMessageInfo info, object[] args, bool immediate) { if (!receiver) { Debug.LogError("receiver is null or has been destroyed", receiver); return(null); } if (!(receiver is global::IInterpTimedEventReceiver)) { Debug.LogError("receiver of type " + receiver.GetType() + " does not implement IInterpTimedEventReceiver", receiver); return(null); } global::InterpTimedEvent interpTimedEvent; if (global::InterpTimedEvent.dump.has) { global::InterpTimedEvent.dumpCount--; interpTimedEvent = global::InterpTimedEvent.dump.node; global::InterpTimedEvent.dump = interpTimedEvent.next; interpTimedEvent.next = default(global::InterpTimedEvent.Dir); interpTimedEvent.prev = default(global::InterpTimedEvent.Dir); interpTimedEvent.disposed = false; } else { interpTimedEvent = new global::InterpTimedEvent(); } interpTimedEvent.args = global::InterpTimedEvent.ArgList.New(args); interpTimedEvent.tag = tag; interpTimedEvent.component = receiver; interpTimedEvent.info = info; if (!immediate) { global::InterpTimedEvent.queue.Insert(interpTimedEvent); } return(interpTimedEvent); }
// Token: 0x06001A37 RID: 6711 RVA: 0x00065D68 File Offset: 0x00063F68 public bool Dequeue(ulong playhead, out global::InterpTimedEvent node, ref global::InterpTimedEvent.LList.Iterator iter_) { if (this.count <= 0) { node = null; return(false); } global::InterpTimedEvent.Dir dir = (!iter_.started) ? this.first : iter_.d; if (dir.has) { if (playhead >= dir.node.info.timestamp) { node = dir.node; iter_.d = node.next; iter_.started = true; this.Remove(node); return(true); } } iter_.d = default(global::InterpTimedEvent.Dir); iter_.started = true; node = null; return(false); }
// Token: 0x06001A38 RID: 6712 RVA: 0x00065E14 File Offset: 0x00064014 public bool Dequeue(MonoBehaviour script, ulong playhead, out global::InterpTimedEvent node) { global::InterpTimedEvent.LList.Iterator iterator = default(global::InterpTimedEvent.LList.Iterator); return(this.Dequeue(script, playhead, out node, ref iterator)); }
// Token: 0x06001A36 RID: 6710 RVA: 0x00065D44 File Offset: 0x00063F44 public bool Dequeue(ulong playhead, out global::InterpTimedEvent node) { global::InterpTimedEvent.LList.Iterator iterator = default(global::InterpTimedEvent.LList.Iterator); return(this.Dequeue(playhead, out node, ref iterator)); }