| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 | using System;using UnityEngine;namespace XCharts.Runtime{    /// <summary>    /// Title component, including main title and subtitle.    /// ||标题组件,包含主标题和副标题。    /// </summary>    [Serializable]    [ComponentHandler(typeof(TitleHander), true)]    public class Title : MainComponent, IPropertyChanged    {        [SerializeField] private bool m_Show = true;        [SerializeField] private string m_Text = "Chart Title";        [SerializeField] private string m_SubText = "";        [SerializeField] private LabelStyle m_LabelStyle = new LabelStyle();        [SerializeField] private LabelStyle m_SubLabelStyle = new LabelStyle();        [SerializeField] private float m_ItemGap = 0;        [SerializeField] private Location m_Location = Location.defaultTop;        /// <summary>        /// [default:true]        /// Set this to false to prevent the title from showing.        /// ||是否显示标题组件。        /// </summary>        public bool show { get { return m_Show; } set { if (PropertyUtil.SetStruct(ref m_Show, value)) SetComponentDirty(); } }        /// <summary>        /// The main title text, supporting \n for newlines.        /// ||主标题文本,支持使用 \n 换行。        /// </summary>        public string text { get { return m_Text; } set { if (PropertyUtil.SetClass(ref m_Text, value)) SetComponentDirty(); } }        /// <summary>        /// The text style of main title.        /// ||主标题文本样式。        /// </summary>        public LabelStyle labelStyle        {            get { return m_LabelStyle; }            set { if (PropertyUtil.SetClass(ref m_LabelStyle, value)) SetComponentDirty(); }        }        /// <summary>        /// Subtitle text, supporting for \n for newlines.        /// ||副标题文本,支持使用 \n 换行。        /// </summary>        public string subText        {            get { return m_SubText; }            set { if (PropertyUtil.SetClass(ref m_SubText, value)) SetComponentDirty(); }        }        /// <summary>        /// The text style of sub title.        /// ||副标题文本样式。        /// </summary>        public LabelStyle subLabelStyle        {            get { return m_SubLabelStyle; }            set { if (PropertyUtil.SetClass(ref m_SubLabelStyle, value)) SetComponentDirty(); }        }        /// <summary>        /// [default:8]        /// The gap between the main title and subtitle.        /// ||主副标题之间的间距。        /// </summary>        public float itemGap        {            get { return m_ItemGap; }            set { if (PropertyUtil.SetStruct(ref m_ItemGap, value)) SetComponentDirty(); }        }        /// <summary>        /// The location of title component.        /// ||标题显示位置。        /// </summary>        public Location location        {            get { return m_Location; }            set { if (PropertyUtil.SetClass(ref m_Location, value)) SetComponentDirty(); }        }        public override bool vertsDirty { get { return false; } }        public override bool componentDirty        {            get            {                return m_ComponentDirty ||                    location.componentDirty ||                    m_LabelStyle.componentDirty ||                    m_SubLabelStyle.componentDirty;            }        }        public override void ClearComponentDirty()        {            base.ClearComponentDirty();            location.ClearComponentDirty();            m_LabelStyle.ClearComponentDirty();            m_SubLabelStyle.ClearComponentDirty();        }        public void OnChanged()        {            m_Location.OnChanged();        }    }}
 |