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(); _value.Init(prop); } } }