UnityEditor.TransformManipulator.TransformData.SetScaleDelta C# (CSharp) Method

SetScaleDelta() public method

public SetScaleDelta ( Vector3 scaleDelta, Vector3 scalePivot, Quaternion scaleRotation, bool preferRectResize ) : void
scaleDelta Vector3
scalePivot Vector3
scaleRotation UnityEngine.Quaternion
preferRectResize bool
return void
            public void SetScaleDelta(Vector3 scaleDelta, Vector3 scalePivot, Quaternion scaleRotation, bool preferRectResize)
            {
                this.SetPosition(((Vector3) (scaleRotation * Vector3.Scale((Vector3) (Quaternion.Inverse(scaleRotation) * (this.position - scalePivot)), scaleDelta))) + scalePivot);
                Vector3 minDragDifference = ManipulationToolUtility.minDragDifference;
                if (this.transform.parent != null)
                {
                    minDragDifference.x /= this.transform.parent.lossyScale.x;
                    minDragDifference.y /= this.transform.parent.lossyScale.y;
                    minDragDifference.z /= this.transform.parent.lossyScale.z;
                }
                Quaternion ownRotation = (!Tools.rectBlueprintMode || !InternalEditorUtility.SupportsRectLayout(this.transform)) ? this.rotation : this.transform.parent.rotation;
                Quaternion refAlignment = this.GetRefAlignment(scaleRotation, ownRotation);
                scaleDelta = (Vector3) (refAlignment * scaleDelta);
                scaleDelta = Vector3.Scale(scaleDelta, (Vector3) (refAlignment * Vector3.one));
                if (preferRectResize && (this.rectTransform != null))
                {
                    Vector2 vector5 = (this.sizeDelta + Vector2.Scale(this.rect.size, scaleDelta)) - this.rect.size;
                    vector5.x = MathUtils.RoundBasedOnMinimumDifference(vector5.x, minDragDifference.x);
                    vector5.y = MathUtils.RoundBasedOnMinimumDifference(vector5.y, minDragDifference.y);
                    this.rectTransform.sizeDelta = vector5;
                    if (this.rectTransform.drivenByObject != null)
                    {
                        RectTransform.SendReapplyDrivenProperties(this.rectTransform);
                    }
                }
                else
                {
                    this.SetScaleValue(Vector3.Scale(this.scale, scaleDelta));
                }
            }