Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
public class DragDrop : MonoBehaviour, IPointerDownHandler, IBeginDragHandler, IEndDragHandler, IDragHandler { [SerializeField] private Canvas canvas; private RectTransform rectTransform; private CanvasGroup canvasGroup; private void Awake() { rectTransform = GetComponent<RectTransform>(); canvasGroup = GetComponent<CanvasGroup>(); } public void OnBeginDrag(PointerEventData eventData) { Debug.Log("OnBeginDrag"); canvasGroup.alpha = .6f; canvasGroup.blocksRaycasts = false; } public void OnDrag(PointerEventData eventData) { Debug.Log("OnDrag"); rectTransform.anchoredPosition += eventData.delta / canvas.scaleFactor; } public void OnEndDrag(PointerEventData eventData) { Debug.Log("OnEndDrag"); canvasGroup.alpha = 1f; canvasGroup.blocksRaycasts = true; } public void OnPointerDown(PointerEventData eventData) { Debug.Log("OnPointerDown"); } }
public class ItemSlot : MonoBehaviour, IDropHandler { public void OnDrop(PointerEventData eventData) { Debug.Log("OnDrop"); if (eventData.pointerDrag != null) { eventData.pointerDrag.GetComponent<RectTransform>().anchoredPosition = GetComponent<RectTransform>().anchoredPosition; } } }