Пример #1
0
        private ThemeVariantData DrawThemeVariantButton(ThemeData themeData, ThemeVariantData variant)
        {
            ThemeVariantData deleteVariant = null;

            if (EditMode.faded > 0.01f)
            {
                string variantName = variant.VariantName;
                GUILayout.BeginHorizontal(GUILayout.Width(m_themeVariantColumnWidth));
                {
                    GUILayout.Space(DGUI.Properties.Space(1 - EditMode.faded));

                    if (DGUI.Button.IconButton.Minus())
                    {
                        deleteVariant = variant;
                    }

                    GUILayout.Space(DGUI.Properties.Space(2 * (1 - EditMode.faded)));

                    EditorGUI.BeginChangeCheck();
                    variantName = EditorGUILayout.TextField(variantName);
                }
                GUILayout.EndHorizontal();
                if (EditorGUI.EndChangeCheck())
                {
                    themeData.UndoRecord(UILabels.UpdateValue);
                    variant.VariantName = variantName;
                    themeData.SetDirty(false);
                }
            }
            else
            {
                bool activeVariant = themeData.ActiveVariant.Id.Equals(variant.Id);
                if (DGUI.Button.Draw(variant.VariantName,
                                     activeVariant ? CurrentViewColorName : DGUI.Colors.DisabledBackgroundColorName,
                                     activeVariant ? CurrentViewColorName : DGUI.Colors.DisabledTextColorName,
                                     activeVariant,
                                     m_themeVariantButtonHeight,
                                     m_themeVariantColumnWidth))
                {
                    themeData.ActivateVariant(variant);
                    themeData.SetDirty(false);
                    UpdateAllThemeTargets(themeData);
                }
            }


            if (EditMode.faded > 0.01f)
            {
                GUILayout.Space(DGUI.Properties.Space(2));
            }
            GUILayout.Space(DGUI.Properties.Space(4));
            DrawHorizontalDivider();
            GUILayout.Space(DGUI.Properties.Space());

            return(deleteVariant);
        }