Esempio n. 1
0
        private void InitIndicator()
        {
            indicatorTextList.Clear();
            HideChild(INDICATOR_TEXT);
            int   indicatorNum = radarInfo.indicatorList.Count;
            float txtWid       = 150;
            float txtHig       = 35;
            var   txtColor     = themeInfo.GetColor(0);

            for (int i = 0; i < indicatorNum; i++)
            {
                var        pos    = GetIndicatorPosition(i);
                TextAnchor anchor = TextAnchor.MiddleCenter;
                var        diff   = pos.x - radarCenterX;
                if (diff < -1f)
                {
                    var posY = pos.y;
                    if (pos.y > radarCenterY)
                    {
                        posY += 10;
                    }
                    else if (pos.y < radarCenterY)
                    {
                        posY -= 10;
                    }
                    pos    = new Vector3(pos.x - 20, posY);
                    anchor = TextAnchor.MiddleRight;
                }
                else if (diff > 1f)
                {
                    var posY = pos.y;
                    if (pos.y > radarCenterY)
                    {
                        posY += 10;
                    }
                    else if (pos.y < radarCenterY)
                    {
                        posY -= 10;
                    }
                    anchor = TextAnchor.MiddleLeft;
                    pos    = new Vector3(pos.x + txtWid + 20, posY);
                }
                else
                {
                    anchor = pos.y > radarCenterY ? TextAnchor.LowerCenter : TextAnchor.UpperCenter;
                    float y = pos.y > radarCenterY ? pos.y + txtHig / 2 : pos.y - txtHig / 2;
                    pos = new Vector3(pos.x + txtWid / 2, y + (pos.y > radarCenterY ? 20 : -20));
                }

                Text txt = ChartUtils.AddTextObject(INDICATOR_TEXT + i, transform, themeInfo.font,
                                                    themeInfo.textColor, anchor, Vector2.zero, Vector2.zero, new Vector2(1, 0.5f),
                                                    new Vector2(txtWid, txtHig), themeInfo.fontsize);
                txt.transform.localPosition = pos;
                txt.text = radarInfo.indicatorList[i].name;
                txt.gameObject.SetActive(radarInfo.showIndicator);
                txt.color = txtColor;
                indicatorTextList.Add(txt);
            }
        }
Esempio n. 2
0
        private void InitTitle()
        {
            TextAnchor anchor    = TextAnchor.MiddleCenter;
            Vector2    anchorMin = new Vector2(0, 0);
            Vector2    anchorMax = new Vector2(0, 0);
            Vector3    titlePosition;
            float      titleWid = 200;
            float      titleHig = 20;

            switch (title.align)
            {
            case Align.left:
                anchor        = TextAnchor.MiddleLeft;
                titlePosition = new Vector3(title.left, chartHig - title.top, 0);
                break;

            case Align.right:
                anchor        = TextAnchor.MiddleRight;
                titlePosition = new Vector3(chartWid - title.right - titleWid,
                                            chartHig - title.top, 0);
                break;

            case Align.center:
                anchor        = TextAnchor.MiddleCenter;
                titlePosition = new Vector3(chartWid / 2 - titleWid / 2, chartHig - title.top, 0);
                break;

            default:
                anchor        = TextAnchor.MiddleCenter;
                titlePosition = new Vector3(0, -title.top, 0);
                break;
            }
            Text titleText = ChartUtils.AddTextObject(TILTE_TEXT, transform, themeInfo.font,
                                                      themeInfo.textColor, anchor, anchorMin, anchorMax, new Vector2(0, 1),
                                                      new Vector2(titleWid, titleHig), 16);

            titleText.alignment = anchor;
            titleText.gameObject.SetActive(title.show);
            titleText.transform.localPosition = titlePosition;
            titleText.text = title.text;

            Text subText = ChartUtils.AddTextObject(SUB_TILTE_TEXT, transform, themeInfo.font,
                                                    themeInfo.textColor, anchor, anchorMin, anchorMax, new Vector2(0, 1),
                                                    new Vector2(titleWid, titleHig), 14);

            subText.alignment = anchor;
            subText.gameObject.SetActive(title.show && !string.IsNullOrEmpty(title.subText));
            subText.transform.localPosition = titlePosition - new Vector3(0, 15, 0);
            subText.text = title.subText;
        }
