UnityEditor.RectTransformSnapping.GetGuideValueForRect C# (CSharp) Method

GetGuideValueForRect() private static method

private static GetGuideValueForRect ( RectTransform rect, float value, int axis, float side ) : float
rect UnityEngine.RectTransform
value float
axis int
side float
return float
        private static float GetGuideValueForRect(RectTransform rect, float value, int axis, float side)
        {
            RectTransform component = rect.transform.parent.GetComponent<RectTransform>();
            float num = (component == null) ? 0f : component.rect.size[axis];
            float num2 = Mathf.Lerp(rect.anchorMin[axis], rect.anchorMax[axis], rect.pivot[axis]) * num;
            float num3 = rect.rect.size[axis] * (rect.pivot[axis] - side);
            return ((value - num2) + num3);
        }

Usage Example

 internal static void CalculatePositionSnapValues(Transform parentSpace, Transform self, RectTransform parentRect, RectTransform rect)
 {
     for (int index = 0; index < 2; ++index)
     {
         RectTransformSnapping.s_SnapGuides[index].Clear();
     }
     if ((Object)parentSpace == (Object)null)
     {
         return;
     }
     for (int axis = 0; axis < 2; ++axis)
     {
         for (int side = 0; side < RectTransformSnapping.kSidesAndMiddle.Length; ++side)
         {
             using (List <SnapGuide> .Enumerator enumerator = RectTransformSnapping.GetSnapGuides(parentSpace, self, parentRect, rect, axis, side).GetEnumerator())
             {
                 while (enumerator.MoveNext())
                 {
                     SnapGuide current = enumerator.Current;
                     current.value = RectTransformSnapping.GetGuideValueForRect(rect, current.value, axis, RectTransformSnapping.kSidesAndMiddle[side]);
                     RectTransformSnapping.s_SnapGuides[axis].AddGuide(current);
                 }
             }
         }
     }
 }
All Usage Examples Of UnityEditor.RectTransformSnapping::GetGuideValueForRect