Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- using UnityEngine.EventSystems;
- public class DragHandler : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
- {
- public static GameObject itemBeingDragged;
- #region IBeginDragHandler implementation
- public void OnBeginDrag(PointerEventData eventData)
- {
- itemBeingDragged = gameObject;
- Color c = itemBeingDragged.transform.GetChild (0).GetComponent<Image> ().color;
- c.a = 1;
- itemBeingDragged.transform.GetChild(0).GetComponent<Image> ().color = c;
- itemBeingDragged.GetComponent<Piece>().latestPosition = itemBeingDragged.GetComponent<Piece>().transform.position;
- itemBeingDragged.GetComponent<Piece>().latestParent = itemBeingDragged.GetComponent<Piece>().transform.parent;
- GetComponent<CanvasGroup>().blocksRaycasts = false;
- }
- #endregion
- #region IDragHandler implementation
- public void OnDrag(PointerEventData eventData)
- {
- transform.position = new Vector3(Input.mousePosition.x,Input.mousePosition.y,100f);
- }
- #endregion
- #region IEndDragHandler implementation
- public void OnEndDrag(PointerEventData eventData)
- {
- GetComponent<CanvasGroup>().blocksRaycasts = true;
- if (itemBeingDragged.GetComponent<Piece>().transform.parent == itemBeingDragged.GetComponent<Piece>().latestParent) {
- itemBeingDragged.GetComponent<Piece>().currentLocation = itemBeingDragged.GetComponent<Piece>().transform.position;
- itemBeingDragged.GetComponent<Piece>().targetLocation = itemBeingDragged.GetComponent<Piece>().latestPosition;
- itemBeingDragged.GetComponent<Piece>().animate = true;
- if (itemBeingDragged.GetComponent<Piece>().transform.parent == itemBeingDragged.GetComponent<Piece>().originalParent)
- {
- itemBeingDragged.GetComponent<Piece>().ResetPrefabPiece();
- }
- }
- itemBeingDragged = null;
- }
- #endregion
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement