using System; using UIWidgets; using UnityEngine; namespace UIWidgetsSamples { [Serializable] public class TreeViewSampleItemCountry : ITreeViewSampleItem, IObservable { [SerializeField] private Sprite icon; [SerializeField] private string name; public Sprite Icon { get { return icon; } set { icon = value; Changed(); } } public string Name { get { return name; } set { name = value; Changed(); } } public event OnChange OnChange; public TreeViewSampleItemCountry(string itemName, Sprite itemIcon = null) { name = itemName; icon = itemIcon; } private void Changed() { if (this.OnChange != null) { this.OnChange(); } } public void Display(TreeViewSampleComponent component) { component.Icon.sprite = Icon; component.Text.text = Name; if (component.SetNativeSize) { component.Icon.SetNativeSize(); } component.Icon.color = ((!(component.Icon.sprite == null)) ? Color.white : Color.clear); } } }