Exemple #1
0
        //----------------------------------- FOR Validate&Draw -----------------------------------
        private bool ShouldDrawField(FieldInfo fieldInfo)
        {
            APropertyDrawCondition drawCondition = GetPropertyDrawConditionForField(fieldInfo);

            if (drawCondition != null)
            {
                //这个字段满足绘制条件吗?
                bool canDrawProperty = drawCondition.CanDrawProperty(serializedPropertiesByFieldName[fieldInfo.Name]);
                if (!canDrawProperty)
                {
                    return(false);
                }
            }

            HideInInspector[] hideInInspectorAttributes = (HideInInspector[])fieldInfo.GetCustomAttributes(typeof(HideInInspector), true);
            if (hideInInspectorAttributes.Length > 0)
            {
                return(false);   //这个字段有HideInInspector特性吗?(他是内置特性)
            }
            return(true);
        }