Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- using UnityEngine.EventSystems;
- using UnityEngine.UI;
- public class DragHandeler : MonoBehaviour,IDragHandler,IBeginDragHandler,IEndDragHandler {
- public static GameObject itemBeingDragged;
- Vector3 startPosition;
- Transform startParent;
- //canvasはDrag中に選択肢が他のUIの背後に回らないために使う
- Transform canvas;
- #region IBeginDragHandler implementation
- public void OnBeginDrag(PointerEventData eventData){
- itemBeingDragged = gameObject;
- startPosition = transform.position;
- startParent = transform.parent;
- GetComponent<CanvasGroup> ().blocksRaycasts = false;
- canvas = GameObject.FindGameObjectWithTag("UI Canvas").transform;
- transform.parent = canvas;
- }
- #endregion
- #region IDragHandler implementation
- public void OnDrag(PointerEventData eventData)
- {
- transform.position = Input.mousePosition;
- }
- #endregion
- #region IEndDragHandler implementation
- public void OnEndDrag(PointerEventData eventData)
- {
- itemBeingDragged = null;
- GetComponent<CanvasGroup> ().blocksRaycasts = true;
- if (transform.parent == canvas) {
- transform.position = startPosition;
- }
- }
- #endregion
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement