123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- using System;
- using UnityEngine;
- using UnityEngine.UI;
-
- namespace XCharts.Runtime
- {
- [RequireComponent(typeof(CanvasRenderer))]
- public class Painter : MaskableGraphic
- {
- public enum Type
- {
- Base,
- Serie,
- Top
- }
- protected int m_Index = -1;
- protected Type m_Type = Type.Base;
- protected bool m_Refresh;
- protected Action<VertexHelper, Painter> m_OnPopulateMesh;
-
- public Action<VertexHelper, Painter> onPopulateMesh { set { m_OnPopulateMesh = value; } }
- public int index { get { return m_Index; } set { m_Index = value; } }
- public Type type { get { return m_Type; } set { m_Type = value; } }
- public void Refresh()
- {
- if (null == this || gameObject == null) return;
- if (!gameObject.activeSelf) return;
- m_Refresh = true;
- }
-
- public void Init()
- {
- raycastTarget = false;
- }
-
- public void SetActive(bool flag, bool isDebugMode = false)
- {
- if (gameObject.activeInHierarchy != flag)
- {
- gameObject.SetActive(flag);
- }
- var hideFlags = flag && isDebugMode ? HideFlags.None : HideFlags.HideInHierarchy;
- if (gameObject.hideFlags != hideFlags)
- {
- gameObject.hideFlags = hideFlags;
- }
- }
-
- protected override void Awake()
- {
- Init();
- }
-
- public void CheckRefresh()
- {
- if (m_Refresh && gameObject.activeSelf)
- {
- m_Refresh = false;
- SetVerticesDirty();
- }
- }
-
- protected override void OnPopulateMesh(VertexHelper vh)
- {
- vh.Clear();
- if (m_OnPopulateMesh != null)
- {
- m_OnPopulateMesh(vh, this);
- }
- }
- }
- }
|