public static void GetRectMasksForClip(RectMask2D clipper, List <RectMask2D> masks)
{
masks.Clear();
List <Canvas> list = ListPool <Canvas> .Get();
List <RectMask2D> list2 = ListPool <RectMask2D> .Get();
clipper.transform.GetComponentsInParent <RectMask2D>(false, list2);
if (list2.Count > 0)
{
clipper.transform.GetComponentsInParent <Canvas>(false, list);
for (int i = list2.Count - 1; i >= 0; i--)
{
if (list2[i].IsActive())
{
bool flag = true;
for (int j = list.Count - 1; j >= 0; j--)
{
if (!MaskUtilities.IsDescendantOrSelf(list[j].transform, list2[i].transform) && list[j].overrideSorting)
{
flag = false;
break;
}
}
if (flag)
{
masks.Add(list2[i]);
}
}
}
}
ListPool <RectMask2D> .Release(list2);
ListPool <Canvas> .Release(list);
}