Esempio n. 3
0
        protected override void InitYScale()
        {
            if (seriesList.Count == 0)
            {
                return;
            }
            foreach (var item in yScaleTextList)
            {
                item.text = string.Empty;
            }

            yScaleTextList.Clear();
            float max      = GetMaxValue();
            float scaleWid = yAxis.GetScaleWidth(coordinateHig);

            for (int i = 0; i < yAxis.GetSplitNumber(); i++)
            {
                Text txt = ChartUtils.AddTextObject("yScale" + i, transform, themeInfo.font,
                                                    themeInfo.textColor, TextAnchor.MiddleRight, Vector2.zero, Vector2.zero,
                                                    new Vector2(1, 0.5f),
                                                    new Vector2(coordinate.left, 20));
                txt.transform.localPosition = GetYScalePosition(scaleWid, i);
                txt.text = yAxis.GetScaleName(i, max);
                txt.gameObject.SetActive(coordinate.show);
                yScaleTextList.Add(txt);
            }

            foreach (var item in rightYScaleTextList)
            {
                item.text = string.Empty;
            }

            rightYScaleTextList.Clear();
            Vector2 v2 = GetMaxAndMinValue();

            for (int i = 0; i < yAxis.GetSplitNumber(); i++)
            {
                Text txt = ChartUtils.AddTextObject("rightYScale" + i, transform, themeInfo.font,
                                                    themeInfo.textColor, TextAnchor.MiddleLeft, Vector2.zero, Vector2.zero,
                                                    new Vector2(1, 0.5f),
                                                    new Vector2(coordinate.left, 20));
                txt.transform.localPosition = GetRightYScalePosition(scaleWid, i);
                txt.text = yAxis.GetScaleName(i, v2.x, v2.y);
                txt.gameObject.SetActive(ShowRightScale && coordinate.show);
                rightYScaleTextList.Add(txt);
            }
        }
        private void InitYScale()
        {
            yScaleTextList.Clear();
            float max      = GetMaxValue();
            float scaleWid = yAxis.GetScaleWidth(coordinateHig);

            for (int i = 0; i < yAxis.GetSplitNumber(); i++)
            {
                Text txt = ChartUtils.AddTextObject(YSCALE_TEXT_PREFIX + i, transform, themeInfo.font,
                                                    themeInfo.textColor, TextAnchor.MiddleRight, Vector2.zero, Vector2.zero,
                                                    new Vector2(1, 0.5f),
                                                    new Vector2(coordinate.left, 20));
                txt.transform.localPosition = GetYScalePosition(scaleWid, i);
                txt.text = yAxis.GetScaleName(i, max);
                txt.gameObject.SetActive(coordinate.show);
                yScaleTextList.Add(txt);
            }
        }
        public void InitXScale()
        {
            xScaleTextList.Clear();
            float max      = GetMaxValue();
            float scaleWid = xAxis.GetScaleWidth(coordinateWid);

            for (int i = 0; i < xAxis.GetSplitNumber(); i++)
            {
                Text txt = ChartUtils.AddTextObject(XSCALE_TEXT_PREFIX + i, transform, themeInfo.font,
                                                    themeInfo.textColor, TextAnchor.MiddleCenter, Vector2.zero, Vector2.zero,
                                                    new Vector2(1, 0.5f),
                                                    new Vector2(scaleWid, 20));
                txt.transform.localPosition = GetXScalePosition(scaleWid, i);

                txt.text = xAxis.GetScaleName(i, max);
                txt.gameObject.SetActive(coordinate.show);
                xScaleTextList.Add(txt);
            }
        }
