public void RegisterObjectRestrictions(List <GameObject> targetObjects, ObjectTransformGizmo.ObjectRestrictions restrictions) { foreach (var targetObject in targetObjects) { RegisterObjectRestrictions(targetObject, restrictions); } }
public void RegisterObjectRestrictions(GameObject targetObject, ObjectTransformGizmo.ObjectRestrictions restrictions) { if (!ContainsRestrictionsForObject(targetObject)) { _objectToRestrictions.Add(targetObject, restrictions); } }
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); } }