Ejemplo n.º 1
0
 // 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));
 }
Ejemplo n.º 2
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);
 }
Ejemplo n.º 3
0
    // 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;
    }
Ejemplo n.º 4
0
 // 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);
 }
Ejemplo n.º 5
0
 // 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);
 }
Ejemplo n.º 6
0
    // 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);
    }
Ejemplo n.º 7
0
    // 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);
    }
Ejemplo n.º 8
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);
 }
Ejemplo n.º 9
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));
 }
Ejemplo n.º 10
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));
 }