internal static void CalculateAnchorSnapValues(Transform parentSpace, Transform self, RectTransform gui, int minmaxX, int minmaxY)
{
for (int i = 0; i < 2; i++)
{
RectTransformSnapping.s_SnapGuides[i].Clear();
RectTransform component = parentSpace.GetComponent <RectTransform>();
component.GetWorldCorners(RectTransformSnapping.s_Corners);
for (int j = 0; j < RectTransformSnapping.kSidesAndMiddle.Length; j++)
{
float num = RectTransformSnapping.kSidesAndMiddle[j];
RectTransformSnapping.s_SnapGuides[i].AddGuide(new SnapGuide(num, new Vector3[]
{
RectTransformSnapping.GetInterpolatedCorner(RectTransformSnapping.s_Corners, i, num, 0f),
RectTransformSnapping.GetInterpolatedCorner(RectTransformSnapping.s_Corners, i, num, 1f)
}));
}
IEnumerator enumerator = parentSpace.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
Transform transform = (Transform)enumerator.Current;
if (!(transform == self))
{
RectTransform component2 = transform.GetComponent <RectTransform>();
if (component2)
{
RectTransformSnapping.s_SnapGuides[i].AddGuide(new SnapGuide(component2.anchorMin[i], new Vector3[0]));
RectTransformSnapping.s_SnapGuides[i].AddGuide(new SnapGuide(component2.anchorMax[i], new Vector3[0]));
}
}
}
}
finally
{
IDisposable disposable;
if ((disposable = (enumerator as IDisposable)) != null)
{
disposable.Dispose();
}
}
int num2 = (i != 0) ? minmaxY : minmaxX;
if (num2 == 0)
{
RectTransformSnapping.s_SnapGuides[i].AddGuide(new SnapGuide(gui.anchorMax[i], new Vector3[0]));
}
if (num2 == 1)
{
RectTransformSnapping.s_SnapGuides[i].AddGuide(new SnapGuide(gui.anchorMin[i], new Vector3[0]));
}
}
}