using System; using System.Collections.Generic; using System.Linq; using UnityEngine; namespace UIWidgets { [AddComponentMenu("UI/ListViewIcons", 252)] public class ListViewIcons : ListViewCustom { [NonSerialized] private bool isStartedListViewIcons; protected Comparison ItemsComparison = (ListViewIconsItemDescription x, ListViewIconsItemDescription y) => (x.LocalizedName ?? x.Name).CompareTo(y.LocalizedName ?? y.Name); protected override void Awake() { Start(); } public override void Start() { if (isStartedListViewIcons) { return; } isStartedListViewIcons = true; base.Start(); base.SortFunc = (IEnumerable list) => list.OrderBy((ListViewIconsItemDescription item) => item.LocalizedName ?? item.Name); } protected override void SetData(ListViewIconsItemComponent component, ListViewIconsItemDescription item) { component.SetData(item); } protected override void HighlightColoring(ListViewIconsItemComponent component) { base.HighlightColoring(component); component.Text.color = HighlightedColor; } protected override void SelectColoring(ListViewIconsItemComponent component) { base.SelectColoring(component); component.Text.color = base.SelectedColor; } protected override void DefaultColoring(ListViewIconsItemComponent component) { base.DefaultColoring(component); component.Text.color = base.DefaultColor; } } }