Files
Studio/Assets/NewStudioJYM/Scripts/UI_DynamicDataStyleItem.cs

55 lines
1.4 KiB
C#

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<string> options = new List<string>();
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;
}
}
}