using UnityEngine; namespace XCharts.Runtime { /// /// Settings related to axis tick. /// |坐标轴刻度相关设置。 /// [System.Serializable] public class AxisTick : BaseLine { [SerializeField] private bool m_AlignWithLabel; [SerializeField] private bool m_Inside; [SerializeField] private bool m_ShowStartTick; [SerializeField] private bool m_ShowEndTick; [SerializeField] private float m_Distance; [SerializeField] protected int m_SplitNumber = 0; [SerializeField] private bool m_AutoColor; /// /// The distance between the tick line and axis line. /// |刻度线与轴线的距离。 /// public float distance { get { return m_Distance; } set { m_Distance = value; } } /// /// Align axis tick with label, which is available only when boundaryGap is set to be true in category axis. /// |类目轴中在 boundaryGap 为 true 的时候有效,可以保证刻度线和标签对齐。 /// public bool alignWithLabel { get { return m_AlignWithLabel; } set { if (PropertyUtil.SetStruct(ref m_AlignWithLabel, value)) SetVerticesDirty(); } } /// /// Set this to true so the axis labels face the inside direction. /// |坐标轴刻度是否朝内,默认朝外。 /// public bool inside { get { return m_Inside; } set { if (PropertyUtil.SetStruct(ref m_Inside, value)) SetVerticesDirty(); } } /// /// Whether to display the first tick. /// |是否显示第一个刻度。 /// public bool showStartTick { get { return m_ShowStartTick; } set { if (PropertyUtil.SetStruct(ref m_ShowStartTick, value)) SetVerticesDirty(); } } /// /// Whether to display the last tick. /// |是否显示最后一个刻度。 /// public bool showEndTick { get { return m_ShowEndTick; } set { if (PropertyUtil.SetStruct(ref m_ShowEndTick, value)) SetVerticesDirty(); } } /// /// Number of segments that the axis is split into. /// |分隔线之间分割的刻度数。 /// public int splitNumber { get { return m_SplitNumber; } set { if (PropertyUtil.SetStruct(ref m_SplitNumber, value)) SetAllDirty(); } } public bool autoColor { get { return m_AutoColor; } set { m_AutoColor = value; } } public static AxisTick defaultTick { get { var tick = new AxisTick { m_Show = true, m_AlignWithLabel = false, m_Inside = false, m_ShowStartTick = true, m_ShowEndTick = true }; return tick; } } public AxisTick Clone() { var axisTick = new AxisTick(); axisTick.show = show; axisTick.alignWithLabel = alignWithLabel; axisTick.inside = inside; axisTick.showStartTick = showStartTick; axisTick.showEndTick = showEndTick; axisTick.lineStyle = lineStyle.Clone(); return axisTick; } public void Copy(AxisTick axisTick) { show = axisTick.show; alignWithLabel = axisTick.alignWithLabel; inside = axisTick.inside; showStartTick = axisTick.showStartTick; showEndTick = axisTick.showEndTick; } } }