Esempio n. 1
0
        public virtual void Dispose()
        {
            if (IsEmpty())
            {
                return;
            }


            LinkNode <T> pNext = head; //此时为更改原来的指针

            //  LinkNode<T> pNext = new LinkNode<T>();
            // pNext = head;

            while (pNext.Next != null)
            {
                LinkNode <T> curNode = pNext.Next;

                pNext = pNext.Next;

                curNode.Dispose();
            }


            if (head != null)
            {
                this.head.Dispose();
            }
        }
Esempio n. 2
0
 public virtual void Dispose()
 {
     if (!this.IsEmpty())
     {
         LinkNode <T> head = this.head;
         while (head.Next != null)
         {
             LinkNode <T> next = head.Next;
             head = head.Next;
             next.Dispose();
         }
         if (this.head != null)
         {
             this.head.Dispose();
         }
     }
 }
Esempio n. 3
0
        public void RemoveCondition(float timer)
        {
            if (IsEmpty())
            {
                return;
            }


            LinkNode <CheckBackMsg> pNext = this.Head;

            //  LinkNode<T> node  =new LinkNode<T>(obj);



            // 首先释放头部以后
            while (pNext.Next != null)
            {
                LinkNode <CheckBackMsg> tmpNode = pNext.Next;

                if (tmpNode.Data.ReduceTime(timer))
                {
                    sendBackMsg.ChangeEventId(tmpNode.Data.msgId);
                    MsgCenter.instance.SendToMsg(sendBackMsg);
                    pNext.Next = tmpNode.Next;
                    tmpNode.Dispose();
                }
                else
                {
                    pNext = pNext.Next;
                }
            }

            // 判断头部是否
            if (this.Head.Data.ReduceTime(timer))
            {
                LinkNode <CheckBackMsg> tmpNode = this.Head;

                sendBackMsg.ChangeEventId(tmpNode.Data.msgId);
                MsgCenter.instance.SendToMsg(sendBackMsg);

                this.Head = this.Head.Next;
                tmpNode.Dispose();
            }
        }