32 lines
775 B
C#
32 lines
775 B
C#
using UnityEngine;
|
|
using UnityEngine.EventSystems;
|
|
|
|
public class UIDragItem : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
|
|
{
|
|
private CanvasGroup canvasGroup;
|
|
private Transform originParent;
|
|
|
|
void Awake()
|
|
{
|
|
canvasGroup = GetComponent<CanvasGroup>();
|
|
originParent = transform.parent;
|
|
}
|
|
|
|
public void OnBeginDrag(PointerEventData eventData)
|
|
{
|
|
canvasGroup.blocksRaycasts = false;
|
|
transform.SetParent(transform.root); // ×îÉϲã
|
|
}
|
|
|
|
public void OnDrag(PointerEventData eventData)
|
|
{
|
|
transform.position = eventData.position;
|
|
}
|
|
|
|
public void OnEndDrag(PointerEventData eventData)
|
|
{
|
|
canvasGroup.blocksRaycasts = true;
|
|
transform.SetParent(originParent);
|
|
}
|
|
}
|