private void RotateObject(GameObject gameObject, Quaternion rotation, Vector3 rotationPivot) { ObjectTransformGizmo.ObjectRestrictions restrictions = GetObjectRestrictions(gameObject); if (restrictions != null && !restrictions.IsAffectedByHandle(Gizmo.DragHandleId)) { return; } Transform objectTransform = gameObject.transform; objectTransform.RotateAroundPivot(rotation, rotationPivot); IRTTransformGizmoListener transformGizmoListener = gameObject.GetComponent <IRTTransformGizmoListener>(); if (transformGizmoListener != null) { transformGizmoListener.OnTransformed(Gizmo); } }
private void MoveObject(GameObject gameObject, Vector3 moveVector) { ObjectTransformGizmo.ObjectRestrictions restrictions = GetObjectRestrictions(gameObject); if (restrictions != null) { if (!restrictions.IsAffectedByHandle(Gizmo.DragHandleId)) { return; } moveVector = restrictions.AdjustMoveVector(moveVector); } gameObject.transform.position += moveVector; IRTTransformGizmoListener transformGizmoListener = gameObject.GetComponent <IRTTransformGizmoListener>(); if (transformGizmoListener != null) { transformGizmoListener.OnTransformed(Gizmo); } }
private void ScaleObject(GameObject gameObject, Vector3 scaleFactor, Vector3 scalePivot) { ObjectTransformGizmo.ObjectRestrictions restrictions = GetObjectRestrictions(gameObject); if (restrictions != null) { if (!restrictions.IsAffectedByHandle(Gizmo.DragHandleId)) { return; } scaleFactor = restrictions.AdjustScaleVector(scaleFactor); } Transform objectTransform = gameObject.transform; objectTransform.ScaleFromPivot(scaleFactor, scalePivot); IRTTransformGizmoListener transformGizmoListener = gameObject.GetComponent <IRTTransformGizmoListener>(); if (transformGizmoListener != null) { transformGizmoListener.OnTransformed(Gizmo); } }