using ;
using ;
using UnityEngine;
using ;
public class ChangeEquip : MonoBehaviour,IBeginDragHandler,IEndDragHandler,IDragHandler {
//得到画布
Transform canvas;
//要拖动物体的原始父物体
private Transform originalParent;
//组件
private CanvasGroup canvasGroup;
//偏移量
Vector3 offset;
void Start () {
canvas = ("Canvas").transform;
canvasGroup = GetComponent<CanvasGroup> ();
}
void Update () {
}
#region 开始拖拽
public void OnBeginDrag (PointerEventData eventData)
{
originalParent = ;
//改变要拖拽物体的父物体为画布,这样物体就会显示在所有背包的最前面
(canvas);
offset = - ;
//在拖拽控件时,鼠标射线可以穿透控件,并被下面的控件所接受
= false;
}
#endregion
#region IDragHandler implementation
public void OnDrag (PointerEventData eventData)
{
= + offset;
}
#endregion
#region IEndDragHandler implementation
public void OnEndDrag (PointerEventData eventData)
{
//鼠标拖拽控件时进入的物体
Transform obj;
//如果鼠标在背包的外面
if ( == null) {
//把拖拽的物体放回到原来的位置
(originalParent);
= ;
= true;
return;
} else {
obj = ;
}
//需要判断OBJ是什么控件
switch(){
case "item":
{
Transform temp = ;
(originalParent);
(temp);
= ;
}
break;
case "cell":
{
//如果有一个物体
if ( == 1) {
Transform child = (0);
(originalParent);
(obj);
= ;
} else {//如果没有物体
(obj);
}
}
break;
default:
{
(originalParent);
}
break;
}
= ;
= true;
}
#endregion
}