Advertisement
Guest User

Untitled

a guest
May 4th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3. using UnityEngine.EventSystems;
  4. using UnityEngine.UI;
  5. public class DragHandeler : MonoBehaviour,IDragHandler,IBeginDragHandler,IEndDragHandler {
  6. public static GameObject itemBeingDragged;
  7.  
  8. Vector3 startPosition;
  9. Transform startParent;
  10. //canvasはDrag中に選択肢が他のUIの背後に回らないために使う
  11. Transform canvas;
  12. #region IBeginDragHandler implementation
  13.  
  14. public void OnBeginDrag(PointerEventData eventData){
  15. itemBeingDragged = gameObject;
  16. startPosition = transform.position;
  17. startParent = transform.parent;
  18. GetComponent<CanvasGroup> ().blocksRaycasts = false;
  19.  
  20. canvas = GameObject.FindGameObjectWithTag("UI Canvas").transform;
  21. transform.parent = canvas;
  22. }
  23. #endregion
  24.  
  25. #region IDragHandler implementation
  26. public void OnDrag(PointerEventData eventData)
  27. {
  28. transform.position = Input.mousePosition;
  29. }
  30. #endregion
  31.  
  32. #region IEndDragHandler implementation
  33. public void OnEndDrag(PointerEventData eventData)
  34. {
  35.  
  36. itemBeingDragged = null;
  37.  
  38. GetComponent<CanvasGroup> ().blocksRaycasts = true;
  39. if (transform.parent == canvas) {
  40. transform.position = startPosition;
  41. }
  42. }
  43. #endregion
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement