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; } }
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); }