Exemplo n.º 1
0
 // Token: 0x06001A27 RID: 6695 RVA: 0x000657C8 File Offset: 0x000639C8
 public static void Remove(MonoBehaviour receiver, bool invokePending)
 {
     global::InterpTimedEvent.LList.Iterator iterator = default(global::InterpTimedEvent.LList.Iterator);
     if (invokePending)
     {
         global::InterpTimedEvent interpTimedEvent;
         while (global::InterpTimedEvent.queue.Dequeue(receiver, 18446744073709551615UL, out interpTimedEvent, ref iterator))
         {
             global::InterpTimedEvent.InvokeDirect(interpTimedEvent);
         }
     }
     else
     {
         global::InterpTimedEvent interpTimedEvent;
         while (global::InterpTimedEvent.queue.Dequeue(receiver, 18446744073709551615UL, out interpTimedEvent, ref iterator))
         {
             interpTimedEvent.Dispose();
         }
     }
 }
Exemplo n.º 2
0
 // 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);
 }
Exemplo n.º 3
0
        // Token: 0x06001A3E RID: 6718 RVA: 0x00066420 File Offset: 0x00064620
        public List <global::InterpTimedEvent> EmergencyDump(bool botherSorting)
        {
            HashSet <global::InterpTimedEvent> hashSet = new HashSet <global::InterpTimedEvent>();

            global::InterpTimedEvent.LList.Iterator iterator = default(global::InterpTimedEvent.LList.Iterator);
            bool flag;

            do
            {
                global::InterpTimedEvent item;
                try
                {
                    flag = this.Dequeue(ulong.MaxValue, out item, ref iterator);
                }
                catch (Exception ex)
                {
                    Debug.LogException(ex);
                    break;
                }
                if (flag)
                {
                    hashSet.Add(item);
                }
            }while (flag);
            this.first = (this.last = default(global::InterpTimedEvent.Dir));
            this.count = 0;
            HashSet <global::InterpTimedEvent> fail_SAFE_SET = this.FAIL_SAFE_SET;

            this.FAIL_SAFE_SET = null;
            if (fail_SAFE_SET != null)
            {
                hashSet.UnionWith(fail_SAFE_SET);
            }
            List <global::InterpTimedEvent> list = new List <global::InterpTimedEvent>(hashSet);

            if (botherSorting)
            {
                try
                {
                    list.Sort(delegate(global::InterpTimedEvent x, global::InterpTimedEvent y)
                    {
                        if (x == null)
                        {
                            if (y == null)
                            {
                                return(0);
                            }
                            return(0.CompareTo(1));
                        }
                        else
                        {
                            if (y == null)
                            {
                                return(1.CompareTo(0));
                            }
                            ulong timestampInMillis = x.info.timestampInMillis;
                            return(timestampInMillis.CompareTo(y.info.timestampInMillis));
                        }
                    });
                }
                catch (Exception ex2)
                {
                    Debug.LogException(ex2);
                }
            }
            return(list);
        }
Exemplo n.º 4
0
 // 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);
 }
Exemplo n.º 5
0
 // 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));
 }
Exemplo n.º 6
0
 // 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));
 }