| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | using System;using UnityEngine;namespace XCharts.Runtime{    [System.Serializable]    public class ChildComponent    {        public virtual int index { get; set; }        [NonSerialized] protected bool m_VertsDirty;        [NonSerialized] protected bool m_ComponentDirty;        [NonSerialized] protected Painter m_Painter;        /// <summary>        /// 图表重绘标记。        /// </summary>        public virtual bool vertsDirty { get { return m_VertsDirty; } }        /// <summary>        /// 组件重新初始化标记。        /// </summary>        public virtual bool componentDirty { get { return m_ComponentDirty; } }        /// <summary>        /// 需要重绘图表或重新初始化组件。        /// </summary>        public bool anyDirty { get { return vertsDirty || componentDirty; } }        public Painter painter { get { return m_Painter; } set { m_Painter = value; } }        public Action refreshComponent { get; set; }        public GameObject gameObject { get; set; }        public static void ClearVerticesDirty(ChildComponent component)        {            if (component != null)                component.ClearVerticesDirty();        }        public static void ClearComponentDirty(ChildComponent component)        {            if (component != null)                component.ClearComponentDirty();        }        public static bool IsVertsDirty(ChildComponent component)        {            return component == null?false : component.vertsDirty;        }        public static bool IsComponentDirty(ChildComponent component)        {            return component == null?false : component.componentDirty;        }        public virtual void SetVerticesDirty()        {            m_VertsDirty = true;        }        public virtual void ClearVerticesDirty()        {            m_VertsDirty = false;        }        public virtual void SetComponentDirty()        {            m_ComponentDirty = true;        }        public virtual void ClearComponentDirty()        {            m_ComponentDirty = false;        }        public virtual void ClearDirty()        {            ClearVerticesDirty();            ClearComponentDirty();        }        public virtual void SetAllDirty()        {            SetVerticesDirty();            SetComponentDirty();        }    }}
 |