Detectar cuando suelto algo encima de otro objeto

Curso de Unity 3D

20.  
23.  
25.  
39.  
public class Slot : MonoBehaviour , IDropHandler{
	public void OnDrop(PointerEventData eventData){
		Debug.Log ("suelta");
		//eventData.pointerDrag es el objeto que hemos soltado sobre este objeto
		Debug.Log (eventData.pointerDrag.name);
	}
}

Este evento detecta la colisión entre el ratón y el objeto B sobre el que he soltado una pieza A. Sin embargo, si la pieza A está entre el ratón y la pieza B, dicha colisión no será detectada. Para evitarlo, puedo añadir al botón A un componente de tipo <<Canvas Group> desactivarlo cuando lo comience a arrastrar.

public class ObjetoA : MonoBehaviour, IDragHandler , IBeginDragHandler, IEndDragHandler, IPointerDownHandler{

	public void OnBeginDrag(PointerEventData eventData){
		GetComponent<CanvasGroup> ().blocksRaycasts = false;
	}

	public void OnEndDrag(PointerEventData eventData){
		GetComponent<CanvasGroup> ().blocksRaycasts = true;
	}
}
← Multijugador con Photon
Detectar cuando suelto algo encima de otro objeto →

Aviso Legal | Política de privacidad