53 lines
1.9 KiB
C#
53 lines
1.9 KiB
C#
using System.Collections.Generic;
|
|
using UIWidgets;
|
|
using UnityEngine;
|
|
|
|
namespace UIWidgetsSamples
|
|
{
|
|
public class TreeViewSampleData : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
private TreeViewSample tree;
|
|
|
|
[SerializeField]
|
|
private List<TreeViewSampleDataCountry> dataEurope = new List<TreeViewSampleDataCountry>();
|
|
|
|
[SerializeField]
|
|
private List<TreeViewSampleDataCountry> dataAsia = new List<TreeViewSampleDataCountry>();
|
|
|
|
private void Start()
|
|
{
|
|
tree.Start();
|
|
tree.Nodes = GetData();
|
|
}
|
|
|
|
private ObservableList<TreeNode<ITreeViewSampleItem>> GetData()
|
|
{
|
|
ObservableList<TreeNode<ITreeViewSampleItem>> observableList = new ObservableList<TreeNode<ITreeViewSampleItem>>();
|
|
observableList.Add(Node(new TreeViewSampleItemContinent("Africa", 54)));
|
|
observableList.Add(Node(new TreeViewSampleItemContinent("Antarctica", 12)));
|
|
observableList.Add(Node(new TreeViewSampleItemContinent("Asia", 48), Data2Country(dataAsia)));
|
|
observableList.Add(Node(new TreeViewSampleItemContinent("Australia", 4)));
|
|
observableList.Add(Node(new TreeViewSampleItemContinent("Europe", 50), Data2Country(dataEurope)));
|
|
observableList.Add(Node(new TreeViewSampleItemContinent("North America", 23)));
|
|
observableList.Add(Node(new TreeViewSampleItemContinent("South America", 12)));
|
|
return observableList;
|
|
}
|
|
|
|
private ObservableList<TreeNode<ITreeViewSampleItem>> Data2Country(List<TreeViewSampleDataCountry> data)
|
|
{
|
|
ObservableList<TreeNode<ITreeViewSampleItem>> countries = new ObservableList<TreeNode<ITreeViewSampleItem>>();
|
|
data.ForEach(delegate(TreeViewSampleDataCountry x)
|
|
{
|
|
countries.Add(Node(new TreeViewSampleItemCountry(x.Name, x.Flag)));
|
|
});
|
|
return countries;
|
|
}
|
|
|
|
private TreeNode<ITreeViewSampleItem> Node(ITreeViewSampleItem item, ObservableList<TreeNode<ITreeViewSampleItem>> nodes = null)
|
|
{
|
|
return new TreeNode<ITreeViewSampleItem>(item, nodes);
|
|
}
|
|
}
|
|
}
|