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;
 }