protected override void OnCanvasGroupChanged()
{
bool flag = true;
for (Transform transform = base.transform; transform != null; transform = transform.parent)
{
transform.GetComponents<CanvasGroup>(this.m_CanvasGroupCache);
bool flag2 = false;
for (int i = 0; i < this.m_CanvasGroupCache.Count; i++)
{
if (!this.m_CanvasGroupCache[i].interactable)
{
flag = false;
flag2 = true;
}
if (this.m_CanvasGroupCache[i].ignoreParentGroups)
{
flag2 = true;
}
}
if (flag2)
{
break;
}
}
if (flag != this.m_GroupsAllowInteraction)
{
this.m_GroupsAllowInteraction = flag;
this.OnSetProperty();
}
}