| 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;        }    }}
 |