66 lines
1.9 KiB
C#
66 lines
1.9 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using XRLib.UI;
|
|
using UnityEngine.UI;
|
|
using TMPro;
|
|
using System;
|
|
|
|
namespace XED
|
|
{
|
|
public enum UIDesignStyle
|
|
{
|
|
Sample1,
|
|
Sample2,
|
|
Sample3
|
|
}
|
|
public class UI_DynamicObjectUISettingItem : UIBase
|
|
{
|
|
private TextMeshProUGUI Text_ClassName;
|
|
private TMP_Dropdown Dropdown_UIDesignStyle;
|
|
private RectTransform DataContent;
|
|
|
|
private UI_DynamicDataStyleItem prf_DynamicDataStyleItem;
|
|
private List<UI_DynamicDataStyleItem> dynamicDataStyleItems = new List<UI_DynamicDataStyleItem>();
|
|
|
|
public List<DataList> dynamicObjectDatas = new List<DataList>();
|
|
|
|
public void SetData(DataList dynamicObjectDatas, UI_DynamicDataStyleItem dynamicDataStyleItem)
|
|
{
|
|
Text_ClassName.SetText(dynamicObjectDatas.name);
|
|
prf_DynamicDataStyleItem = dynamicDataStyleItem;
|
|
|
|
SetUIDesignStyleDropdown();
|
|
SetDataItems(dynamicObjectDatas.datas);
|
|
}
|
|
private void SetUIDesignStyleDropdown()
|
|
{
|
|
Dropdown_UIDesignStyle.ClearOptions();
|
|
var types = Enum.GetNames(typeof(UIDesignStyle));
|
|
List<string> options = new List<string>();
|
|
|
|
options.Add("Select Dashboard Style");
|
|
|
|
for (int i = 0; i < types.Length; i++)
|
|
{
|
|
options.Add(types[i]);
|
|
}
|
|
Dropdown_UIDesignStyle.AddOptions(options);
|
|
}
|
|
private void SetDataItems(List<Datum> datas)
|
|
{
|
|
foreach(var item in dynamicDataStyleItems)
|
|
{
|
|
Destroy(item.gameObject);
|
|
}
|
|
dynamicDataStyleItems.Clear();
|
|
|
|
foreach(var data in datas)
|
|
{
|
|
var item = Instantiate(prf_DynamicDataStyleItem, DataContent);
|
|
item.SetData(data);
|
|
dynamicDataStyleItems.Add(item);
|
|
}
|
|
}
|
|
}
|
|
}
|