删除SerieMarkColor,增加ItemStyleMarkColor

This commit is contained in:
monitor1394
2023-01-03 21:07:28 +08:00
parent a4aabb5bbe
commit 6ace71f8db
6 changed files with 19 additions and 14 deletions

View File

@@ -65,6 +65,7 @@ slug: /changelog
## master ## master
* (2023.01.03) 删除`Serie``MarkColor`,增加`ItemStyle``MarkColor`
* (2022.12.29) 增加`Editor``List``+`添加编辑功能 * (2022.12.29) 增加`Editor``List``+`添加编辑功能
* (2022.12.29) 修复`UpdateXYData()`接口影响数据精度的问题 (#238) * (2022.12.29) 修复`UpdateXYData()`接口影响数据精度的问题 (#238)
* (2022.12.28) 修复`Pie`只有一个数据时设置`border`后显示异常的问题 (#237) * (2022.12.28) 修复`Pie`只有一个数据时设置`border`后显示异常的问题 (#237)

View File

@@ -18,6 +18,7 @@ namespace XCharts.Editor
PropertyField(prop, "m_Color0"); PropertyField(prop, "m_Color0");
PropertyField(prop, "m_ToColor"); PropertyField(prop, "m_ToColor");
PropertyField(prop, "m_ToColor2"); PropertyField(prop, "m_ToColor2");
PropertyField(prop, "m_MarkColor");
PropertyField(prop, "m_BackgroundColor"); PropertyField(prop, "m_BackgroundColor");
PropertyField(prop, "m_BackgroundWidth"); PropertyField(prop, "m_BackgroundWidth");
PropertyField(prop, "m_CenterColor"); PropertyField(prop, "m_CenterColor");

View File

@@ -13,6 +13,7 @@ namespace XCharts.Runtime
[SerializeField] private Color32 m_Color0; [SerializeField] private Color32 m_Color0;
[SerializeField] private Color32 m_ToColor; [SerializeField] private Color32 m_ToColor;
[SerializeField] private Color32 m_ToColor2; [SerializeField] private Color32 m_ToColor2;
[SerializeField][Since("v3.6.0")] private Color32 m_MarkColor;
[SerializeField] private Color32 m_BackgroundColor; [SerializeField] private Color32 m_BackgroundColor;
[SerializeField] private float m_BackgroundWidth; [SerializeField] private float m_BackgroundWidth;
[SerializeField] private Color32 m_CenterColor; [SerializeField] private Color32 m_CenterColor;
@@ -35,6 +36,7 @@ namespace XCharts.Runtime
m_Color0 = Color.clear; m_Color0 = Color.clear;
m_ToColor = Color.clear; m_ToColor = Color.clear;
m_ToColor2 = Color.clear; m_ToColor2 = Color.clear;
m_MarkColor = Color.clear;
m_BackgroundColor = Color.clear; m_BackgroundColor = Color.clear;
m_BackgroundWidth = 0; m_BackgroundWidth = 0;
m_CenterColor = Color.clear; m_CenterColor = Color.clear;
@@ -102,6 +104,15 @@ namespace XCharts.Runtime
set { if (PropertyUtil.SetColor(ref m_ToColor2, value)) SetVerticesDirty(); } set { if (PropertyUtil.SetColor(ref m_ToColor2, value)) SetVerticesDirty(); }
} }
/// <summary> /// <summary>
/// Serie's mark color. It is only used to display Legend and Tooltip, and does not affect the drawing color. The default value is clear.
/// |Serie的标识颜色。仅用于Legend和Tooltip的展示不影响绘制颜色默认为clear。
/// </summary>
public Color32 markColor
{
get { return m_MarkColor; }
set { if (PropertyUtil.SetStruct(ref m_MarkColor, value)) { SetAllDirty(); } }
}
/// <summary>
/// 数据项背景颜色。 /// 数据项背景颜色。
/// </summary> /// </summary>
public Color32 backgroundColor public Color32 backgroundColor

View File

@@ -601,13 +601,14 @@ namespace XCharts.Runtime
/// <returns></returns> /// <returns></returns>
public Color32 GetMarkColor(Serie serie, SerieData serieData) public Color32 GetMarkColor(Serie serie, SerieData serieData)
{ {
if (ChartHelper.IsClearColor(serie.markColor)) var itemStyle = SerieHelper.GetItemStyle(serie, serieData);
if (ChartHelper.IsClearColor(itemStyle.markColor))
{ {
return GetItemColor(serie, serieData); return GetItemColor(serie, serieData);
} }
else else
{ {
return serie.markColor; return itemStyle.markColor;
} }
} }

View File

@@ -230,7 +230,6 @@ namespace XCharts.Runtime
[SerializeField] private string m_SerieName; [SerializeField] private string m_SerieName;
[SerializeField][Since("v3.2.0")] private SerieState m_State = SerieState.Normal; [SerializeField][Since("v3.2.0")] private SerieState m_State = SerieState.Normal;
[SerializeField][Since("v3.2.0")] private SerieColorBy m_ColorBy = SerieColorBy.Default; [SerializeField][Since("v3.2.0")] private SerieColorBy m_ColorBy = SerieColorBy.Default;
[SerializeField][Since("v3.4.0")] private Color32 m_MarkColor;
[SerializeField] private string m_Stack; [SerializeField] private string m_Stack;
[SerializeField] private int m_XAxisIndex = 0; [SerializeField] private int m_XAxisIndex = 0;
[SerializeField] private int m_YAxisIndex = 0; [SerializeField] private int m_YAxisIndex = 0;
@@ -376,15 +375,6 @@ namespace XCharts.Runtime
set { if (PropertyUtil.SetStruct(ref m_ColorBy, value)) { SetAllDirty(); } } set { if (PropertyUtil.SetStruct(ref m_ColorBy, value)) { SetAllDirty(); } }
} }
/// <summary> /// <summary>
/// Serie's mark color. It is only used to display Legend and Tooltip, and does not affect the drawing color. The default value is clear.
/// |Serie的标识颜色。仅用于Legend和Tooltip的展示不影响绘制颜色默认为clear。
/// </summary>
public Color32 markColor
{
get { return m_MarkColor; }
set { if (PropertyUtil.SetStruct(ref m_MarkColor, value)) { SetAllDirty(); } }
}
/// <summary>
/// If stack the value. On the same category axis, the series with the same stack name would be put on top of each other. /// If stack the value. On the same category axis, the series with the same stack name would be put on top of each other.
/// |数据堆叠同个类目轴上系列配置相同的stack值后后一个系列的值会在前一个系列的值上相加。 /// |数据堆叠同个类目轴上系列配置相同的stack值后后一个系列的值会在前一个系列的值上相加。
/// </summary> /// </summary>

View File

@@ -106,7 +106,8 @@ namespace XCharts.Runtime
break; break;
} }
} }
if (ChartHelper.IsClearColor(destSerie.markColor)) var itemStyle = SerieHelper.GetItemStyle(destSerie, destSerieData, SerieState.Normal);
if (ChartHelper.IsClearColor(itemStyle.markColor))
{ {
Color32 color, toColor; Color32 color, toColor;
SerieHelper.GetItemColor(out color, out toColor, destSerie, destSerieData, chart.theme, index, SerieState.Normal); SerieHelper.GetItemColor(out color, out toColor, destSerie, destSerieData, chart.theme, index, SerieState.Normal);
@@ -114,7 +115,7 @@ namespace XCharts.Runtime
} }
else else
{ {
return destSerie.markColor; return itemStyle.markColor;
} }
} }