private void Sort(SortCriterion criterion, Comparison <UIComponent> compare) { if (m_CurSortCriterion == criterion) { m_InverseSort = !m_InverseSort; } else { m_InverseSort = false; } if (m_ScrollablePanel.components.Count > 0) { OverviewPanelBase.Quicksort(m_ScrollablePanel.components, compare); m_CurSortCriterion = criterion; m_ScrollablePanel.Invalidate(); } }
private int CompareNames(UIComponent lhs, UIComponent rhs) { if (lhs == null || lhs == null) { return(0); } var lhsComponent = lhs.GetComponent <OutsideConnectionInfo>(); var rhsComponent = rhs.GetComponent <OutsideConnectionInfo>(); if (lhsComponent == null || rhsComponent == null) { return(0); } var buildingMgr = BuildingManager.instance; var value = OverviewPanelBase.NaturalCompare(lhsComponent.currentSettings.Name, rhsComponent.currentSettings.Name); return(m_InverseSort ? -value : value); }