예제 #1
0
        private IEnumerable <RectTransform> FindInvisibles(RangeInt viewRange)
        {
            var hides = visibles.Keys.Except(viewRange.GetEnumerable()).ToArray();

            foreach (var i in hides)
            {
                visibles.Remove(i);
            }

            return(rectChildren.Except(visibles.Values).ToArray());
        }
예제 #2
0
        private void UpdateChildIndex(RangeInt viewRange)
        {
            var invisibles    = FindInvisibles(viewRange).GetEnumerator();
            var newlyVisibles = viewRange.GetEnumerable().Except(visibles.Keys);

            foreach (var index in newlyVisibles)
            {
                if (invisibles.MoveNext() == false)
                {
                    break;
                }

                var invisible = invisibles.Current;
                visibles.Add(index, invisible);
            }
        }