38 lines
894 B
C#
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);
|
|
}
|
|
}
|
|
}
|