Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/UIWidgetsSamples/TreeViewSampleData.cs
2026-02-21 16:45:37 +08:00

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