From a7304049354f8bb9d1a5ca63cfb1df92a364e2fb Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Fri, 3 Nov 2023 08:25:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D`Bar`=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E6=B8=90=E5=8F=98=E8=89=B2=E6=97=B6=E9=BC=A0=E6=A0=87=E7=A7=BB?= =?UTF-8?q?=E5=87=BA=E6=95=88=E6=9E=9C=E5=BC=82=E5=B8=B8=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20(#285)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documentation~/zh/changelog.md | 1 + Runtime/Serie/Bar/BarHandler.cs | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Documentation~/zh/changelog.md b/Documentation~/zh/changelog.md index 99132005..99b7e6fb 100644 --- a/Documentation~/zh/changelog.md +++ b/Documentation~/zh/changelog.md @@ -69,6 +69,7 @@ slug: /changelog ## master +* (2023.11.03) 修复`Bar`设置渐变色时鼠标移出效果异常的问题 (#285) * (2023.11.02) 优化`SerieData`设置`ignore`时`formatter`的忽略问题 * (2023.11.01) 增加`MarkLine`的`onTop`设置是否显示在最上层 * (2023.10.21) 修复`Pie`有0数据时`Label`的位置异常的问题 diff --git a/Runtime/Serie/Bar/BarHandler.cs b/Runtime/Serie/Bar/BarHandler.cs index 3de86ccc..c78d2acc 100644 --- a/Runtime/Serie/Bar/BarHandler.cs +++ b/Runtime/Serie/Bar/BarHandler.cs @@ -67,8 +67,8 @@ namespace XCharts.Runtime { case LabelStyle.Position.Bottom: var center = serieData.context.rect.center; - if(serie.context.isHorizontal) - return new Vector3(center.x - serieData.context.rect.width/2, center.y); + if (serie.context.isHorizontal) + return new Vector3(center.x - serieData.context.rect.width / 2, center.y); else return new Vector3(center.x, center.y - serieData.context.rect.height / 2); case LabelStyle.Position.Center: @@ -94,10 +94,13 @@ namespace XCharts.Runtime m_LastCheckContextFlag = needCheck; serie.context.pointerItemDataIndex = -1; serie.context.pointerEnter = false; + Color32 color1, toColor1; foreach (var serieData in serie.data) { serieData.context.highlight = false; - serieData.interact.Reset(); + var state = SerieHelper.GetSerieState(serie, serieData, true); + SerieHelper.GetItemColor(out color1, out toColor1, serie, serieData, chart.theme, state); + serieData.interact.SetColor(ref needInteract, color1, toColor1); } chart.RefreshPainter(serie); }