/// <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;
     }
 }
예제 #2
0
        /// <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();
        }
예제 #4
0
        /// <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();
            }
        }
예제 #6
0
        /// <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;
            }
        }