UIPanel panel = mDrag.panel;
Vector4 clip = panel.clipRange;
Vector3 posToCenter = mCenteredObject.transform.localPosition;
Bounds panelBounds = NGUIMath.CalculateRelativeWidgetBounds(panel.transform);
Bounds targetBounds
= new Bounds
(posToCenter,
new Vector3
(clip
.z, clip
.w));Vector3 offset = NGUIMath.ConstrainRect(targetBounds.min, targetBounds.max, panelBounds.min, panelBounds.max).ToVector3();
Vector3 constrainedTargetPos = posToCenter + offset;
SpringPanel.Begin(mDrag.gameObject, -constrainedTargetPos, 8.0f).onFinished = onFinished;