public VFXSubParameterController(VFXParameterController parameter, IEnumerable <int> fieldPath, string memberPath) { m_Parameter = parameter; m_MemberPath = memberPath; //m_Field = field; System.Type type = m_Parameter.portType; m_FieldPath = fieldPath.ToArray(); m_FieldInfos = new FieldInfo[m_FieldPath.Length]; for (int i = 0; i < m_FieldPath.Length; ++i) { FieldInfo info = type.GetFields(BindingFlags.Public | BindingFlags.Instance)[m_FieldPath[i]]; m_FieldInfos[i] = info; type = info.FieldType; } m_CustomAttributes = m_FieldInfos[m_FieldInfos.Length - 1].GetCustomAttributes(true); m_Attributes = new VFXPropertyAttributes(m_CustomAttributes); }
public virtual void UpdateInfos() { portType = model.property.type; m_Attributes = model.property.attributes; }