namespace UIWidgets.Examples
{
using System.Collections.Generic;
using UIWidgets;
using UnityEngine;
using UnityEngine.Serialization;
///
/// TreeViewSample data.
///
public class TreeViewSampleData : MonoBehaviour
{
///
/// TreeViewSample.
///
[SerializeField]
[FormerlySerializedAs("tree")]
protected TreeViewSample TreeViewSample;
///
/// Europe data.
///
[SerializeField]
[FormerlySerializedAs("dataEurope")]
protected List DataEurope = new List();
///
/// Asia data.
///
[SerializeField]
[FormerlySerializedAs("dataAsia")]
protected List DataAsia = new List();
///
/// Start this instance.
///
protected virtual void Start()
{
TreeViewSample.Init();
TreeViewSample.Nodes = GetData();
}
///
/// Get data.
///
/// Nodes.
protected virtual ObservableList> GetData()
{
var countries = new ObservableList>
{
Node(new TreeViewSampleItemContinent("Africa", 54)),
Node(new TreeViewSampleItemContinent("Antarctica", 12)),
Node(new TreeViewSampleItemContinent("Asia", 48), Data2Country(DataAsia)),
Node(new TreeViewSampleItemContinent("Australia", 4)),
Node(new TreeViewSampleItemContinent("Europe", 50), Data2Country(DataEurope)),
Node(new TreeViewSampleItemContinent("North America", 23)),
Node(new TreeViewSampleItemContinent("South America", 12)),
};
return countries;
}
///
/// Convert list to nodes.
///
/// Data.
/// Nodes.
protected static ObservableList> Data2Country(List data)
{
var countries = new ObservableList>();
foreach (var item in data)
{
countries.Add(Node(new TreeViewSampleItemCountry(item.Name, item.Flag)));
}
return countries;
}
///
/// Create node with specified item.
///
/// Item.
/// Subnodes.
/// Node.
protected static TreeNode Node(ITreeViewSampleItem item, ObservableList> nodes = null)
{
return new TreeNode(item, nodes, false, true);
}
}
}