Skip to content
Snippets Groups Projects
DragHandling.cs 865 B
Newer Older
  • Learn to ignore specific revisions
  • BenniHome's avatar
    BenniHome committed
    using UnityEngine.EventSystems;
    
    public class DragHandling : MonoBehaviour, IDragHandler, IEndDragHandler
    {
        private Vector3 StartingPosition;
        private bool dragged = false;
    
        public void OnDrag(PointerEventData eventData)
        {
            if (!dragged)
            {
    
    BenniHome's avatar
    BenniHome committed
                StartingPosition = transform.localPosition;
                GetComponent<CanvasGroup>().blocksRaycasts = false;
                dragged = true;
            }
            transform.position = Input.mousePosition;
        }
    
    
        public void OnEndDrag(PointerEventData eventData)
        {
    
    BenniHome's avatar
    BenniHome committed
            transform.localPosition = StartingPosition;
    
            GetComponent<CanvasGroup>().blocksRaycasts = true;
    
    BenniHome's avatar
    BenniHome committed
            dragged = false;
    
    
    BenniHome's avatar
    BenniHome committed
        // Start is called before the first frame update
        void Start()
        {
    
    BenniHome's avatar
    BenniHome committed
        }
    
        // Update is called once per frame
        void Update()
        {
    
    BenniHome's avatar
    BenniHome committed
        }
    }