protected override void OnHandleDragging(BaseHandle handle, HandleEventData eventData) { base.OnHandleDragging(handle, eventData); var rayOrigin = eventData.rayOrigin; if (handle.IndexOfDragSource(rayOrigin) > 0) { return; } if (handle is RadialHandle) { rotate(eventData.deltaRotation, rayOrigin); } else { AxisFlags constraints = 0; var constrainedHandle = handle as IAxisConstraints; if (constrainedHandle != null) { constraints = constrainedHandle.constraints; } translate(eventData.deltaPosition, rayOrigin, constraints); } }
protected virtual void OnHandleDragStarted(BaseHandle handle, HandleEventData eventData) { var rayOrigin = eventData.rayOrigin; if (handle.IndexOfDragSource(rayOrigin) > 0) { return; } foreach (var h in m_AllHandles) { h.gameObject.SetActive(h == handle); } foreach (var kvp in m_HandleTips) { kvp.Value.renderer.gameObject.SetActive(false); } if (dragStarted != null) { dragStarted(); } dragging = true; ShowHoverState(handle, false); UpdateHandleTip(handle, eventData, true); }
protected virtual void OnHandleDragging(BaseHandle handle, HandleEventData eventData) { if (handle.IndexOfDragSource(eventData.rayOrigin) != 0) { return; } UpdateHandleTip(handle, eventData, true); }
protected override void OnHandleDragEnded(BaseHandle handle, HandleEventData eventData) { base.OnHandleDragEnded(handle, eventData); if (handle.IndexOfDragSource(eventData.rayOrigin) > 0) { return; } if (handle is SphereHandle) { handle.transform.localScale /= m_SphereHandleHideScale; } }