private void DrawCricleRadar(VertexHelper vh, Radar radar) { if (!radar.splitLine.show && !radar.splitArea.show) { return; } float insideRadius = 0, outsideRadius = 0; float block = radar.runtimeRadius / radar.splitNumber; int indicatorNum = radar.indicatorList.Count; Vector3 p = radar.runtimeCenterPos; Vector3 p1; float angle = 2 * Mathf.PI / indicatorNum; var lineColor = GetLineColor(radar); for (int i = 0; i < radar.splitNumber; i++) { Color color = radar.splitArea.color[i % radar.splitArea.color.Count]; outsideRadius = insideRadius + block; if (radar.splitArea.show) { ChartDrawer.DrawDoughnut(vh, p, insideRadius, outsideRadius, color, Color.clear, 0, 360, m_Settings.cicleSmoothness); } if (radar.splitLine.show) { ChartDrawer.DrawEmptyCricle(vh, p, outsideRadius, radar.splitLine.lineStyle.width, lineColor, Color.clear, m_Settings.cicleSmoothness); } insideRadius = outsideRadius; } for (int j = 0; j <= indicatorNum; j++) { float currAngle = j * angle; p1 = new Vector3(p.x + outsideRadius * Mathf.Sin(currAngle), p.y + outsideRadius * Mathf.Cos(currAngle)); if (radar.splitLine.show) { ChartDrawer.DrawLine(vh, p, p1, radar.splitLine.lineStyle.width / 2, lineColor); } } }
protected void DrawSymbol(VertexHelper vh, SerieSymbolType type, float symbolSize, float tickness, Vector3 pos, Color color) { switch (type) { case SerieSymbolType.None: break; case SerieSymbolType.Circle: ChartDrawer.DrawCricle(vh, pos, symbolSize, color, m_Settings.cicleSmoothness); break; case SerieSymbolType.EmptyCircle: ChartDrawer.DrawEmptyCricle(vh, pos, symbolSize, tickness, color, m_ThemeInfo.backgroundColor, m_Settings.cicleSmoothness); break; case SerieSymbolType.Rect: ChartDrawer.DrawPolygon(vh, pos, symbolSize, color); break; case SerieSymbolType.Triangle: var x = symbolSize * Mathf.Cos(30 * Mathf.PI / 180); var y = symbolSize * Mathf.Sin(30 * Mathf.PI / 180); var p1 = new Vector2(pos.x - x, pos.y - y); var p2 = new Vector2(pos.x, pos.y + symbolSize); var p3 = new Vector2(pos.x + x, pos.y - y); ChartDrawer.DrawTriangle(vh, p1, p2, p3, color); break; case SerieSymbolType.Diamond: p1 = new Vector2(pos.x - symbolSize, pos.y); p2 = new Vector2(pos.x, pos.y + symbolSize); p3 = new Vector2(pos.x + symbolSize, pos.y); var p4 = new Vector2(pos.x, pos.y - symbolSize); ChartDrawer.DrawPolygon(vh, p1, p2, p3, p4, color); break; } }
protected void DrawSymbol(VertexHelper vh, SerieSymbolType type, float symbolSize, float tickness, Vector3 pos, Color color, Color toColor, float gap, float[] cornerRadius) { var backgroundColor = m_ThemeInfo.backgroundColor; var smoothness = m_Settings.cicleSmoothness; switch (type) { case SerieSymbolType.None: break; case SerieSymbolType.Circle: if (gap > 0) { ChartDrawer.DrawDoughnut(vh, pos, symbolSize, symbolSize + gap, backgroundColor, color, toColor, smoothness); } else { ChartDrawer.DrawCricle(vh, pos, symbolSize, color, toColor, smoothness); } break; case SerieSymbolType.EmptyCircle: if (gap > 0) { ChartDrawer.DrawCricle(vh, pos, symbolSize + gap, backgroundColor, smoothness); ChartDrawer.DrawEmptyCricle(vh, pos, symbolSize, tickness, color, toColor, backgroundColor, smoothness); } else { ChartDrawer.DrawEmptyCricle(vh, pos, symbolSize, tickness, color, toColor, backgroundColor, smoothness); } break; case SerieSymbolType.Rect: if (gap > 0) { ChartDrawer.DrawPolygon(vh, pos, symbolSize + gap, backgroundColor); ChartDrawer.DrawPolygon(vh, pos, symbolSize, color, toColor); } else { //ChartDrawer.DrawPolygon(vh, pos, symbolSize, color, toColor); ChartDrawer.DrawRoundRectangle(vh, pos, symbolSize, symbolSize, color, 0, cornerRadius); } break; case SerieSymbolType.Triangle: if (gap > 0) { ChartDrawer.DrawTriangle(vh, pos, symbolSize + gap, backgroundColor); ChartDrawer.DrawTriangle(vh, pos, symbolSize, color, toColor); } else { ChartDrawer.DrawTriangle(vh, pos, symbolSize, color, toColor); } break; case SerieSymbolType.Diamond: if (gap > 0) { ChartDrawer.DrawDiamond(vh, pos, symbolSize + gap, backgroundColor); ChartDrawer.DrawDiamond(vh, pos, symbolSize, color, toColor); } else { ChartDrawer.DrawDiamond(vh, pos, symbolSize, color, toColor); } break; } }