public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { if (IsConditionMet(property)) { //条件满足,开始绘制 if (property.type.EndsWith("Event")) { UEDrawer.OnGUI(position, property, string.IsNullOrEmpty(condSAtt.Label) ? label : new GUIContent(condSAtt.Label)); } else { LabelDrawer.DrawLabel(position, property, condSAtt.Label); } } else if (condSAtt.AlwaysShow && Event.current.type == EventType.Repaint) { var tc = GUI.color; GUI.color = Color.gray; if (property.type.EndsWith("Event")) { UEDrawer.OnGUI(position, property, string.IsNullOrEmpty(condSAtt.Label) ? label : new GUIContent(condSAtt.Label)); } else { LabelDrawer.DrawLabel(position, property, condSAtt.Label); } GUI.color = tc; } }
public override float GetPropertyHeight(SerializedProperty property, GUIContent label) { if (IsConditionMet(property) || condSAtt.AlwaysShow) { if (property.type.EndsWith("Event")) { return(UEDrawer.GetPropertyHeight(property, label)); } return(LabelDrawer.GetHeight(property, label)); } return(-EditorGUIUtility.standardVerticalSpacing); }