67 lines
1.9 KiB
C#
67 lines
1.9 KiB
C#
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.EventSystems;
|
|||
|
using UnityEngine.UI;
|
|||
|
|
|||
|
public class cardcaozuo : MonoBehaviour,IBeginDragHandler,IDragHandler,IEndDragHandler
|
|||
|
{
|
|||
|
[Header("<22><>һ<EFBFBD><D2BB>canvas")]
|
|||
|
public Canvas canvas;
|
|||
|
[Header("<22><>ʾ<EFBFBD><CABE>image")]
|
|||
|
public Image cardIconImage;
|
|||
|
[Header("<22><>Ӧ<EFBFBD><D3A6>sprite")]
|
|||
|
public Sprite cardicon;
|
|||
|
[Header("Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")]
|
|||
|
public string targetTag;
|
|||
|
private Transform recordParent;//<2F><>¼<EFBFBD><C2BC><EFBFBD>ڵ<EFBFBD>
|
|||
|
|
|||
|
// Start is called before the first frame update
|
|||
|
void Start()
|
|||
|
{
|
|||
|
this.cardIconImage.sprite = cardicon;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
// <20><>ק<EFBFBD><D7A7>ʼ
|
|||
|
public void OnBeginDrag(PointerEventData eventData)
|
|||
|
{
|
|||
|
|
|||
|
this.recordParent = this.transform.parent;
|
|||
|
|
|||
|
this.transform.SetParent(canvas.transform);
|
|||
|
//throw new System.NotImplementedException();
|
|||
|
}
|
|||
|
// <20><>ק<EFBFBD><D7A7>
|
|||
|
public void OnDrag(PointerEventData eventData)
|
|||
|
{
|
|||
|
this.transform.position = Input.mousePosition;
|
|||
|
}
|
|||
|
// <20><>ק<EFBFBD><D7A7><EFBFBD><EFBFBD>
|
|||
|
public void OnEndDrag(PointerEventData eventData)
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>Ŀ<EFBFBD><C4BF>
|
|||
|
List<RaycastResult> results = new List<RaycastResult>();
|
|||
|
EventSystem.current.RaycastAll(eventData, results);
|
|||
|
|
|||
|
foreach (var result in results)
|
|||
|
{
|
|||
|
if (result.gameObject.CompareTag(targetTag)) // <20><><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>Ƿ<EFBFBD>ΪĿ<CEAA><C4BF><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
Debug.Log("<22>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD>õ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
transform.SetParent(result.gameObject.transform); // <20><><EFBFBD><EFBFBD>ΪĿ<CEAA><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
transform.localPosition = Vector3.zero; // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
this.enabled = false;//<2F><><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2A3ACB7><EFBFBD>ԭʼ<D4AD><CABC><EFBFBD>ڵ<EFBFBD>
|
|||
|
Debug.Log("δ<><CEB4><EFBFBD>õ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2A3ACB7><EFBFBD>ԭλ<D4AD><CEBB>");
|
|||
|
transform.SetParent(recordParent);
|
|||
|
transform.localPosition = Vector3.zero; // <20><><EFBFBD>õ<EFBFBD>ԭʼλ<CABC><CEBB>
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|