35 lines
1.1 KiB
C#
35 lines
1.1 KiB
C#
//----------------------------------------------
|
|
// NGUI: Next-Gen UI kit
|
|
// Copyright © 2011-2015 Tasharen Entertainment
|
|
//----------------------------------------------
|
|
|
|
using UnityEngine;
|
|
|
|
/// <summary>
|
|
/// Attaching this script to an element of a scroll view will make it possible to center on it by clicking on it.
|
|
/// </summary>
|
|
|
|
[AddComponentMenu("NGUI/Interaction/Center Scroll View on Click")]
|
|
public class UICenterOnClick : MonoBehaviour
|
|
{
|
|
void OnClick ()
|
|
{
|
|
UICenterOnChild center = NGUITools.FindInParents<UICenterOnChild>(gameObject);
|
|
UIPanel panel = NGUITools.FindInParents<UIPanel>(gameObject);
|
|
|
|
if (center != null)
|
|
{
|
|
if (center.enabled)
|
|
center.CenterOn(transform);
|
|
}
|
|
else if (panel != null && panel.clipping != UIDrawCall.Clipping.None)
|
|
{
|
|
UIScrollView sv = panel.GetComponent<UIScrollView>();
|
|
Vector3 offset = -panel.cachedTransform.InverseTransformPoint(transform.position);
|
|
if (!sv.canMoveHorizontally) offset.x = panel.cachedTransform.localPosition.x;
|
|
if (!sv.canMoveVertically) offset.y = panel.cachedTransform.localPosition.y;
|
|
SpringPanel.Begin(panel.cachedGameObject, offset, 6f);
|
|
}
|
|
}
|
|
}
|