123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- using UnityEngine;
-
- namespace XCharts.Runtime
- {
- /// <summary>
- /// Settings related to axis tick.
- /// |坐标轴刻度相关设置。
- /// </summary>
- [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;
-
- /// <summary>
- /// The distance between the tick line and axis line.
- /// |刻度线与轴线的距离。
- /// </summary>
- public float distance { get { return m_Distance; } set { m_Distance = value; } }
-
- /// <summary>
- /// Align axis tick with label, which is available only when boundaryGap is set to be true in category axis.
- /// |类目轴中在 boundaryGap 为 true 的时候有效,可以保证刻度线和标签对齐。
- /// </summary>
- public bool alignWithLabel
- {
- get { return m_AlignWithLabel; }
- set { if (PropertyUtil.SetStruct(ref m_AlignWithLabel, value)) SetVerticesDirty(); }
- }
- /// <summary>
- /// Set this to true so the axis labels face the inside direction.
- /// |坐标轴刻度是否朝内,默认朝外。
- /// </summary>
- public bool inside
- {
- get { return m_Inside; }
- set { if (PropertyUtil.SetStruct(ref m_Inside, value)) SetVerticesDirty(); }
- }
- /// <summary>
- /// Whether to display the first tick.
- /// |是否显示第一个刻度。
- /// </summary>
- public bool showStartTick
- {
- get { return m_ShowStartTick; }
- set { if (PropertyUtil.SetStruct(ref m_ShowStartTick, value)) SetVerticesDirty(); }
- }
- /// <summary>
- /// Whether to display the last tick.
- /// |是否显示最后一个刻度。
- /// </summary>
- public bool showEndTick
- {
- get { return m_ShowEndTick; }
- set { if (PropertyUtil.SetStruct(ref m_ShowEndTick, value)) SetVerticesDirty(); }
- }
- /// <summary>
- /// Number of segments that the axis is split into.
- /// |分隔线之间分割的刻度数。
- /// </summary>
- 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;
- }
- }
- }
|