Beispiel #1
0
        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;
        }