| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 | using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;using XCharts.Runtime;using XUGL;namespace XCharts.Example{    [DisallowMultipleComponent]    [RequireComponent(typeof(BaseChart))]    public class Example02_ChartEvent : MonoBehaviour    {        BaseChart chart;        void Awake()        {            chart = gameObject.GetComponent<BaseChart>();            chart.onPointerEnter = OnPointerEnter;            chart.onPointerExit = OnPointerExit;            chart.onPointerDown = OnPointerDown;            chart.onPointerUp = OnPointerUp;            chart.onPointerClick = OnPointerClick;            chart.onScroll = OnScroll;            chart.onSerieClick = OnSerieClick;            chart.onSerieEnter = OnSerieEnter;            chart.onSerieExit = OnSerieExit;            chart.onDraw = OnDraw;            chart.onDrawBeforeSerie = OnDrawBeforeSerie;            chart.onDrawAfterSerie = OnDrawAfterSerie;            chart.onDrawTop = OnDrawTop;        }        void OnPointerEnter(PointerEventData eventData, BaseGraph chart)        {            Debug.Log("enter:" + chart);        }        void OnPointerExit(PointerEventData eventData, BaseGraph chart)        {            Debug.Log("exit:" + chart);        }        void OnPointerDown(PointerEventData eventData, BaseGraph chart)        {            Debug.Log("down:" + chart);        }        void OnPointerUp(PointerEventData eventData, BaseGraph chart)        {            Debug.Log("up:" + chart);        }        void OnPointerClick(PointerEventData eventData, BaseGraph chart)        {            Debug.Log("click:" + chart);        }        void OnScroll(PointerEventData eventData, BaseGraph chart)        {            Debug.Log("scroll:" + chart);        }        void OnSerieClick(SerieEventData data)        {            Debug.Log("OnSerieClick: " + data.serieIndex + " " + data.dataIndex + " " + data.dimension + " " + data.value);        }        void OnSerieEnter(SerieEventData data)        {            Debug.Log("OnSerieEnter: " + data.serieIndex + " " + data.dataIndex + " " + data.dimension + " " + data.value);        }        void OnSerieExit(SerieEventData data)        {            Debug.Log("OnSerieExit: " + data.serieIndex + " " + data.dataIndex + " " + data.dimension + " " + data.value);        }        void OnDraw(VertexHelper vh)        {            //Debug.Log("OnDraw");        }        void OnDrawBeforeSerie(VertexHelper vh, Serie serie)        {            //Debug.Log("OnDrawBeforeSerie: " + serie.index);        }        void OnDrawAfterSerie(VertexHelper vh, Serie serie)        {            //Debug.Log("OnDrawAfterSerie: " + serie.index);            if (serie.index != 0) return;            var dataPoints = serie.context.dataPoints;            if (dataPoints.Count > 4)            {                var pos = dataPoints[3];                var grid = chart.GetChartComponent<GridCoord>();                var zeroPos = new Vector3(grid.context.x, grid.context.y);                var startPos = new Vector3(pos.x, zeroPos.y);                var endPos = new Vector3(pos.x, zeroPos.y + grid.context.height);                UGL.DrawLine(vh, startPos, endPos, chart.theme.serie.lineWidth, Color.blue);                UGL.DrawCricle(vh, pos, 5, Color.blue);            }        }        void OnDrawTop(VertexHelper vh)        {            //Debug.Log("OnDrawTop");        }    }}
 |