Пример #1
0
        public void DrawRecursive(
            float offsetX,
            float offsetY,
            DebugPrimitiveRenderer2D renderer)
        {
            if (!_enabled)
            {
                return;
            }

            // まず自分描画
            if (backgroundEnabled)
            {
                renderer.color = backgroundColor;
                renderer.AddRectangle(
                    offsetX + localLeftX,
                    offsetY + localTopY,
                    width,
                    height);
            }
            if (borderEnabled)
            {
                renderer.color = borderColor;
                renderer.AddRectangleFrame(
                    offsetX + localLeftX,
                    offsetY + localTopY,
                    width,
                    height,
                    borderWidth);
            }
            Draw(offsetX, offsetY, renderer);

            // グローバル座標を計算して子を描画
            float globalLeftX = offsetX + localLeftX;
            float globalTopY  = offsetY + localTopY;

            var child = _firstChild;

            while (child != null)
            {
                child.DrawRecursive(globalLeftX, globalTopY, renderer);
                child = child._nextBrother;
            }
        }
Пример #2
0
        public void DrawRecursive(
            float offsetX,
            float offsetY,
            DebugPrimitiveRenderer2D renderer)
        {
            if (!_enabled)
            {
                return;
            }

            // まず自分描画
            if (backgroundEnabled)
            {
                renderer.color = backgroundColor;
                renderer.AddRectangle(
                    offsetX + localLeftX,
                    offsetY + localTopY,
                    width,
                    height);
            }
            if (borderEnabled)
            {
                renderer.color = borderColor;
                renderer.AddRectangleFrame(
                    offsetX + localLeftX,
                    offsetY + localTopY,
                    width,
                    height,
                    borderWidth);
            }
            Draw(offsetX, offsetY, renderer);

            // グローバル座標を計算して子を描画
            float globalLeftX = offsetX + localLeftX;
            float globalTopY  = offsetY + localTopY;

            DrawChildren(globalLeftX, globalTopY, renderer);
            DrawPostChild(offsetX, offsetY, renderer);
        }