65 lines
2.2 KiB
C#
65 lines
2.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace XCharts.Runtime
|
|
{
|
|
/// <summary>
|
|
/// comment of chart.
|
|
/// |图表注解组件。
|
|
/// </summary>
|
|
[Serializable]
|
|
[ComponentHandler(typeof(CommentHander), true)]
|
|
public class Comment : MainComponent
|
|
{
|
|
[SerializeField] private bool m_Show = true;
|
|
[SerializeField] private LabelStyle m_LabelStyle = new LabelStyle();
|
|
[SerializeField] private CommentMarkStyle m_MarkStyle;
|
|
[SerializeField] private List<CommentItem> m_Items = new List<CommentItem>() { new CommentItem() };
|
|
|
|
/// <summary>
|
|
/// Set this to false to prevent the comment from showing.
|
|
/// |是否显示注解组件。
|
|
/// </summary>
|
|
public bool show { get { return m_Show; } set { if (PropertyUtil.SetStruct(ref m_Show, value)) SetComponentDirty(); } }
|
|
public List<CommentItem> items { get { return m_Items; } set { m_Items = value; SetComponentDirty(); } }
|
|
/// <summary>
|
|
/// The text style of all comments.
|
|
/// |所有组件的文本样式。
|
|
/// </summary>
|
|
public LabelStyle labelStyle
|
|
{
|
|
get { return m_LabelStyle; }
|
|
set { if (PropertyUtil.SetClass(ref m_LabelStyle, value)) SetComponentDirty(); }
|
|
}
|
|
/// <summary>
|
|
/// The text style of all comments.
|
|
/// |所有组件的文本样式。
|
|
/// </summary>
|
|
public CommentMarkStyle markStyle
|
|
{
|
|
get { return m_MarkStyle; }
|
|
set { if (PropertyUtil.SetClass(ref m_MarkStyle, value)) SetVerticesDirty(); }
|
|
}
|
|
|
|
public LabelStyle GetLabelStyle(int index)
|
|
{
|
|
if (index >= 0 && index < items.Count)
|
|
{
|
|
var labelStyle = items[index].labelStyle;
|
|
if (labelStyle.show) return labelStyle;
|
|
}
|
|
return m_LabelStyle;
|
|
}
|
|
|
|
public CommentMarkStyle GetMarkStyle(int index)
|
|
{
|
|
if (index >= 0 && index < items.Count)
|
|
{
|
|
var markStyle = items[index].markStyle;
|
|
if (markStyle.show) return markStyle;
|
|
}
|
|
return m_MarkStyle;
|
|
}
|
|
}
|
|
} |