| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 | using System;using UnityEngine;namespace XCharts.Runtime{    [Serializable]    public class TooltipTheme : ComponentTheme    {        [SerializeField] protected LineStyle.Type m_LineType = LineStyle.Type.Solid;        [SerializeField] protected float m_LineWidth = 1f;        [SerializeField] protected Color32 m_LineColor;        [SerializeField] protected Color32 m_AreaColor;        [SerializeField] protected Color32 m_LabelTextColor;        [SerializeField] protected Color32 m_LabelBackgroundColor;        /// <summary>        /// the type of line.        /// ||坐标轴线类型。        /// </summary>        public LineStyle.Type lineType        {            get { return m_LineType; }            set { if (PropertyUtil.SetStruct(ref m_LineType, value)) SetVerticesDirty(); }        }        /// <summary>        /// the width of line.        /// ||指示线线宽。        /// </summary>        public float lineWidth        {            get { return m_LineWidth; }            set { if (PropertyUtil.SetStruct(ref m_LineWidth, value)) SetVerticesDirty(); }        }        /// <summary>        /// the color of line.        /// ||指示线颜色。        /// </summary>        public Color32 lineColor        {            get { return m_LineColor; }            set { if (PropertyUtil.SetColor(ref m_LineColor, value)) SetVerticesDirty(); }        }        /// <summary>        /// the color of line.        /// ||区域指示的颜色。        /// </summary>        public Color32 areaColor        {            get { return m_AreaColor; }            set { if (PropertyUtil.SetColor(ref m_AreaColor, value)) SetVerticesDirty(); }        }        /// <summary>        /// the text color of tooltip cross indicator's axis label.        /// ||十字指示器坐标轴标签的文本颜色。        /// </summary>        public Color32 labelTextColor        {            get { return m_LabelTextColor; }            set { if (PropertyUtil.SetColor(ref m_LabelTextColor, value)) SetComponentDirty(); }        }        /// <summary>        /// the background color of tooltip cross indicator's axis label.        /// ||十字指示器坐标轴标签的背景颜色。        /// </summary>        public Color32 labelBackgroundColor        {            get { return m_LabelBackgroundColor; }            set { if (PropertyUtil.SetColor(ref m_LabelBackgroundColor, value)) SetComponentDirty(); }        }        public TooltipTheme(ThemeType theme) : base(theme)        {            m_LineType = LineStyle.Type.Solid;            m_LineWidth = XCSettings.tootipLineWidth;            switch (theme)            {                case ThemeType.Default:                    m_TextBackgroundColor = ColorUtil.GetColor("#FFFFFFFF");                    m_TextColor = ColorUtil.GetColor("#000000FF");                    m_AreaColor = ColorUtil.GetColor("#51515120");                    m_LabelTextColor = ColorUtil.GetColor("#FFFFFFFF");                    m_LabelBackgroundColor = ColorUtil.GetColor("#292929FF");                    m_LineColor = ColorUtil.GetColor("#29292964");                    break;                case ThemeType.Light:                    m_TextBackgroundColor = ColorUtil.GetColor("#FFFFFFFF");                    m_TextColor = ColorUtil.GetColor("#000000FF");                    m_AreaColor = ColorUtil.GetColor("#51515120");                    m_LabelTextColor = ColorUtil.GetColor("#FFFFFFFF");                    m_LabelBackgroundColor = ColorUtil.GetColor("#292929FF");                    m_LineColor = ColorUtil.GetColor("#29292964");                    break;                case ThemeType.Dark:                    m_TextBackgroundColor = ColorUtil.GetColor("#FFFFFFFF");                    m_TextColor = ColorUtil.GetColor("#000000FF");                    m_AreaColor = ColorUtil.GetColor("#51515120");                    m_LabelTextColor = ColorUtil.GetColor("#FFFFFFFF");                    m_LabelBackgroundColor = ColorUtil.GetColor("#292929FF");                    m_LineColor = ColorUtil.GetColor("#29292964");                    break;            }        }        public void Copy(TooltipTheme theme)        {            base.Copy(theme);            m_LineType = theme.lineType;            m_LineWidth = theme.lineWidth;            m_LineColor = theme.lineColor;            m_AreaColor = theme.areaColor;            m_LabelTextColor = theme.labelTextColor;            m_LabelBackgroundColor = theme.labelBackgroundColor;        }    }}
 |