public int ID;
public static int PreviousID = -1;
private float scrollViewTopY = 178.0f;
private float itemHeight = 30.0f;
UIPanel panel;
UIScrollView scrollView;
Vector3 offset = Vector3.zero;
public void AnimateToItem()
{
SpringPanel.Begin(panel.cachedGameObject, offset, 6f);
}
void OnSelect (bool selected)
{
if (!selected) return;
offset.y = -transform.localPosition.y;
float posDiff = panel.transform.localPosition.y - scrollViewTopY + transform.localPosition.y - itemHeight;
posDiff = -posDiff;
if (ID > PreviousID && posDiff > scrollView.panel.finalClipRegion.w ) {
offset.y -= scrollView.panel.finalClipRegion.w/2 - itemHeight/2;
AnimateToItem();
}
else if (ID < PreviousID && posDiff < itemHeight) {
offset.y += scrollView.panel.finalClipRegion.w/2 - itemHeight/2;
AnimateToItem();
}
PreviousID = ID;
}
void Start ()
{
panel = NGUITools.FindInParents<UIPanel>(gameObject);
scrollView = panel.GetComponent<UIScrollView>();
}