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); } }
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; }
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); } }
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); } }
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); } } }
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); } } }
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); } }
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); } } }
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); } }