protected virtual void Update()
        {
            if (m_handle == null)
            {
                Destroy(this);
                return;
            }

            if (!m_handle.enabled)
            {
                return;
            }

            if (BeginDragAction())
            {
                m_handle.BeginDrag();
            }
            else if (EndDragAction())
            {
                m_handle.EndDrag();
            }

            if (m_handle != null && m_handle.IsDragging)
            {
                m_handle.UnitSnapping = UnitSnappingAction();
            }
        }
        protected virtual void Update()
        {
            if (BeginDragAction())
            {
                m_handle.BeginDrag();
            }
            else if (EndDragAction())
            {
                m_handle.EndDrag();
            }

            if (m_handle.IsDragging)
            {
                m_handle.UnitSnapping = UnitSnappingAction();
            }
        }