56 lines
1.5 KiB
C#
56 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using UnityEngine;
|
|
|
|
namespace UIWidgets
|
|
{
|
|
[AddComponentMenu("UI/ListViewIcons", 252)]
|
|
public class ListViewIcons : ListViewCustom<ListViewIconsItemComponent, ListViewIconsItemDescription>
|
|
{
|
|
[NonSerialized]
|
|
private bool isStartedListViewIcons;
|
|
|
|
protected Comparison<ListViewIconsItemDescription> 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<ListViewIconsItemDescription> 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;
|
|
}
|
|
}
|
|
}
|