Esempio n. 6
0
        protected override void InitXScale()
        {
            foreach (var item in xScaleTextList)
            {
                item.text = string.Empty;
            }

            xScaleTextList.Clear();
            //float max = GetMaxValue();
            Vector2            v2       = GetMaxAndMinValue();
            float              scaleWid = xAxis.GetScaleWidth(coordinateWid);
            Vector2            sizeDelta;
            HorizontalWrapMode horizontalWrap;
            VerticalWrapMode   verticalWrap;
            int fontSize = 14;

            if (xAxis.horizontal)
            {
                sizeDelta      = new Vector2(scaleWid, 20);
                horizontalWrap = HorizontalWrapMode.Overflow;
                verticalWrap   = VerticalWrapMode.Overflow;
            }
            else
            {
                sizeDelta      = new Vector2(fontSize * 1.5f, coordinate.xScaleRectHeight);
                horizontalWrap = HorizontalWrapMode.Wrap;
                verticalWrap   = VerticalWrapMode.Truncate;
            }

            for (int i = 0; i < xAxis.GetSplitNumber(); i++)
            {
                Text txt = ChartUtils.AddTextObject("xScale" + i, transform, themeInfo.font,
                                                    themeInfo.textColor, TextAnchor.UpperCenter, Vector2.zero, Vector2.zero,
                                                    xAxis.horizontal ? new Vector2(1, 0.5f) : new Vector2(0.5f, 1),
                                                    sizeDelta, 14, horizontalWrap, verticalWrap);
                txt.transform.localPosition = GetXScalePosition(scaleWid, i, xAxis.horizontal, fontSize);

                txt.text = xAxis.GetScaleName(i, v2.x, v2.y);
                txt.gameObject.SetActive(coordinate.show);
                xScaleTextList.Add(txt);
            }
        }
Esempio n. 7
0
 private void InitXScale()
 {
     xScaleTextList.Clear();
     if (xAxis.type == AxisType.value)
     {
         float max = GetMaxValue();
         if (max <= 0)
         {
             max = 400;
         }
         xAxis.splitNumber = DEFAULT_YSACLE_NUM;
         float scaleWid = coordinateWid / (xAxis.splitNumber - 1);
         for (int i = 0; i < xAxis.splitNumber; i++)
         {
             Text txt = ChartUtils.AddTextObject(XSCALE_TEXT_PREFIX + i, transform, themeInfo.font,
                                                 themeInfo.textColor, TextAnchor.MiddleCenter, Vector2.zero, Vector2.zero,
                                                 new Vector2(1, 0.5f),
                                                 new Vector2(scaleWid, 20));
             txt.transform.localPosition = GetXScalePosition(i);
             txt.text = ((int)(max * i / xAxis.splitNumber)).ToString();
             txt.gameObject.SetActive(coordinate.show);
             xScaleTextList.Add(txt);
         }
     }
     else
     {
         xAxis.splitNumber = xAxis.boundaryGap ? xAxis.data.Count + 1 : xAxis.data.Count;
         float scaleWid = coordinateWid / (xAxis.data.Count - 1);
         for (int i = 0; i < xAxis.data.Count; i++)
         {
             Text txt = ChartUtils.AddTextObject(XSCALE_TEXT_PREFIX + i, transform, themeInfo.font,
                                                 themeInfo.textColor, TextAnchor.MiddleCenter, Vector2.zero, Vector2.zero,
                                                 new Vector2(1, 0.5f),
                                                 new Vector2(scaleWid, 20));
             txt.transform.localPosition = GetXScalePosition(i);
             txt.text = xAxis.data[i];
             txt.gameObject.SetActive(coordinate.show);
             xScaleTextList.Add(txt);
         }
     }
 }
Esempio n. 8
0
 private void InitYScale()
 {
     yScaleTextList.Clear();
     if (yAxis.type == AxisType.value)
     {
         float max = GetMaxValue();
         if (max <= 0)
         {
             max = 400;
         }
         yAxis.splitNumber = DEFAULT_YSACLE_NUM;
         for (int i = 0; i < yAxis.splitNumber; i++)
         {
             Text txt = ChartUtils.AddTextObject(YSCALE_TEXT_PREFIX + i, transform, themeInfo.font,
                                                 themeInfo.textColor, TextAnchor.MiddleRight, Vector2.zero, Vector2.zero,
                                                 new Vector2(1, 0.5f),
                                                 new Vector2(coordinate.left, 20));
             txt.transform.localPosition = GetYScalePosition(i);
             txt.text = ((int)(max * i / yAxis.splitNumber)).ToString();
             txt.gameObject.SetActive(coordinate.show);
             yScaleTextList.Add(txt);
         }
     }
     else
     {
         yAxis.splitNumber = yAxis.boundaryGap ? yAxis.data.Count + 1 : yAxis.data.Count;
         for (int i = 0; i < yAxis.data.Count; i++)
         {
             Text txt = ChartUtils.AddTextObject(YSCALE_TEXT_PREFIX + i, transform, themeInfo.font,
                                                 themeInfo.textColor, TextAnchor.MiddleRight, Vector2.zero, Vector2.zero,
                                                 new Vector2(1, 0.5f),
                                                 new Vector2(coordinate.left, 20));
             txt.transform.localPosition = GetYScalePosition(i);
             txt.text = yAxis.data[i];
             txt.gameObject.SetActive(coordinate.show);
             yScaleTextList.Add(txt);
         }
     }
 }
