using UnityEngine;
using System.Collections;
[RequireComponent
(typeof(UIDraggablePanel
))] public class UIDraggablePanelSelectedObjectFollower : MonoBehaviour {
UIDraggablePanel draggablePanel;
Transform mTrans;
GameObject mGO;
GameObject lastFollowed;
void Awake() {
mGO = gameObject;
mTrans = transform;
draggablePanel = GetComponent<UIDraggablePanel>();
}
void Update() {
if (enabled && mGO.active && UICamera.selectedObject != null && UICamera.selectedObject != lastFollowed) {
if (!UICamera.selectedObject.transform.IsChildOf(draggablePanel.transform)) return;
var draggableBounds = draggablePanel.bounds;
var widgetBounds = NGUIMath.CalculateRelativeWidgetBounds(draggablePanel.transform, UICamera.selectedObject.transform);
UIPanel mPanel = GetComponent<UIPanel>();
Vector3 constraint = mPanel.CalculateConstrainOffset(widgetBounds.min, widgetBounds.max);
if (constraint.sqrMagnitude > 0.000001f) {
SpringPanel.Begin(mPanel.gameObject, mTrans.localPosition + constraint, 13f);
lastFollowed = UICamera.selectedObject;
}
}
}
}