internal static void BeginProperty(Rect totalRect, MaterialProperty prop, MaterialSerializedProperty serializedProp, Object[] targets, float startY = -1) { if (targets == null || IsRegistered(prop, serializedProp)) { s_PropertyStack.Add(new PropertyData() { targets = null }); return; } PropertyData data = new PropertyData() { property = prop, serializedProperty = serializedProp, targets = targets, startY = startY, position = totalRect, wasBoldDefaultFont = EditorGUIUtility.GetBoldDefaultFont() }; data.Init(); s_PropertyStack.Add(data); if (data.isOverriden) { EditorGUIUtility.SetBoldDefaultFont(true); } if (data.isLockedByAncestor) { EditorGUI.BeginDisabledGroup(true); } EditorGUI.showMixedValue = data.hasMixedValue; }