static public void UpdateWidgetCollider (BoxCollider box, bool considerInactive)
{
if (box != null)
{
GameObject go = box.gameObject;
UIWidget w = go.GetComponent<UIWidget>();
if (w != null)
{
Vector4 dr = w.drawRegion;
if (dr.x != 0f || dr.y != 0f || dr.z != 1f || dr.w != 1f)
{
Vector4 region = w.drawingDimensions;
box
.center = new Vector3
((region
.x + region
.z) * 0
.5f,
(region
.y + region
.w) * 0
.5f
); box
.size = new Vector3
(region
.z - region
.x, region
.w - region
.y); }
else
{
Vector3[] corners = w.localCorners;
box.center = Vector3.Lerp(corners[0], corners[2], 0.5f);
box.size = corners[2] - corners[0];
}
}
else
{
Bounds b = NGUIMath.CalculateRelativeWidgetBounds(go.transform, considerInactive);
box.center = b.center;
box
.size = new Vector3
(b
.size.x, b
.size.y, 0f
); }
#if UNITY_EDITOR
NGUITools.SetDirty(box);
#endif
}
}