private void DrawCricleRadar(VertexHelper vh, Radar radar) { if (!radar.lineStyle.show && !radar.splitArea.show) { return; } float insideRadius = 0, outsideRadius = 0; float block = radar.actualRadius / radar.splitNumber; int indicatorNum = radar.indicatorList.Count; Vector3 p = radar.centerPos; 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, 0, 360, color); } if (radar.lineStyle.show) { ChartDrawer.DrawCicleNotFill(vh, p, outsideRadius, radar.lineStyle.width, lineColor); } 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.lineStyle.show) { ChartDrawer.DrawLine(vh, p, p1, radar.lineStyle.width / 2, lineColor); } } }