using UnityEngine;
using UnityEngine.EventSystems;
public class UIDragAndDrop : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
{
public static GameObject dragItem;
private Vector3 startPosition = Vector3.zero;
private Transform startParent;
public void OnBeginDrag(PointerEventData eventData)
{
dragItem = gameObject;
startPosition = transform.position;
startParent = transform.parent;
GetComponent<CanvasGroup>().blocksRaycasts = false;
transform.parent = startParent.parent;
}
public void OnDrag(PointerEventData eventData)
{
transform.position = Input.mousePosition;
transform.SetAsLastSibling();
}
public void OnEndDrag(PointerEventData eventData)
{
dragItem = null;
GetComponent<CanvasGroup>().blocksRaycasts = true;
GameObject dropPanel = eventData.pointerEnter;
if (dropPanel == null || dropPanel.tag != "dropTag")
{
transform.position = startPosition;
transform.parent = startParent;
}
}
}
using UnityEngine;
using UnityEngine.EventSystems;
public class PanelController : MonoBehaviour, IDropHandler
{
public void OnDrop(PointerEventData eventData)
{
UIDragAndDrop.dragItem.transform.SetParent(transform);
}
}
NO GAME NO DREAM !!!!
ปล. มีอะไรแนะนำได้นะครับ