using UnityEngine; using XRLib.UI; using TMPro; using System; using System.Collections.Generic; namespace Studio { public enum DataStyle { Vector2, Vector3, Float, Int, String } public class UI_DynamicDataStyleItem : UIBase { private TextMeshProUGUI Text_DataName; private TMP_Dropdown Dropdown_DataDisplayStyle; private string dataValue; public void SetData(Datum datum) { Text_DataName.SetText(datum.dataName); SetDataDisplayStyleDropdown(datum.dataType); dataValue = datum.dataValue; } private void SetDataDisplayStyleDropdown(string dataType) { Dropdown_DataDisplayStyle.ClearOptions(); var types = Enum.GetNames(typeof(DataStyle)); List options = new List(); for (int i = 0; i < types.Length; i++) { options.Add(types[i]); } Dropdown_DataDisplayStyle.AddOptions(options); Dropdown_DataDisplayStyle.value = options.IndexOf(dataType); } public Datum GetDatum() { var datum = new Datum(); datum.dataName = Text_DataName.text; datum.dataType = Dropdown_DataDisplayStyle.options[Dropdown_DataDisplayStyle.value].text; datum.dataValue = dataValue; return datum; } } }