Files
Studio/Assets/NewStudioJYM/Scripts/UI_DynamicObjectUISettingItem.cs
2025-05-14 10:45:36 +09:00

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