mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-27 03:10:11 +00:00
增加Comment的layer设置层级
This commit is contained in:
@@ -80,6 +80,8 @@ slug: /changelog
|
|||||||
|
|
||||||
## master
|
## master
|
||||||
|
|
||||||
|
* (2025.03.22) 增加`Comment`的`layer`设置层级
|
||||||
|
* (2025.03.21) 优化`Comment`的坐标刷新
|
||||||
* (2025.03.19) 增加`Serie`的`Label`的`formatter`支持`{index}`通配符
|
* (2025.03.19) 增加`Serie`的`Label`的`formatter`支持`{index}`通配符
|
||||||
* (2025.03.18) 增加`Bar`可添加`TitleStyle`组件支持
|
* (2025.03.18) 增加`Bar`可添加`TitleStyle`组件支持
|
||||||
* (2025.03.18) 增加`LabelStyle`的`fixedX`和`fixedY`可固定label的坐标
|
* (2025.03.18) 增加`LabelStyle`的`fixedX`和`fixedY`可固定label的坐标
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ namespace XCharts.Editor
|
|||||||
public override void OnInspectorGUI()
|
public override void OnInspectorGUI()
|
||||||
{
|
{
|
||||||
++EditorGUI.indentLevel;
|
++EditorGUI.indentLevel;
|
||||||
|
PropertyField("m_Layer");
|
||||||
PropertyField("m_LabelStyle");
|
PropertyField("m_LabelStyle");
|
||||||
//PropertyField("m_MarkStyle");
|
//PropertyField("m_MarkStyle");
|
||||||
PropertyListField("m_Items", true);
|
PropertyListField("m_Items", true);
|
||||||
|
|||||||
@@ -5,14 +5,33 @@ using UnityEngine;
|
|||||||
namespace XCharts.Runtime
|
namespace XCharts.Runtime
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// comment of chart.
|
/// The layer of comment.
|
||||||
/// ||图表注解组件。
|
/// ||注解的显示层级。
|
||||||
|
/// </summary>
|
||||||
|
[Since("v3.15.0")]
|
||||||
|
public enum CommentLayer
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The comment is display under the serie.
|
||||||
|
/// ||注解在系列下方。
|
||||||
|
/// </summary>
|
||||||
|
Lower,
|
||||||
|
/// <summary>
|
||||||
|
/// The comment is display above the serie.
|
||||||
|
/// ||注解在系列上方。
|
||||||
|
/// </summary>
|
||||||
|
Upper
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// comment of chart. Used to annotate special information in the chart.
|
||||||
|
/// ||图表注解组件。用于标注图表中的特殊信息。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Serializable]
|
[Serializable]
|
||||||
[ComponentHandler(typeof(CommentHander), true)]
|
[ComponentHandler(typeof(CommentHander), true)]
|
||||||
public class Comment : MainComponent, IPropertyChanged
|
public class Comment : MainComponent, IPropertyChanged
|
||||||
{
|
{
|
||||||
[SerializeField] private bool m_Show = true;
|
[SerializeField] private bool m_Show = true;
|
||||||
|
[SerializeField][Since("v3.15.0")] private CommentLayer m_Layer = CommentLayer.Lower;
|
||||||
[SerializeField] private LabelStyle m_LabelStyle = new LabelStyle();
|
[SerializeField] private LabelStyle m_LabelStyle = new LabelStyle();
|
||||||
[SerializeField] private CommentMarkStyle m_MarkStyle;
|
[SerializeField] private CommentMarkStyle m_MarkStyle;
|
||||||
[SerializeField] private List<CommentItem> m_Items = new List<CommentItem>() { new CommentItem() };
|
[SerializeField] private List<CommentItem> m_Items = new List<CommentItem>() { new CommentItem() };
|
||||||
@@ -23,6 +42,11 @@ namespace XCharts.Runtime
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool show { get { return m_Show; } set { if (PropertyUtil.SetStruct(ref m_Show, value)) SetComponentDirty(); } }
|
public bool show { get { return m_Show; } set { if (PropertyUtil.SetStruct(ref m_Show, value)) SetComponentDirty(); } }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// The layer of comment.
|
||||||
|
/// ||注解的显示层级。
|
||||||
|
/// </summary>
|
||||||
|
public CommentLayer layer { get { return m_Layer; } set { if (PropertyUtil.SetStruct(ref m_Layer, value)) SetComponentDirty(); } }
|
||||||
|
/// <summary>
|
||||||
/// The items of comment.
|
/// The items of comment.
|
||||||
/// ||注解项。每个注解组件可以设置多个注解项。
|
/// ||注解项。每个注解组件可以设置多个注解项。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -45,7 +69,12 @@ namespace XCharts.Runtime
|
|||||||
get { return m_MarkStyle; }
|
get { return m_MarkStyle; }
|
||||||
set { if (PropertyUtil.SetClass(ref m_MarkStyle, value)) SetVerticesDirty(); }
|
set { if (PropertyUtil.SetClass(ref m_MarkStyle, value)) SetVerticesDirty(); }
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Get the label style of comment item.
|
||||||
|
/// ||获取注解项的文本样式。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="index">the index of item</param>
|
||||||
|
/// <returns></returns>
|
||||||
public LabelStyle GetLabelStyle(int index)
|
public LabelStyle GetLabelStyle(int index)
|
||||||
{
|
{
|
||||||
if (index >= 0 && index < items.Count)
|
if (index >= 0 && index < items.Count)
|
||||||
@@ -55,7 +84,12 @@ namespace XCharts.Runtime
|
|||||||
}
|
}
|
||||||
return m_LabelStyle;
|
return m_LabelStyle;
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Get the mark style of comment item.
|
||||||
|
/// ||获取注解项的标记样式。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="index">the index of item</param>
|
||||||
|
/// <returns></returns>
|
||||||
public CommentMarkStyle GetMarkStyle(int index)
|
public CommentMarkStyle GetMarkStyle(int index)
|
||||||
{
|
{
|
||||||
if (index >= 0 && index < items.Count)
|
if (index >= 0 && index < items.Count)
|
||||||
|
|||||||
@@ -23,8 +23,12 @@ namespace XCharts.Runtime
|
|||||||
chart.chartMaxAnchor,
|
chart.chartMaxAnchor,
|
||||||
chart.chartPivot,
|
chart.chartPivot,
|
||||||
chart.chartSizeDelta, -1, chart.childrenNodeNames);
|
chart.chartSizeDelta, -1, chart.childrenNodeNames);
|
||||||
|
var siblingIndex = comment.layer == CommentLayer.Upper
|
||||||
|
? chart.topPainter.transform.GetSiblingIndex() - 1
|
||||||
|
: chart.painter.transform.GetSiblingIndex() + 1;
|
||||||
|
|
||||||
commentObj.SetActive(comment.show);
|
commentObj.SetActive(comment.show);
|
||||||
|
commentObj.transform.SetSiblingIndex(siblingIndex);
|
||||||
commentObj.hideFlags = chart.chartHideFlags;
|
commentObj.hideFlags = chart.chartHideFlags;
|
||||||
ChartHelper.HideAllObject(commentObj);
|
ChartHelper.HideAllObject(commentObj);
|
||||||
for (int i = 0; i < comment.items.Count; i++)
|
for (int i = 0; i < comment.items.Count; i++)
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ namespace XCharts.Runtime
|
|||||||
public class CommentItem : ChildComponent
|
public class CommentItem : ChildComponent
|
||||||
{
|
{
|
||||||
[SerializeField] private bool m_Show = true;
|
[SerializeField] private bool m_Show = true;
|
||||||
[SerializeField] private string m_Content = "comment";
|
[SerializeField] private string m_Content = "xcharts";
|
||||||
[SerializeField] private Rect m_MarkRect;
|
[SerializeField] private Rect m_MarkRect;
|
||||||
[SerializeField] private CommentMarkStyle m_MarkStyle = new CommentMarkStyle() { show = false };
|
[SerializeField] private CommentMarkStyle m_MarkStyle = new CommentMarkStyle() { show = false };
|
||||||
[SerializeField] private LabelStyle m_LabelStyle = new LabelStyle() { show = false };
|
[SerializeField] private LabelStyle m_LabelStyle = new LabelStyle() { show = false };
|
||||||
[SerializeField][Since("v3.5.0")] private Location m_Location = new Location() { align = Location.Align.TopLeft, top = 0.125f };
|
[SerializeField][Since("v3.5.0")] private Location m_Location = new Location() { align = Location.Align.BottomRight, right = 0.1f, bottom = 0.05f };
|
||||||
|
|
||||||
public ChartLabel labelObject { get; set; }
|
public ChartLabel labelObject { get; set; }
|
||||||
|
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ namespace XCharts.Runtime
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public Vector3 chartPosition { get { return m_ChartPosition; } }
|
public Vector3 chartPosition { get { return m_ChartPosition; } }
|
||||||
public Rect chartRect { get { return m_ChartRect; } }
|
public Rect chartRect { get { return m_ChartRect; } }
|
||||||
|
public Painter topPainter { get { return m_PainterTop; } }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The callback function of chart init.
|
/// The callback function of chart init.
|
||||||
/// ||图表的初始化完成回调。
|
/// ||图表的初始化完成回调。
|
||||||
|
|||||||
Reference in New Issue
Block a user