示例#1
0
        public void UpdateRectangles()
        {
            this.UpdateCullRect();
            for (int n = 0, count = this.list.Count; n < count; ++n)
            {
                CullData data = this.list[n];
                if (!data.IsEnabled || !data.Target)
                {
                    continue;
                }

                data.Update();
            }
        }
示例#2
0
        // NOTE: for performance! (duplicated code)
        public void UpdateVisibles()
        {
            Rect area = this.UpdateCullRect();

            for (int n = 0, count = this.list.Count; n < count; ++n)
            {
                CullData data = this.list[n];
                if (!data.IsEnabled)
                {
                    continue;
                }

                if (!data.IsValid)
                {
                    continue;
                }

                data.Update();

                Rect rect = data.Rect;
                if (area.xMin < rect.xMax && area.xMax > rect.xMin &&
                    area.yMin < rect.yMax && area.yMax > rect.yMin)
                {
                    if (!data.IsActivated)
                    {
                        data.SetActive(true);
                    }
                }
                else
                {
                    if (data.IsActivated)
                    {
                        data.SetActive(false);
                    }
                }
            }
        }