天津23维预案
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.1 KiB

2 years ago
using UnityEngine;
using UnityEngine.EventSystems;
using System.Collections;
namespace UIWidgets {
/// <summary>
/// Bring to front UI object on click.
/// Use carefully: it change hierarchy. Objects under layout control will be at another positions.
/// </summary>
[AddComponentMenu("UI/UIWidgets/BringToFront")]
public class BringToFront : MonoBehaviour, IPointerDownHandler {
/// <summary>
/// Bring to front UI object with parents.
/// </summary>
[SerializeField]
public bool WithParents = false;
/// <summary>
/// Raises the pointer down event.
/// </summary>
/// <param name="eventData">Event data.</param>
public virtual void OnPointerDown(PointerEventData eventData)
{
ToFront();
}
/// <summary>
/// Bring to front UI object.
/// </summary>
public virtual void ToFront()
{
ToFront(transform);
}
/// <summary>
/// TBring to front specified object.
/// </summary>
/// <param name="obj">Object.</param>
void ToFront(Transform obj)
{
obj.SetAsLastSibling();
if (WithParents && (obj.parent!=null))
{
ToFront(obj.parent);
}
}
}
}