70 lines
1.0 KiB
C#
70 lines
1.0 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|