UnityEditor.RectTransformSnapping.GetGuideLineForRect C# (CSharp) Method

GetGuideLineForRect() private static method

private static GetGuideLineForRect ( Rect rect, Vector3 pivot, Quaternion rotation, int axis, float side ) : Vector3[]
rect UnityEngine.Rect
pivot Vector3
rotation UnityEngine.Quaternion
axis int
side float
return Vector3[]
        private static Vector3[] GetGuideLineForRect(Rect rect, Vector3 pivot, Quaternion rotation, int axis, float side)
        {
            Vector3[] vectorArray = new Vector3[2];
            vectorArray[0][1 - axis] = rect.min[1 - axis];
            vectorArray[1][1 - axis] = rect.max[1 - axis];
            vectorArray[0][axis] = Mathf.Lerp(rect.min[axis], rect.max[axis], side);
            vectorArray[1][axis] = vectorArray[0][axis];
            vectorArray[0] = ((Vector3) (rotation * vectorArray[0])) + pivot;
            vectorArray[1] = ((Vector3) (rotation * vectorArray[1])) + pivot;
            return vectorArray;
        }

Same methods

RectTransformSnapping::GetGuideLineForRect ( RectTransform rect, int axis, float side ) : Vector3[]

Usage Example

        private static List <SnapGuide> GetSnapGuides(Transform parentSpace, Transform self, RectTransform parentRect, RectTransform rect, int axis, int side)
        {
            List <SnapGuide> list = new List <SnapGuide>();

            if (parentRect != null)
            {
                float num  = RectTransformSnapping.kSidesAndMiddle[side];
                float num2 = Mathf.Lerp(rect.anchorMin[axis], rect.anchorMax[axis], num);
                list.Add(new SnapGuide(num2 * parentRect.rect.size[axis], RectTransformSnapping.GetGuideLineForRect(parentRect, axis, num2)));
                float num3 = Mathf.Lerp(rect.anchorMin[axis], rect.anchorMax[axis], num);
                if (num != num3)
                {
                    list.Add(new SnapGuide(num * parentRect.rect.size[axis], false, RectTransformSnapping.GetGuideLineForRect(parentRect, axis, num)));
                }
            }
            IEnumerator enumerator = parentSpace.GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    Transform transform = (Transform)enumerator.Current;
                    if (!(transform == self))
                    {
                        RectTransform component = transform.GetComponent <RectTransform>();
                        if (component)
                        {
                            if (side == 0)
                            {
                                bool safe = component.anchorMin[axis] == rect.anchorMin[axis];
                                list.Add(new SnapGuide(component.GetRectInParentSpace().min[axis], safe, RectTransformSnapping.GetGuideLineForRect(component, axis, 0f)));
                                safe = (component.anchorMax[axis] == rect.anchorMin[axis]);
                                list.Add(new SnapGuide(component.GetRectInParentSpace().max[axis], safe, RectTransformSnapping.GetGuideLineForRect(component, axis, 1f)));
                            }
                            if (side == 2)
                            {
                                bool safe = component.anchorMax[axis] == rect.anchorMax[axis];
                                list.Add(new SnapGuide(component.GetRectInParentSpace().max[axis], safe, RectTransformSnapping.GetGuideLineForRect(component, axis, 1f)));
                                safe = (component.anchorMin[axis] == rect.anchorMax[axis]);
                                list.Add(new SnapGuide(component.GetRectInParentSpace().min[axis], safe, RectTransformSnapping.GetGuideLineForRect(component, axis, 0f)));
                            }
                            if (side == 1)
                            {
                                bool safe = component.anchorMin[axis] - rect.anchorMin[axis] == -(component.anchorMax[axis] - rect.anchorMax[axis]);
                                list.Add(new SnapGuide(component.GetRectInParentSpace().center[axis], safe, RectTransformSnapping.GetGuideLineForRect(component, axis, 0.5f)));
                            }
                        }
                    }
                }
            }
            finally
            {
                IDisposable disposable;
                if ((disposable = (enumerator as IDisposable)) != null)
                {
                    disposable.Dispose();
                }
            }
            return(list);
        }
All Usage Examples Of UnityEditor.RectTransformSnapping::GetGuideLineForRect