/// <summary> /// Unregister for events in case this component gets destroyed while being dragged /// </summary> private void OnDestroy() { if (_controllerDrag != null) { _controllerDrag.OnBeginDrag -= HandleBeginDrag; _controllerDrag.OnDrag -= HandleDrag; _controllerDrag.OnEndDrag -= HandleEndDrag; _controllerDrag = null; } }
/// <summary> /// Controller leaves this content. /// </summary> /// <param name="other">Collider of Controller</param> void OnTriggerExit(Collider other) { ContentDragController controllerDrag = other.GetComponent <ContentDragController>(); if (controllerDrag != null && _controllerDrag == controllerDrag) { _controllerDrag.OnDrag -= HandleOnDrag; _controllerDrag.OnEndDrag -= HandleOnEndDrag; _controllerDrag = null; Unhighlight(); } }
/// <summary> /// Controller touches this content /// </summary> /// <param name="other">Collider of Controller</param> private void OnTriggerEnter(Collider other) { ContentDragController controllerDrag = other.GetComponent <ContentDragController>(); if (controllerDrag == null) { return; } _controllerDrag = controllerDrag; _controllerDrag.OnDrag += HandleDrag; Highlight(); }
/// <summary> /// Register for events when a ContentDragController enters the trigger area /// </summary> /// <param name="other">Collider of ContentDragController</param> void OnTriggerEnter(Collider other) { ContentDragController controllerDrag = other.GetComponent <ContentDragController>(); if (controllerDrag == null) { return; } _controllerDrag = controllerDrag; _controllerDrag.OnBeginDrag += HandleBeginDrag; _controllerDrag.OnDrag += HandleDrag; _controllerDrag.OnEndDrag += HandleEndDrag; }
/// <summary> /// Controller leaves this content /// </summary> /// <param name="other">Collider of Controller</param> private void OnTriggerExit(Collider other) { ContentDragController controllerDrag = other.GetComponent <ContentDragController>(); if (controllerDrag == null) { return; } if (_controllerDrag == controllerDrag) { _controllerDrag.OnDrag -= HandleDrag; _controllerDrag = null; Unhighlight(); } }
/// <summary> /// Unregister for events when a ContentDragController leaves the trigger area /// </summary> /// <param name="other">Collider of ContentDragController</param> void OnTriggerExit(Collider other) { ContentDragController controllerDrag = other.GetComponent <ContentDragController>(); if (controllerDrag == null) { return; } if (_controllerDrag == controllerDrag) { _controllerDrag.OnBeginDrag -= HandleBeginDrag; _controllerDrag.OnDrag -= HandleDrag; _controllerDrag.OnEndDrag -= HandleEndDrag; _controllerDrag = null; } }