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); } } }