public override bool DrawHeader(Rect rect, GUIContent label)
        {
            var wasBold            = EditorGUIUtility.GetBoldDefaultFont();
            SerializedProperty itr = m_Object.GetIterator();
            bool useBold           = false;

            if (m_Object.targetObjects.Length == 1)
            {
                bool validItr = itr.Next(true);
                while (validItr)
                {
                    if (itr.isInstantiatedPrefab && itr.prefabOverride)
                    {
                        useBold = true;
                        break;
                    }
                    validItr = itr.Next(false);
                }
            }
            EditorGUIUtility.SetBoldDefaultFont(useBold);
            var toggleState = GUI.Toggle(rect, foldout, label, ParticleSystemStyles.Get().moduleHeaderStyle);

            EditorGUIUtility.SetBoldDefaultFont(wasBold);
            return(toggleState);
        }
示例#2
0
        public override bool DrawHeader(Rect rect, GUIContent label)
        {
            bool boldDefaultFont        = EditorGUIUtility.GetBoldDefaultFont();
            SerializedProperty iterator = this.m_Object.GetIterator();
            bool boldDefaultFont2       = false;

            if (this.m_Object.targetObjects.Length == 1)
            {
                bool flag = iterator.Next(true);
                while (flag)
                {
                    if (iterator.isInstantiatedPrefab && iterator.prefabOverride)
                    {
                        boldDefaultFont2 = true;
                        break;
                    }
                    flag = iterator.Next(false);
                }
            }
            EditorGUIUtility.SetBoldDefaultFont(boldDefaultFont2);
            bool result = GUI.Toggle(rect, base.foldout, label, ParticleSystemStyles.Get().moduleHeaderStyle);

            EditorGUIUtility.SetBoldDefaultFont(boldDefaultFont);
            return(result);
        }
        // (case 1029160) Modified version of EditorGUI.DoPopup to fit large data list query.
        private AnimationClip DoClipPopup(AnimationClip clip, GUIStyle style)
        {
            Rect position  = EditorGUILayout.GetControlRect(false, EditorGUI.kSingleLineHeight, style);
            int  controlID = GUIUtility.GetControlID(s_ClipPopupHash, FocusType.Keyboard, position);

            clip = ClipPopupCallbackInfo.GetSelectedClipForControl(controlID, clip);

            Event evt = Event.current;

            switch (evt.type)
            {
            case EventType.Repaint:
                Font originalFont = style.font;
                if (originalFont && EditorGUIUtility.GetBoldDefaultFont() && originalFont == EditorStyles.miniFont)
                {
                    style.font = EditorStyles.miniBoldFont;
                }

                GUIContent buttonContent = EditorGUIUtility.TempContent(CurveUtility.GetClipName(clip));
                buttonContent.tooltip = AssetDatabase.GetAssetPath(clip);

                style.Draw(position, buttonContent, controlID, false);

                style.font = originalFont;
                break;

            case EventType.MouseDown:
                if (evt.button == 0 && position.Contains(evt.mousePosition))
                {
                    DisplayClipMenu(position, controlID, clip);
                    GUIUtility.keyboardControl = controlID;
                    evt.Use();
                }
                break;

            case EventType.KeyDown:
                if (evt.MainActionKeyForControl(controlID))
                {
                    DisplayClipMenu(position, controlID, clip);
                    evt.Use();
                }
                break;
            }

            return(clip);
        }
示例#4
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;
        }