Esempio n. 9
0
        private void InitIndicator()
        {
            indicatorTextList.Clear();
            HideChild(INDICATOR_TEXT);
            int   indicatorNum = radarInfo.indicatorList.Count;
            float txtWid       = 100;
            float txtHig       = 20;

            for (int i = 0; i < indicatorNum; i++)
            {
                var        pos    = GetIndicatorPosition(i);
                TextAnchor anchor = TextAnchor.MiddleCenter;
                var        diff   = pos.x - radarCenterX;
                if (diff < -1f)
                {
                    pos    = new Vector3(pos.x - 5, pos.y);
                    anchor = TextAnchor.MiddleRight;
                }
                else if (diff > 1f)
                {
                    anchor = TextAnchor.MiddleLeft;
                    pos    = new Vector3(pos.x + txtWid + 5, pos.y);
                }
                else
                {
                    anchor = TextAnchor.MiddleCenter;
                    float y = pos.y > radarCenterY ? pos.y + txtHig / 2 : pos.y - txtHig / 2;
                    pos = new Vector3(pos.x + txtWid / 2, y);
                }
                Text txt = ChartUtils.AddTextObject(INDICATOR_TEXT + i, transform, font,
                                                    anchor, Vector2.zero, Vector2.zero, new Vector2(1, 0.5f),
                                                    new Vector2(txtWid, txtHig));
                txt.transform.localPosition = pos;
                txt.text = radarInfo.indicatorList[i].name;
                txt.gameObject.SetActive(radarInfo.showIndicator);
                indicatorTextList.Add(txt);
            }
        }
Esempio n. 10
0
        private void InitGraduation()
        {
            float graduationHig = chartHig / graduationCount;

            for (int i = 0; i < MAX_GRADUATION; i++)
            {
                if (i >= graduationCount + 1)
                {
                    if (transform.Find("graduation" + i))
                    {
                        transform.Find("graduation" + i).gameObject.SetActive(false);
                    }
                }
                else
                {
                    Text txt = ChartUtils.AddTextObject("graduation" + i, transform, font,
                                                        TextAnchor.MiddleRight, Vector2.zero, Vector2.zero, new Vector2(1, 0.5f),
                                                        new Vector2(50, 20));
                    txt.transform.localPosition = new Vector3(-8, i * graduationHig, 0);
                    txt.text = (i * 100).ToString();
                    graduationList.Add(txt);
                }
            }
        }
Esempio n. 11
0
        protected virtual void InitYScale()
        {
            foreach (var item in yScaleTextList)
            {
                item.text = string.Empty;
            }

            yScaleTextList.Clear();
            //float max = GetMaxValue();
            Vector2 v2       = GetMaxAndMinValue();
            float   scaleWid = yAxis.GetScaleWidth(coordinateHig);

            for (int i = 0; i < yAxis.GetSplitNumber(); i++)
            {
                Text txt = ChartUtils.AddTextObject(YSCALE_TEXT_PREFIX + i, transform, themeInfo.font,
                                                    themeInfo.textColor, TextAnchor.MiddleRight, Vector2.zero, Vector2.zero,
                                                    new Vector2(1, 0.5f),
                                                    new Vector2(coordinate.left, 20));
                txt.transform.localPosition = GetYScalePosition(scaleWid, i);
                txt.text = yAxis.GetScaleName(i, v2.x, v2.y);
                txt.gameObject.SetActive(coordinate.show);
                yScaleTextList.Add(txt);
            }
        }