private PropertyDrawCondition GetPropertyDrawConditionForField(FieldInfo field) { DrawConditionAttribute[] drawConditionAttributes = (DrawConditionAttribute[])field.GetCustomAttributes(typeof(DrawConditionAttribute), true); if (drawConditionAttributes.Length > 0) { PropertyDrawCondition drawCondition = PropertyDrawConditionDatabase.GetDrawConditionForAttribute(drawConditionAttributes[0].GetType()); return(drawCondition); } else { return(null); } }
private bool ShouldDrawField(FieldInfo field) { // Check if the field has draw conditions PropertyDrawCondition drawCondition = this.GetPropertyDrawConditionForField(field); if (drawCondition != null) { bool canDrawProperty = drawCondition.CanDrawProperty(this.serializedPropertiesByFieldName[field.Name]); if (!canDrawProperty) { return(false); } } // Check if the field has HideInInspectorAttribute HideInInspector[] hideInInspectorAttributes = (HideInInspector[])field.GetCustomAttributes(typeof(HideInInspector), true); if (hideInInspectorAttributes.Length > 0) { return(false); } return(true); }