Exemplo n.º 1
0
        public static void DrawSeparator(SeparationStyle style = SeparationStyle.Default)
        {
            if (Event.current.type == EventType.Repaint)
            {
                Texture2D tex  = EditorGUIUtility.whiteTexture;
                Rect      rect = GUILayoutUtility.GetLastRect();

                Color defaultColor = GUI.color;

                switch (style)
                {
                case SeparationStyle.Default:
                    GUI.color = new UnityEngine.Color(0f, 0f, 0f, 0.25f);
                    GUI.DrawTexture(new Rect(0f, rect.yMin + 6f, Screen.width, 2f), tex);
                    break;

                case SeparationStyle.SmallDark:
                    GUI.color = new UnityEngine.Color(0f, 0f, 0f, 0.25f);
                    GUI.DrawTexture(new Rect(0f, rect.yMin + 6f, Screen.width, 1f), tex);
                    break;

                case SeparationStyle.BigDark:
                    GUI.color = new UnityEngine.Color(0f, 0f, 0f, 0.25f);
                    GUI.DrawTexture(new Rect(0f, rect.yMin + 6f, Screen.width, 1f), tex);
                    GUI.DrawTexture(new Rect(0f, rect.yMin + 6f, Screen.width, 2f), tex);
                    GUI.DrawTexture(new Rect(0f, rect.yMin + 6f, Screen.width, 1f), tex);
                    break;

                case SeparationStyle.SmallLight:
                    GUI.color = new UnityEngine.Color(0f, 0f, 0f, 0.4f);
                    GUI.DrawTexture(new Rect(0f, rect.yMin + 6f, Screen.width, 1f), tex);
                    break;

                case SeparationStyle.BigLight:
                    GUI.color = new UnityEngine.Color(0f, 0f, 0f, 0.15f);
                    GUI.DrawTexture(new Rect(0f, rect.yMin + 6f, Screen.width, 4f), tex);
                    GUI.color = new UnityEngine.Color(0f, 0f, 0f, 0.4f);
                    GUI.DrawTexture(new Rect(0f, rect.yMin + 6f, Screen.width, 1f), tex);
                    GUI.DrawTexture(new Rect(0f, rect.yMin + 9f, Screen.width, 1f), tex);
                    GUI.color = UnityEngine.Color.white;
                    break;
                }

                GUI.color = defaultColor;
            }
        }
Exemplo n.º 2
0
        public static void AddSeperator(RenderContext context, CardElement element, Grid uiContainer, SeparationStyle seperationStyle)
        {
            if (seperationStyle == SeparationStyle.None)
            {
                return;
            }

            var uiSep = new Grid();

            uiSep.Style = context.GetStyle($"Adaptive.Separator");
            SeparationConfig sepStyle = null;

            switch (seperationStyle)
            {
            case SeparationStyle.Default:
                sepStyle = context.Config.GetSeparationForElement(element, strong: false);
                break;

            case SeparationStyle.Strong:
                sepStyle = context.Config.GetSeparationForElement(element, strong: true);
                break;
            }

            uiSep.Margin = new Thickness(0, (sepStyle.Spacing - sepStyle.LineThickness) / 2, 0, (sepStyle.Spacing - sepStyle.LineThickness) / 2);
            uiSep.SetHeight(sepStyle.LineThickness);
            if (!string.IsNullOrWhiteSpace(sepStyle.LineColor))
            {
                uiSep.SetBackgroundColor(sepStyle.LineColor, context);
            }
            uiContainer.RowDefinitions.Add(new RowDefinition()
            {
                Height = GridLength.Auto
            });
            Grid.SetRow(uiSep, uiContainer.RowDefinitions.Count - 1);
            uiContainer.Children.Add(uiSep);
        }