| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 | 
							- using System;
 
- using UnityEngine;
 
- namespace XCharts.Runtime
 
- {
 
-     /// <summary>
 
-     /// 标签的引导线
 
-     /// </summary>
 
-     [System.Serializable]
 
-     public class LabelLine : ChildComponent, ISerieComponent, ISerieDataComponent
 
-     {
 
-         /// <summary>
 
-         /// 标签视觉引导线类型
 
-         /// </summary>
 
-         public enum LineType
 
-         {
 
-             /// <summary>
 
-             /// 折线
 
-             /// </summary>
 
-             BrokenLine,
 
-             /// <summary>
 
-             /// 曲线
 
-             /// </summary>
 
-             Curves,
 
-             /// <summary>
 
-             /// 水平线
 
-             /// </summary>
 
-             HorizontalLine
 
-         }
 
-         [SerializeField] private bool m_Show = true;
 
-         [SerializeField] private LineType m_LineType = LineType.BrokenLine;
 
-         [SerializeField] private Color32 m_LineColor = ChartConst.clearColor32;
 
-         [SerializeField] private float m_LineAngle = 60;
 
-         [SerializeField] private float m_LineWidth = 1.0f;
 
-         [SerializeField] private float m_LineGap = 1.0f;
 
-         [SerializeField] private float m_LineLength1 = 25f;
 
-         [SerializeField] private float m_LineLength2 = 15f;
 
-         [SerializeField][Since("v3.8.0")] private float m_LineEndX = 0f;
 
-         [SerializeField] private SymbolStyle m_StartSymbol = new SymbolStyle() { show = false, type = SymbolType.Circle, size = 3 };
 
-         [SerializeField] private SymbolStyle m_EndSymbol = new SymbolStyle() { show = false, type = SymbolType.Circle, size = 3 };
 
-         public void Reset()
 
-         {
 
-             m_Show = false;
 
-             m_LineType = LineType.BrokenLine;
 
-             m_LineColor = Color.clear;
 
-             m_LineAngle = 60;
 
-             m_LineWidth = 1.0f;
 
-             m_LineGap = 1.0f;
 
-             m_LineLength1 = 25f;
 
-             m_LineLength2 = 15f;
 
-             m_LineEndX = 0;
 
-         }
 
-         /// <summary>
 
-         /// Whether the label line is showed.
 
-         /// ||是否显示视觉引导线。
 
-         /// </summary>
 
-         public bool show
 
-         {
 
-             get { return m_Show; }
 
-             set { if (PropertyUtil.SetStruct(ref m_Show, value)) SetAllDirty(); }
 
-         }
 
-         /// <summary>
 
-         /// the type of visual guide line.
 
-         /// ||视觉引导线类型。
 
-         /// </summary>
 
-         public LineType lineType
 
-         {
 
-             get { return m_LineType; }
 
-             set { if (PropertyUtil.SetStruct(ref m_LineType, value)) SetVerticesDirty(); }
 
-         }
 
-         /// <summary>
 
-         /// the color of visual guild line.
 
-         /// ||视觉引导线颜色。默认和serie一致取自调色板。
 
-         /// </summary>
 
-         public Color32 lineColor
 
-         {
 
-             get { return m_LineColor; }
 
-             set { if (PropertyUtil.SetStruct(ref m_LineColor, value)) SetVerticesDirty(); }
 
-         }
 
-         /// <summary>
 
-         /// the angle of visual guild line. Valid for broken line and curve line. Invalid in Pie.
 
-         /// ||视觉引导线的固定角度。对折线和曲线有效。在Pie中无效。
 
-         /// </summary>
 
-         public float lineAngle
 
-         {
 
-             get { return m_LineAngle; }
 
-             set { if (PropertyUtil.SetStruct(ref m_LineAngle, value)) SetVerticesDirty(); }
 
-         }
 
-         /// <summary>
 
-         /// the width of visual guild line.
 
-         /// ||视觉引导线的宽度。
 
-         /// </summary>
 
-         public float lineWidth
 
-         {
 
-             get { return m_LineWidth; }
 
-             set { if (PropertyUtil.SetStruct(ref m_LineWidth, value)) SetVerticesDirty(); }
 
-         }
 
-         /// <summary>
 
-         /// the gap of container and guild line.
 
-         /// ||视觉引导线和容器的间距。
 
-         /// </summary>
 
-         public float lineGap
 
-         {
 
-             get { return m_LineGap; }
 
-             set { if (PropertyUtil.SetStruct(ref m_LineGap, value)) SetVerticesDirty(); }
 
-         }
 
-         /// <summary>
 
-         /// The length of the first segment of visual guide line.
 
-         /// ||视觉引导线第一段的长度。
 
-         /// </summary>
 
-         public float lineLength1
 
-         {
 
-             get { return m_LineLength1; }
 
-             set { if (PropertyUtil.SetStruct(ref m_LineLength1, value)) SetVerticesDirty(); }
 
-         }
 
-         /// <summary>
 
-         /// The length of the second segment of visual guide line.
 
-         /// ||视觉引导线第二段的长度。
 
-         /// </summary>
 
-         public float lineLength2
 
-         {
 
-             get { return m_LineLength2; }
 
-             set { if (PropertyUtil.SetStruct(ref m_LineLength2, value)) SetVerticesDirty(); }
 
-         }
 
-         /// <summary>
 
-         /// The fixed x position of the end point of visual guide line.
 
-         /// ||视觉引导线结束点的固定x位置。当不为0时,会代替lineLength2设定引导线的x位置。
 
-         /// </summary>
 
-         public float lineEndX
 
-         {
 
-             get { return m_LineEndX; }
 
-             set { if (PropertyUtil.SetStruct(ref m_LineEndX, value)) SetVerticesDirty(); }
 
-         }
 
-         /// <summary>
 
-         /// The symbol of the start point of labelline.
 
-         /// ||起始点的图形标记。
 
-         /// </summary>
 
-         public SymbolStyle startSymbol
 
-         {
 
-             get { return m_StartSymbol; }
 
-             set { if (PropertyUtil.SetClass(ref m_StartSymbol, value)) SetVerticesDirty(); }
 
-         }
 
-         /// <summary>
 
-         /// The symbol of the end point of labelline.
 
-         /// ||结束点的图形标记。
 
-         /// </summary>
 
-         public SymbolStyle endSymbol
 
-         {
 
-             get { return m_EndSymbol; }
 
-             set { if (PropertyUtil.SetClass(ref m_EndSymbol, value)) SetVerticesDirty(); }
 
-         }
 
-         public Vector3 GetStartSymbolOffset()
 
-         {
 
-             return m_StartSymbol != null && m_StartSymbol.show ? m_StartSymbol.offset3 : Vector3.zero;
 
-         }
 
-         public Vector3 GetEndSymbolOffset()
 
-         {
 
-             return m_EndSymbol != null && m_EndSymbol.show ? m_EndSymbol.offset3 : Vector3.zero;
 
-         }
 
-     }
 
- }
 
 
  |