Exemplo n.º 1
0
 private void CreateElementEditors(IList value)
 {
     for (int i = 0; i < value.Count; ++i)
     {
         PropertyEditor editor = Instantiate(m_editorPrefab);
         editor.transform.SetParent(Panel, false);
         IListElementAccessor accessor = new IListElementAccessor(this, i, "Element " + i);
         editor.Init(accessor, accessor.GetType().GetProperty("Value"), accessor.Name, OnValueChanging, OnValueChanged, null, false);
     }
 }
Exemplo n.º 2
0
        protected virtual void InitOverride(object target, MemberInfo memberInfo, string label = null)
        {
            if (target == null)
            {
                throw new ArgumentNullException("target");
            }

            IListElementAccessor arrayElement = target as IListElementAccessor;

            if (arrayElement == null)
            {
                if (!(memberInfo is PropertyInfo) && !(memberInfo is FieldInfo))
                {
                    throw new ArgumentException("memberInfo should be PropertyInfo or FieldInfo");
                }

                if (memberInfo is PropertyInfo)
                {
                    Type propType = ((PropertyInfo)memberInfo).PropertyType;
                    MemberInfoType = propType;
                }
                else
                {
                    Type fieldType = ((FieldInfo)memberInfo).FieldType;
                    MemberInfoType = fieldType;
                }
                if (Label != null)
                {
                    if (label != null)
                    {
                        Label.text = label;
                    }
                    else
                    {
                        Label.text = memberInfo.Name;
                    }
                }
            }
            else
            {
                if (Label != null)
                {
                    Label.text = arrayElement.Name;
                }

                MemberInfoType = arrayElement.Type;
            }

            Target     = target;
            MemberInfo = memberInfo;
        }