修复RingTriggerTooltip()接口无效的问题

This commit is contained in:
monitor1394
2023-09-05 13:34:11 +08:00
parent 7402925512
commit c6e78f9cb9
5 changed files with 11 additions and 6 deletions

View File

@@ -340,7 +340,7 @@ slug: /api
|SetSeriePainterMaterial()||public void SetSeriePainterMaterial(Material material)<br/>设置Serie Painter的材质球 | |SetSeriePainterMaterial()||public void SetSeriePainterMaterial(Material material)<br/>设置Serie Painter的材质球 |
|SetTopPainterMaterial()||public void SetTopPainterMaterial(Material material)<br/>设置Top Painter的材质球 | |SetTopPainterMaterial()||public void SetTopPainterMaterial(Material material)<br/>设置Top Painter的材质球 |
|SetUpperPainterMaterial()||public void SetUpperPainterMaterial(Material material)<br/>设置Upper Painter的材质球 | |SetUpperPainterMaterial()||public void SetUpperPainterMaterial(Material material)<br/>设置Upper Painter的材质球 |
|TriggerTooltip()|v3.7.0|public bool TriggerTooltip(int dataIndex)<br/>trigger tooltip by data index. | |TriggerTooltip()|v3.7.0|public bool TriggerTooltip(int dataIndex, int serieIndex = 0)<br/>trigger tooltip by data index. |
|TriggerTooltip()|v3.7.0|public bool TriggerTooltip(Vector3 localPosition)<br/>trigger tooltip by chart local position. | |TriggerTooltip()|v3.7.0|public bool TriggerTooltip(Vector3 localPosition)<br/>trigger tooltip by chart local position. |
|TryAddChartComponent()||public bool TryAddChartComponent(Type type)| |TryAddChartComponent()||public bool TryAddChartComponent(Type type)|
|TryAddChartComponent&lt;T&gt;()||public bool TryAddChartComponent&lt;T&gt;() where T : MainComponent| |TryAddChartComponent&lt;T&gt;()||public bool TryAddChartComponent&lt;T&gt;() where T : MainComponent|

View File

@@ -340,7 +340,7 @@ slug: /api
|SetSeriePainterMaterial()||public void SetSeriePainterMaterial(Material material)<br/>设置Serie Painter的材质球 | |SetSeriePainterMaterial()||public void SetSeriePainterMaterial(Material material)<br/>设置Serie Painter的材质球 |
|SetTopPainterMaterial()||public void SetTopPainterMaterial(Material material)<br/>设置Top Painter的材质球 | |SetTopPainterMaterial()||public void SetTopPainterMaterial(Material material)<br/>设置Top Painter的材质球 |
|SetUpperPainterMaterial()||public void SetUpperPainterMaterial(Material material)<br/>设置Upper Painter的材质球 | |SetUpperPainterMaterial()||public void SetUpperPainterMaterial(Material material)<br/>设置Upper Painter的材质球 |
|TriggerTooltip()|v3.7.0|public bool TriggerTooltip(int dataIndex)<br/>尝试触发指定数据项的Tooltip. | |TriggerTooltip()|v3.7.0|public bool TriggerTooltip(int dataIndex, int serieIndex = 0)<br/>尝试触发指定数据项的Tooltip. |
|TriggerTooltip()|v3.7.0|public bool TriggerTooltip(Vector3 localPosition)<br/>在指定的位置尝试触发Tooltip. | |TriggerTooltip()|v3.7.0|public bool TriggerTooltip(Vector3 localPosition)<br/>在指定的位置尝试触发Tooltip. |
|TryAddChartComponent()||public bool TryAddChartComponent(Type type)| |TryAddChartComponent()||public bool TryAddChartComponent(Type type)|
|TryAddChartComponent&lt;T&gt;()||public bool TryAddChartComponent&lt;T&gt;() where T : MainComponent| |TryAddChartComponent&lt;T&gt;()||public bool TryAddChartComponent&lt;T&gt;() where T : MainComponent|

View File

@@ -68,6 +68,7 @@ slug: /changelog
## master ## master
* (2023.09.05) 修复`Ring``TriggerTooltip()`接口无效的问题
* (2023.09.05) 修复`Radar`数据全为0时绘制报错的问题 * (2023.09.05) 修复`Radar`数据全为0时绘制报错的问题
## v3.8.0 ## v3.8.0

View File

@@ -671,11 +671,12 @@ namespace XCharts.Runtime
/// |尝试触发指定数据项的Tooltip. /// |尝试触发指定数据项的Tooltip.
/// </summary> /// </summary>
/// <param name="dataIndex">数据项索引</param> /// <param name="dataIndex">数据项索引</param>
/// <param name="serieIndex">Serie索引默认为第0个Serie</param>
/// <returns></returns> /// <returns></returns>
[Since("v3.7.0")] [Since("v3.7.0")]
public bool TriggerTooltip(int dataIndex) public bool TriggerTooltip(int dataIndex, int serieIndex = 0)
{ {
var serie = GetSerie(0); var serie = GetSerie(serieIndex);
if (serie == null) return false; if (serie == null) return false;
var dataPoints = serie.context.dataPoints; var dataPoints = serie.context.dataPoints;
var dataPoint = Vector3.zero; var dataPoint = Vector3.zero;

View File

@@ -99,7 +99,7 @@ namespace XCharts.Runtime
param.color = color; param.color = color;
param.marker = SerieHelper.GetItemMarker(serie, serieData, marker); param.marker = SerieHelper.GetItemMarker(serie, serieData, marker);
param.itemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter); param.itemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter);
param.numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); ; param.numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter);
param.columns.Clear(); param.columns.Clear();
param.columns.Add(param.marker); param.columns.Add(param.marker);
@@ -207,10 +207,13 @@ namespace XCharts.Runtime
var startDegree = GetStartAngle(serie); var startDegree = GetStartAngle(serie);
var toDegree = GetToAngle(serie, degree); var toDegree = GetToAngle(serie, degree);
var insideRadius = outsideRadius - ringWidth; var insideRadius = outsideRadius - ringWidth;
var halfAngle = startDegree + (toDegree - startDegree) / 2;
var halfRadius = (outsideRadius + insideRadius) / 2;
serieData.context.startAngle = startDegree; serieData.context.startAngle = startDegree;
serieData.context.toAngle = toDegree; serieData.context.toAngle = toDegree;
serieData.context.insideRadius = insideRadius; serieData.context.insideRadius = insideRadius;
serieData.context.outsideRadius = serieData.radius > 0 ? serieData.radius : outsideRadius; serieData.context.outsideRadius = serieData.radius > 0 ? serieData.radius : outsideRadius;
serieData.context.position = ChartHelper.GetPosition(serie.context.center, halfAngle, halfRadius);
UpdateLabelPosition(serieData); UpdateLabelPosition(serieData);
} }
AvoidLabelOverlap(); AvoidLabelOverlap();