/************************************************/ /* */ /* Copyright (c) 2018 - 2021 monitor1394 */ /* https://github.com/monitor1394 */ /* */ /************************************************/ using System.Collections.Generic; using UnityEngine; namespace XCharts { public partial class BaseChart { public Radar radar { get { return m_Radars.Count > 0 ? m_Radars[0] : null; } } /// /// 雷达坐标系组件列表。 /// public List radars { get { return m_Radars; } } /// /// 移除所有雷达坐标系组件。 /// public void RemoveRadar() { m_Radars.Clear(); } /// /// 添加雷达坐标系组件。 /// public void AddRadar(Radar radar) { m_Radars.Add(radar); } /// /// 添加雷达坐标系组件。 /// /// 形状,圆形还是多边形 /// 中心点,0-1浮点数时表示百分比 /// 半径,0-1浮点数时表示百分比 /// 指示器轴的分割段数 /// 线条宽 /// 是否显示指示器名称 /// 是否显示分割区域 /// public Radar AddRadar(Radar.Shape shape, Vector2 center, float radius, int splitNumber = 5, float lineWidth = 0f, bool showIndicator = true, bool showSplitArea = true) { var radar = new Radar(); radar.shape = shape; radar.splitNumber = splitNumber; radar.radius = radius; radar.indicator = showIndicator; radar.center[0] = center.x; radar.center[1] = center.y; radar.splitArea.show = showSplitArea; radar.splitLine.lineStyle.width = lineWidth; m_Radars.Add(radar); return radar; } /// /// 添加指示器。 /// /// 雷达坐标系组件索引,从0开始 /// 指示器名称 /// 指示器最小值 /// 指示器最大值 /// public Radar.Indicator AddIndicator(int radarIndex, string name, float min, float max) { var radar = GetRadar(radarIndex); if (radar == null) return null; return radar.AddIndicator(name, min, max); } /// /// 更新指示器。 /// /// 雷达坐标系组件的索引,从0开始 /// 指示器索引,从0开始 /// 指示器名称 /// 指示器最小值 /// 指示器最大值 /// public bool UpdateIndicator(int radarIndex, int indicatorIndex, string name, float min, float max) { var radar = GetRadar(radarIndex); if (radar == null) return false; return radar.UpdateIndicator(indicatorIndex, name, min, max); } /// /// 获得指定索引的雷达坐标系组件。 /// /// /// public Radar GetRadar(int radarIndex) { if (radarIndex < 0 || radarIndex > m_Radars.Count - 1) return null; return m_Radars[radarIndex]; } /// /// 获得指定雷达坐标系组件指定索引的指示器。 /// /// /// /// public Radar.Indicator GetIndicator(int radarIndex, int indicatorIndex) { var radar = GetRadar(radarIndex); if (radar != null) return radar.GetIndicator(indicatorIndex); else return null; } } }