修复SerieEventDatavalue一直是0的问题 (#287)

This commit is contained in:
monitor1394
2023-11-05 20:09:28 +08:00
parent a730404935
commit 83db4dd951
5 changed files with 35 additions and 32 deletions

View File

@@ -69,6 +69,7 @@ slug: /changelog
## master
* (2023.11.05) 修复`SerieEventData``value`一直是0的问题 (#287)
* (2023.11.03) 修复`Bar`设置渐变色时鼠标移出效果异常的问题 (#285)
* (2023.11.02) 优化`SerieData`设置`ignore``formatter`的忽略问题
* (2023.11.01) 增加`MarkLine``onTop`设置是否显示在最上层

View File

@@ -65,17 +65,17 @@ namespace XCharts.Example
void OnSerieClick(SerieEventData data)
{
Debug.Log("OnSerieClick: " + data.serieIndex + " " + data.dataIndex + " " + data.dimension);
Debug.Log("OnSerieClick: " + data.serieIndex + " " + data.dataIndex + " " + data.dimension + " " + data.value);
}
void OnSerieEnter(SerieEventData data)
{
Debug.Log("OnSerieEnter: " + data.serieIndex + " " + data.dataIndex + " " + data.dimension);
Debug.Log("OnSerieEnter: " + data.serieIndex + " " + data.dataIndex + " " + data.dimension + " " + data.value);
}
void OnSerieExit(SerieEventData data)
{
Debug.Log("OnSerieExit: " + data.serieIndex + " " + data.dataIndex + " " + data.dimension);
Debug.Log("OnSerieExit: " + data.serieIndex + " " + data.dataIndex + " " + data.dimension + " " + data.value);
}
void OnDraw(VertexHelper vh)

View File

@@ -195,8 +195,9 @@ namespace XCharts.Runtime
Internal_CheckAnimation();
foreach (var handler in m_SerieHandlers) handler.BeforeUpdate();
foreach (var handler in m_SerieHandlers) handler.Update();
foreach (var handler in m_SerieHandlers) handler.AfterUpdate();
foreach (var handler in m_ComponentHandlers) handler.Update();
foreach (var handler in m_SerieHandlers) handler.AfterUpdate();
m_DebugInfo.Update();
if (m_OnUpdate != null)
m_OnUpdate();

View File

@@ -22,6 +22,7 @@ namespace XCharts.Runtime
data.dataIndex = dataIndex;
data.pointerPos = pos;
data.dimension = dimension;
data.value = value;
return data;
}

View File

@@ -149,38 +149,11 @@ namespace XCharts.Runtime
serie.interactDirty = false;
m_ForceUpdateSerieContext = true;
}
UpdateSerieContextInternal();
}
public override void AfterUpdate()
{
UpdateSerieContextInternal();
}
public override void ForceUpdateSerieContext()
{
m_ForceUpdateSerieContext = true;
}
private void CheckConfigurationChanged()
{
if (m_LastRadius[0] != serie.radius[0] || m_LastRadius[1] != serie.radius[1])
{
m_LastRadius[0] = serie.radius[0];
m_LastRadius[1] = serie.radius[1];
serie.SetVerticesDirty();
}
if (m_LastCenter[0] != serie.center[0] || m_LastCenter[1] != serie.center[1])
{
m_LastCenter[0] = serie.center[0];
m_LastCenter[1] = serie.center[1];
serie.SetVerticesDirty();
}
}
private void UpdateSerieContextInternal()
{
UpdateSerieContext();
m_ForceUpdateSerieContext = false;
if (m_LastPointerEnter != serie.context.pointerEnter || m_LastPointerDataIndex != serie.context.pointerItemDataIndex)
{
if (chart.onSerieEnter != null || chart.onSerieExit != null || serie.onEnter != null || serie.onExit != null)
@@ -215,6 +188,33 @@ namespace XCharts.Runtime
}
}
public override void ForceUpdateSerieContext()
{
m_ForceUpdateSerieContext = true;
}
private void CheckConfigurationChanged()
{
if (m_LastRadius[0] != serie.radius[0] || m_LastRadius[1] != serie.radius[1])
{
m_LastRadius[0] = serie.radius[0];
m_LastRadius[1] = serie.radius[1];
serie.SetVerticesDirty();
}
if (m_LastCenter[0] != serie.center[0] || m_LastCenter[1] != serie.center[1])
{
m_LastCenter[0] = serie.center[0];
m_LastCenter[1] = serie.center[1];
serie.SetVerticesDirty();
}
}
private void UpdateSerieContextInternal()
{
UpdateSerieContext();
m_ForceUpdateSerieContext = false;
}
public override void RefreshLabelNextFrame()
{
m_RefreshLabel = true;