Files
crtr/Assets/Cryville/Crtr/Config/UI/PropertyPanel.cs

38 lines
894 B
C#

using TMPro;
using UnityEngine;
namespace Cryville.Crtr.Config.UI {
public class PropertyPanel : MonoBehaviour {
[SerializeField]
GameObject m_bool;
[SerializeField]
GameObject m_number;
[SerializeField]
GameObject m_numberStepped;
[SerializeField]
GameObject m_string;
[SerializeField]
TextMeshProUGUI m_key;
[SerializeField]
Transform m_valueContainer;
PropertyValuePanel _value;
public void Load(IPropertyAdapter prop) {
m_key.text = prop.Name;
GameObject vp;
switch (prop.Type) {
case PropertyType.Number: vp = m_number; break;
case PropertyType.NumberStepped: vp = m_numberStepped; break;
case PropertyType.Boolean: vp = m_bool; break;
case PropertyType.String: vp = m_string; break;
default: return;
}
_value = Instantiate(vp, m_valueContainer, false).GetComponent<PropertyValuePanel>();
_value.Init(prop);
}
}
}