From e40e19c1976d313e3d3c9618c415a6f81dab315b Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Sat, 31 Aug 2024 22:22:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0`Ring`=E7=9A=84`radiusGradien?= =?UTF-8?q?t`=E5=8F=82=E6=95=B0=E8=AE=BE=E7=BD=AE=E6=B8=90=E5=8F=98?= =?UTF-8?q?=E6=96=B9=E5=90=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documentation~/zh/changelog.md | 3 +++ Editor/Series/RingEditor.cs | 1 + Runtime/Serie/Ring/Ring.cs | 13 +++++++++++++ Runtime/Serie/Ring/RingHandler.cs | 2 +- 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Documentation~/zh/changelog.md b/Documentation~/zh/changelog.md index 09993998..0be09295 100644 --- a/Documentation~/zh/changelog.md +++ b/Documentation~/zh/changelog.md @@ -76,6 +76,9 @@ slug: /changelog ## master +* (2024.09.01) 增加`Ring`的`radiusGradient`参数设置渐变方向 +* (2024.09.01) 优化`Axis`为时间轴时首个Label的位置 + ## v3.11.2 * (2024.08.01) 发布`v3.11.2`版本 diff --git a/Editor/Series/RingEditor.cs b/Editor/Series/RingEditor.cs index 26a35856..5721c7e0 100644 --- a/Editor/Series/RingEditor.cs +++ b/Editor/Series/RingEditor.cs @@ -16,6 +16,7 @@ namespace XCharts.Editor PropertyField("m_RoundCap"); PropertyField("m_Clockwise"); PropertyField("m_AvoidLabelOverlap"); + PropertyField("m_RadiusGradient"); PropertyField("m_ItemStyle"); PropertyField("m_Animation"); diff --git a/Runtime/Serie/Ring/Ring.cs b/Runtime/Serie/Ring/Ring.cs index ebd9b660..368e187c 100644 --- a/Runtime/Serie/Ring/Ring.cs +++ b/Runtime/Serie/Ring/Ring.cs @@ -9,7 +9,20 @@ namespace XCharts.Runtime [SerieDataExtraField()] public class Ring : Serie { + [SerializeField][Since("v3.12.0")] private bool m_RadiusGradient = false; + + /// + /// Whether to use gradient color in pie chart. + /// || 是否开启半径方向的渐变效果。 + /// + public bool radiusGradient + { + get { return m_RadiusGradient; } + set { if (PropertyUtil.SetStruct(ref m_RadiusGradient, value)) { SetVerticesDirty(); } } + } + public override SerieColorBy defaultColorBy { get { return SerieColorBy.Data; } } + public static Serie AddDefaultSerie(BaseChart chart, string serieName) { var serie = chart.AddSerie(serieName); diff --git a/Runtime/Serie/Ring/RingHandler.cs b/Runtime/Serie/Ring/RingHandler.cs index 40fc8c40..cb42ade7 100644 --- a/Runtime/Serie/Ring/RingHandler.cs +++ b/Runtime/Serie/Ring/RingHandler.cs @@ -162,7 +162,7 @@ namespace XCharts.Runtime DrawBackground(vh, serie, serieData, j, insideRadius, outsideRadius); UGL.DrawDoughnut(vh, serie.context.center, insideRadius, outsideRadius, itemColor, itemToColor, Color.clear, startDegree, toDegree, borderWidth, borderColor, 0, chart.settings.cicleSmoothness, - roundCap, serie.clockwise); + roundCap, serie.clockwise, serie.radiusGradient); DrawCenter(vh, serie, serieData, insideRadius, j == data.Count - 1); }