Advertisement
movethebongos

DragHandler

Aug 22nd, 2017
562
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.93 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using UnityEngine.EventSystems;
  6.  
  7. public class DragHandler : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
  8. {
  9.     public static GameObject itemBeingDragged;
  10.    
  11.     #region IBeginDragHandler implementation
  12.     public void OnBeginDrag(PointerEventData eventData)
  13.     {
  14.         itemBeingDragged = gameObject;
  15.         Color c = itemBeingDragged.transform.GetChild (0).GetComponent<Image> ().color;
  16.         c.a = 1;
  17.         itemBeingDragged.transform.GetChild(0).GetComponent<Image> ().color = c;
  18.         itemBeingDragged.GetComponent<Piece>().latestPosition = itemBeingDragged.GetComponent<Piece>().transform.position;
  19.         itemBeingDragged.GetComponent<Piece>().latestParent = itemBeingDragged.GetComponent<Piece>().transform.parent;
  20.         GetComponent<CanvasGroup>().blocksRaycasts = false;
  21.     }
  22.     #endregion
  23.  
  24.     #region IDragHandler implementation
  25.     public void OnDrag(PointerEventData eventData)
  26.     {
  27.         transform.position = new Vector3(Input.mousePosition.x,Input.mousePosition.y,100f);
  28.     }
  29.     #endregion
  30.  
  31.     #region IEndDragHandler implementation
  32.     public void OnEndDrag(PointerEventData eventData)
  33.     {
  34.         GetComponent<CanvasGroup>().blocksRaycasts = true;
  35.         if (itemBeingDragged.GetComponent<Piece>().transform.parent == itemBeingDragged.GetComponent<Piece>().latestParent) {
  36.             itemBeingDragged.GetComponent<Piece>().currentLocation = itemBeingDragged.GetComponent<Piece>().transform.position;
  37.             itemBeingDragged.GetComponent<Piece>().targetLocation = itemBeingDragged.GetComponent<Piece>().latestPosition;
  38.             itemBeingDragged.GetComponent<Piece>().animate = true;
  39.             if (itemBeingDragged.GetComponent<Piece>().transform.parent == itemBeingDragged.GetComponent<Piece>().originalParent)
  40.             {
  41.                 itemBeingDragged.GetComponent<Piece>().ResetPrefabPiece();
  42.             }
  43.         }
  44.         itemBeingDragged = null;
  45.     }
  46.     #endregion
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement