AirControl  1.3.0
Open Source, Modular, and Extensible Flight Simulator For Deep Learning Research
BaseGraph_API.cs
1 /************************************************/
2 /* */
3 /* Copyright (c) 2018 - 2021 monitor1394 */
4 /* https://github.com/monitor1394 */
5 /* */
6 /************************************************/
7 
8 using UnityEngine;
9 using System;
10 using UnityEngine.EventSystems;
11 
12 namespace XCharts
13 {
18  public partial class BaseGraph
19  {
25  public Background background { get { return m_Background; } }
30  public float graphX { get { return m_GraphX; } }
35  public float graphY { get { return m_GraphY; } }
40  public float graphWidth { get { return m_GraphWidth; } }
45  public float graphHeight { get { return m_GraphHeight; } }
50  public Vector3 graphPosition { get { return m_GraphPosition; } }
51  public Rect graphRect { get { return m_GraphRect; } }
56  public Vector2 pointerPos { get; protected set; }
61  public bool isPointerInChart { get; protected set; }
65  public string warningInfo { get; protected set; }
66  public bool isControlledByLayout { get { return m_IsControlledByLayout; } }
70  public bool forceOpenRaycastTarget { get { return m_ForceOpenRaycastTarget; } set { m_ForceOpenRaycastTarget = value; } }
74  public Action<PointerEventData, BaseGraph> onPointerClick { set { m_OnPointerClick = value; m_ForceOpenRaycastTarget = true; } }
78  public Action<PointerEventData, BaseGraph> onPointerDown { set { m_OnPointerDown = value; m_ForceOpenRaycastTarget = true; } }
82  public Action<PointerEventData, BaseGraph> onPointerUp { set { m_OnPointerUp = value; m_ForceOpenRaycastTarget = true; } }
86  public Action<PointerEventData, BaseGraph> onPointerEnter { set { m_OnPointerEnter = value; m_ForceOpenRaycastTarget = true; } }
90  public Action<PointerEventData, BaseGraph> onPointerExit { set { m_OnPointerExit = value; m_ForceOpenRaycastTarget = true; } }
94  public Action<PointerEventData, BaseGraph> onBeginDrag { set { m_OnBeginDrag = value; m_ForceOpenRaycastTarget = true; } }
98  public Action<PointerEventData, BaseGraph> onDrag { set { m_OnDrag = value; m_ForceOpenRaycastTarget = true; } }
102  public Action<PointerEventData, BaseGraph> onEndDrag { set { m_OnEndDrag = value; m_ForceOpenRaycastTarget = true; } }
106  public Action<PointerEventData, BaseGraph> onScroll { set { m_OnScroll = value; m_ForceOpenRaycastTarget = true; } }
107 
113  public virtual void SetSize(float width, float height)
114  {
115  if (LayerHelper.IsFixedWidthHeight(rectTransform))
116  {
117  rectTransform.sizeDelta = new Vector2(width, height);
118  }
119  else
120  {
121  Debug.LogError("Can't set size on stretch pivot,you need to modify rectTransform by yourself.");
122  }
123  }
124 
128  public void SetPainterDirty()
129  {
130  m_PainerDirty = true;
131  }
132 
137  public void RefreshGraph()
138  {
139  m_RefreshChart = true;
140  }
141 
142  public void RefreshAllComponent()
143  {
144  SetAllComponentDirty();
145  RefreshGraph();
146  }
147 
152  public string CheckWarning()
153  {
154  warningInfo = CheckHelper.CheckChart(this);
155  return warningInfo;
156  }
157 
161  public void RemoveChartObject()
162  {
163  ChartHelper.DestroyAllChildren(transform);
164  //SetAllComponentDirty();
165  }
166 
167  public bool ScreenPointToChartPoint(Vector2 screenPoint, out Vector2 chartPoint)
168  {
169 #if UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX
170  var relative = Display.RelativeMouseAt(screenPoint);
171  if(relative != Vector3.zero)
172  screenPoint = relative;
173 #endif
174  var cam = canvas.renderMode == RenderMode.ScreenSpaceOverlay ? null : canvas.worldCamera;
175  if (!RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform,
176  screenPoint, cam, out chartPoint))
177  {
178  return false;
179  }
180  return true;
181  }
182  }
183 }
XCharts.BaseGraph.forceOpenRaycastTarget
bool forceOpenRaycastTarget
强制开启鼠标事件检测。
Definition: BaseGraph_API.cs:70
XCharts.BaseGraph.onPointerEnter
Action< PointerEventData, BaseGraph > onPointerEnter
鼠标进入回调。
Definition: BaseGraph_API.cs:86
XCharts.BaseGraph.onPointerUp
Action< PointerEventData, BaseGraph > onPointerUp
鼠标弹起回调。
Definition: BaseGraph_API.cs:82
XCharts.BaseGraph.isPointerInChart
bool isPointerInChart
Whether the mouse pointer is in the chart. 鼠标是否在图表内。
Definition: BaseGraph_API.cs:61
XCharts.Background
Background component. Due to the limitations of the framework, there are two limitations to the use o...
Definition: Background.cs:28
XCharts.BaseGraph.graphPosition
Vector3 graphPosition
The position of graph. 图形的左下角起始坐标。
Definition: BaseGraph_API.cs:50
XCharts.BaseGraph.onPointerDown
Action< PointerEventData, BaseGraph > onPointerDown
鼠标按下回调。
Definition: BaseGraph_API.cs:78
XCharts.BaseGraph.warningInfo
string warningInfo
警告信息。
Definition: BaseGraph_API.cs:65
XCharts.BaseGraph.onBeginDrag
Action< PointerEventData, BaseGraph > onBeginDrag
鼠标开始拖拽回调。
Definition: BaseGraph_API.cs:94
XCharts
Definition: RewardChart.cs:14
XCharts.BaseGraph.graphY
float graphY
The y of graph. 图形的Y
Definition: BaseGraph_API.cs:35
XCharts.BaseGraph.onPointerClick
Action< PointerEventData, BaseGraph > onPointerClick
鼠标点击回调。
Definition: BaseGraph_API.cs:74
XCharts.BaseGraph
The base class of all graphs or components. 所有图形的基类。
Definition: BaseGraph_API.cs:18
XCharts.BaseGraph.onEndDrag
Action< PointerEventData, BaseGraph > onEndDrag
鼠标结束拖拽回调。
Definition: BaseGraph_API.cs:102
XCharts.BaseGraph.RefreshGraph
void RefreshGraph()
Redraw graph in next frame. 在下一帧刷新图形。
Definition: BaseGraph_API.cs:137
XCharts.BaseGraph.CheckWarning
string CheckWarning()
检测警告信息。
Definition: BaseGraph_API.cs:152
XCharts.BaseGraph.graphHeight
float graphHeight
The height of graph. 图形的高
Definition: BaseGraph_API.cs:45
XCharts.BaseGraph.SetPainterDirty
void SetPainterDirty()
重新初始化Painter
Definition: BaseGraph_API.cs:128
XCharts.BaseGraph.onScroll
Action< PointerEventData, BaseGraph > onScroll
鼠标滚动回调。
Definition: BaseGraph_API.cs:106
XCharts.BaseGraph.SetSize
virtual void SetSize(float width, float height)
设置图形的宽高(在非stretch pivot下才有效,其他情况需要自己调整RectTransform)
Definition: BaseGraph_API.cs:113
XCharts.BaseGraph.onDrag
Action< PointerEventData, BaseGraph > onDrag
鼠标拖拽回调。
Definition: BaseGraph_API.cs:98
XCharts.BaseGraph.graphX
float graphX
The x of graph. 图形的X
Definition: BaseGraph_API.cs:30
XCharts.SerieSymbolType.Rect
@ Rect
正方形。可通过设置itemStyle的cornerRadius变成圆角矩形。
XCharts.BaseGraph.pointerPos
Vector2 pointerPos
The postion of pointer. 鼠标位置。
Definition: BaseGraph_API.cs:56
XCharts.BaseGraph.onPointerExit
Action< PointerEventData, BaseGraph > onPointerExit
鼠标退出回调。
Definition: BaseGraph_API.cs:90
XCharts.BaseGraph.graphWidth
float graphWidth
The width of graph. 图形的宽
Definition: BaseGraph_API.cs:40
XCharts.BaseGraph.RemoveChartObject
void RemoveChartObject()
移除所有图表子节点,会自动重现初始化。
Definition: BaseGraph_API.cs:161
XCharts.BaseGraph.background
Background background
The background component. 背景组件。
Definition: BaseGraph_API.cs:25