private void Delete(ref UIDrawCall.Iterator iter) { if (iter.Has) { UIDrawCall current = iter.Current; if (object.ReferenceEquals(current, this.mDrawCalls)) { this.mDrawCalls = iter.Next.Current; } iter = iter.Next; current.LinkedList__Remove(); this.mDrawCallCount--; NGUITools.DestroyImmediate(current.gameObject); } }