private void InitTooltip(Tooltip tooltip)
        {
            tooltip.painter          = chart.m_PainterUpper;
            tooltip.refreshComponent = delegate()
            {
                var objName = ChartCached.GetComponentObjectName(tooltip);
                tooltip.gameObject = ChartHelper.AddObject(objName, chart.transform, chart.chartMinAnchor,
                                                           chart.chartMaxAnchor, chart.chartPivot, chart.chartSizeDelta);
                var tooltipObject = tooltip.gameObject;
                tooltipObject.transform.localPosition = Vector3.zero;
                tooltipObject.hideFlags = chart.chartHideFlags;
                var parent = tooltipObject.transform;
                ChartHelper.HideAllObject(tooltipObject.transform);

                tooltip.view = TooltipView.CreateView(tooltip, chart.theme, parent);
                tooltip.SetActive(false);

                m_LabelRoot = ChartHelper.AddObject("label", tooltip.gameObject.transform, chart.chartMinAnchor,
                                                    chart.chartMaxAnchor, chart.chartPivot, chart.chartSizeDelta);
                ChartHelper.HideAllObject(m_LabelRoot);
                m_IndicatorLabels.Clear();
                for (int i = 0; i < 2; i++)
                {
                    var labelName = "label_" + i;
                    var item      = ChartHelper.AddTooltipIndicatorLabel(component, labelName, m_LabelRoot.transform,
                                                                         chart.theme, TextAnchor.MiddleCenter);
                    item.SetActive(false);
                    m_IndicatorLabels.Add(item);
                }
            };
            tooltip.refreshComponent();
        }
Beispiel #2
0
        public static TooltipView CreateView(Tooltip tooltip, ThemeStyle theme, Transform parent)
        {
            var view = new TooltipView();

            view.tooltip = tooltip;
            view.theme   = theme.tooltip;

            view.gameObject = ChartHelper.AddObject("view", parent, anchorMin, anchorMax, pivot, Vector3.zero);
            view.gameObject.transform.localPosition = Vector3.zero;
            view.transform = view.gameObject.transform;

            view.background        = ChartHelper.GetOrAddComponent <Image>(view.gameObject);
            view.background.sprite = tooltip.backgroundImage;
            view.background.type   = tooltip.backgroundType;
            view.background.color  = ChartHelper.IsClearColor(tooltip.backgroundColor) ?
                                     Color.white : tooltip.backgroundColor;

            view.border                 = ChartHelper.GetOrAddComponent <Outline>(view.gameObject);
            view.border.enabled         = tooltip.borderWidth > 0;
            view.border.useGraphicAlpha = false;
            view.border.effectColor     = tooltip.borderColor;
            view.border.effectDistance  = new Vector2(tooltip.borderWidth, -tooltip.borderWidth);

            view.layout = ChartHelper.GetOrAddComponent <VerticalLayoutGroup>(view.gameObject);
            view.layout.childControlHeight     = false;
            view.layout.childControlWidth      = false;
            view.layout.childForceExpandHeight = false;
            view.layout.childForceExpandWidth  = false;
            view.layout.padding = new RectOffset(tooltip.paddingLeftRight,
                                                 tooltip.paddingLeftRight,
                                                 tooltip.paddingTopBottom,
                                                 tooltip.paddingTopBottom);

            view.title = ChartHelper.AddChartLabel("title", view.gameObject.transform, tooltip.titleLabelStyle, theme.tooltip,
                                                   "", Color.clear, TextAnchor.MiddleLeft);

            var item = CreateViewItem(0, view.gameObject.transform, tooltip, theme.tooltip);

            view.m_Items.Add(item);

            view.Refresh();

            return(view);
        }