10 using UnityEngine.EventSystems;
30 public float graphX {
get {
return m_GraphX; } }
35 public float graphY {
get {
return m_GraphY; } }
51 public Rect graphRect {
get {
return m_GraphRect; } }
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; } }
113 public virtual void SetSize(
float width,
float height)
115 if (LayerHelper.IsFixedWidthHeight(rectTransform))
117 rectTransform.sizeDelta =
new Vector2(width, height);
121 Debug.LogError(
"Can't set size on stretch pivot,you need to modify rectTransform by yourself.");
130 m_PainerDirty =
true;
139 m_RefreshChart =
true;
142 public void RefreshAllComponent()
144 SetAllComponentDirty();
163 ChartHelper.DestroyAllChildren(transform);
167 public bool ScreenPointToChartPoint(Vector2 screenPoint, out Vector2 chartPoint)
169 #if UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX
170 var relative = Display.RelativeMouseAt(screenPoint);
171 if(relative != Vector3.zero)
172 screenPoint = relative;
174 var cam = canvas.renderMode == RenderMode.ScreenSpaceOverlay ? null : canvas.worldCamera;
175 if (!RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform,
176 screenPoint, cam, out chartPoint))