SerieContext.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. using System.Collections.Generic;
  2. using UnityEngine;
  3. namespace XCharts.Runtime
  4. {
  5. public struct PointInfo
  6. {
  7. public Vector3 position;
  8. public bool isIgnoreBreak;
  9. public PointInfo(Vector3 pos, bool ignore)
  10. {
  11. this.position = pos;
  12. this.isIgnoreBreak = ignore;
  13. }
  14. }
  15. public class SerieContext
  16. {
  17. /// <summary>
  18. /// 鼠标是否进入serie
  19. /// </summary>
  20. public bool pointerEnter;
  21. /// <summary>
  22. /// 鼠标当前指示的数据项索引(单个)
  23. /// </summary>
  24. public int pointerItemDataIndex = -1;
  25. /// <summary>
  26. /// 鼠标当前指示的数据项维度
  27. /// </summary>
  28. public int pointerItemDataDimension = 1;
  29. /// <summary>
  30. /// 鼠标所在轴线上的数据项索引(可能有多个)
  31. /// </summary>
  32. public List<int> pointerAxisDataIndexs = new List<int>();
  33. public bool isTriggerByAxis = false;
  34. public int dataZoomStartIndex = 0;
  35. public int dataZoomStartIndexOffset = 0;
  36. /// <summary>
  37. /// 中心点
  38. /// </summary>
  39. public Vector3 center;
  40. /// <summary>
  41. /// 线段终点
  42. /// </summary>
  43. public Vector3 lineEndPostion;
  44. public double lineEndValue;
  45. /// <summary>
  46. /// 内半径
  47. /// </summary>
  48. public float insideRadius;
  49. /// <summary>
  50. /// 外半径
  51. /// </summary>
  52. public float outsideRadius;
  53. public float startAngle;
  54. /// <summary>
  55. /// 最大值
  56. /// </summary>
  57. public double dataMax;
  58. /// <summary>
  59. /// 最小值
  60. /// </summary>
  61. public double dataMin;
  62. public double checkValue;
  63. /// <summary>
  64. /// 左下角坐标X
  65. /// </summary>
  66. public float x;
  67. /// <summary>
  68. /// 左下角坐标Y
  69. /// </summary>
  70. public float y;
  71. /// <summary>
  72. /// 宽
  73. /// </summary>
  74. public float width;
  75. /// <summary>
  76. /// 高
  77. /// </summary>
  78. public float height;
  79. /// <summary>
  80. /// 矩形区域
  81. /// </summary>
  82. public Rect rect;
  83. /// <summary>
  84. /// 绘制顶点数
  85. /// </summary>
  86. public int vertCount;
  87. /// <summary>
  88. /// theme的颜色索引
  89. /// </summary>
  90. public int colorIndex;
  91. /// <summary>
  92. /// 数据对应的位置坐标。
  93. /// </summary>
  94. public List<Vector3> dataPoints = new List<Vector3>();
  95. /// <summary>
  96. /// 数据对应的位置坐标是否忽略(忽略时连线是透明的),dataIgnore 和 dataPoints 一一对应。
  97. /// </summary>
  98. public List<bool> dataIgnores = new List<bool>();
  99. /// <summary>
  100. /// 数据对应的index索引。dataIndexs 和 dataPoints 一一对应。
  101. /// </summary>
  102. public List<int> dataIndexs = new List<int>();
  103. /// <summary>
  104. /// 排序后的数据
  105. /// </summary>
  106. public List<SerieData> sortedData = new List<SerieData>();
  107. public List<SerieData> rootData = new List<SerieData>();
  108. /// <summary>
  109. /// 绘制点
  110. /// </summary>
  111. public List<PointInfo> drawPoints = new List<PointInfo>();
  112. public SerieParams param = new SerieParams();
  113. public ChartLabel titleObject { get; set; }
  114. public Tooltip.Type tooltipType;
  115. public Tooltip.Trigger tooltipTrigger;
  116. public int totalDataIndex;
  117. /// <summary>
  118. /// 水平方向的
  119. /// </summary>
  120. public bool isHorizontal;
  121. }
  122. }