private void IndexedSetRemoveAt()
 {
     for (int i = 0; i < count; i++)
     {
         indexedSet.RemoveAt(indexedSet.Count - 1);
     }
 }
示例#2
0
 private void CleanInvalidItems()
 {
     for (int num = m_LayoutRebuildQueue.Count - 1; num >= 0; num--)
     {
         ICanvasElement canvasElement = m_LayoutRebuildQueue[num];
         if (canvasElement == null)
         {
             m_LayoutRebuildQueue.RemoveAt(num);
         }
         else if (canvasElement.IsDestroyed())
         {
             m_LayoutRebuildQueue.RemoveAt(num);
             canvasElement.LayoutComplete();
         }
     }
     for (int num2 = m_GraphicRebuildQueue.Count - 1; num2 >= 0; num2--)
     {
         ICanvasElement canvasElement2 = m_GraphicRebuildQueue[num2];
         if (canvasElement2 == null)
         {
             m_GraphicRebuildQueue.RemoveAt(num2);
         }
         else if (canvasElement2.IsDestroyed())
         {
             m_GraphicRebuildQueue.RemoveAt(num2);
             canvasElement2.GraphicUpdateComplete();
         }
     }
 }
示例#3
0
        //todo

        private void CleanInvalidItems()
        {
            for (int i = m_LayoutRebuildQueue.Count - 1; i >= 0; i--)
            {
                var item = m_LayoutRebuildQueue[i];
                if (item == null)
                {
                    m_LayoutRebuildQueue.RemoveAt(i);
                    continue;
                }

                if (item.IsDestroyed())
                {
                    m_LayoutRebuildQueue.RemoveAt(i);
                    item.LayoutComplete();
                }
            }

            for (int i = m_GraphicRebuildQueue.Count - 1; i >= 0; i--)
            {
                var item = m_GraphicRebuildQueue[i];
                if (item == null)
                {
                    m_GraphicRebuildQueue.RemoveAt(i);
                    continue;
                }

                if (item.IsDestroyed())
                {
                    m_GraphicRebuildQueue.RemoveAt(i);
                    item.GraphicUpdateComplete();
                }
            }
        }
        private void CleanInvalidItems()
        {
            // So MB's override the == operator for null equality, which checks
            // if they are destroyed. This is fine if you are looking at a concrete
            // mb, but in this case we are looking at a list of ICanvasElement
            // this won't forward the == operator to the MB, but just check if the
            // interface is null. IsDestroyed will return if the backend is destroyed.

            var layoutRebuildQueueCount = m_LayoutRebuildQueue.Count;

            for (int i = layoutRebuildQueueCount - 1; i >= 0; --i)
            {
                var item = m_LayoutRebuildQueue[i];
                if (item == null)
                {
                    m_LayoutRebuildQueue.RemoveAt(i);
                    continue;
                }

                if (item.IsDestroyed())
                {
                    m_LayoutRebuildQueue.RemoveAt(i);
                    item.LayoutComplete();
                }
            }

            var graphicRebuildQueueCount = m_GraphicRebuildQueue.Count;

            for (int i = graphicRebuildQueueCount - 1; i >= 0; --i)
            {
                var item = m_GraphicRebuildQueue[i];
                if (item == null)
                {
                    m_GraphicRebuildQueue.RemoveAt(i);
                    continue;
                }

                if (item.IsDestroyed())
                {
                    m_GraphicRebuildQueue.RemoveAt(i);
                    item.GraphicUpdateComplete();
                }
            }
        }
示例#5
0
        public void RemoveAt()
        {
            set.RemoveAt(0);
            Assert.AreEqual(2, set.Count);
            AssertItemsOrder();

            set.Add(10);
            set.RemoveAt(2);
            Assert.AreEqual(2, set.Count);
            AssertItemsOrder();


            Assert.That(() => set.RemoveAt(-1),
                        Throws.Exception.TypeOf <ArgumentOutOfRangeException>());

            Assert.That(() => set.RemoveAt(set.Count),
                        Throws.Exception.TypeOf <ArgumentOutOfRangeException>());

            AssertItemsOrder();
        }
示例#6
0
        public void RemoveAtTest()
        {
            var set = new IndexedSet <string>();

            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                set.RemoveAt(0);
            });

            set.Insert(0, "A");
            Assert.That(set.Count, Is.EqualTo(1));
            Assert.That(set[0], Is.EqualTo("A"));

            set.RemoveAt(0);
            Assert.IsEmpty(set);

            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                set.RemoveAt(0);
            });
        }