55 lines
1.4 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|