Files
XCharts/Examples/Runtime/Example12_CustomDrawing.cs

48 lines
1.5 KiB
C#
Raw Normal View History

2021-12-24 13:33:09 +08:00

using UnityEngine;
using UnityEngine.UI;
2021-01-11 08:54:28 +08:00
using XUGL;
2021-12-24 13:33:09 +08:00
namespace XCharts.Example
{
[DisallowMultipleComponent]
[ExecuteInEditMode]
public class Example12_CustomDrawing : MonoBehaviour
{
LineChart chart;
void Awake()
{
chart = gameObject.GetComponent<LineChart>();
if (chart == null) return;
2020-05-16 20:33:01 +08:00
chart.onCustomDraw = delegate (VertexHelper vh)
{
2021-03-29 20:27:21 +08:00
};
// or
2021-03-29 20:28:53 +08:00
chart.onCustomDrawBeforeSerie = delegate (VertexHelper vh, Serie serie)
{
};
// or
chart.onCustomDrawAfterSerie = delegate (VertexHelper vh, Serie serie)
2021-03-29 20:27:21 +08:00
{
if (serie.index != 0) return;
2021-12-08 13:36:02 +08:00
var dataPoints = serie.context.dataPoints;
if (dataPoints.Count > 0)
{
var pos = dataPoints[3];
2021-11-23 13:20:07 +08:00
var grid = chart.GetChartComponent<GridCoord>();
var zeroPos = new Vector3(grid.context.x, grid.context.y);
var startPos = new Vector3(pos.x, zeroPos.y);
2021-11-23 13:20:07 +08:00
var endPos = new Vector3(pos.x, zeroPos.y + grid.context.height);
2021-01-12 13:11:15 +08:00
UGL.DrawLine(vh, startPos, endPos, chart.theme.serie.lineWidth, Color.blue);
2021-01-11 08:54:28 +08:00
UGL.DrawCricle(vh, pos, 5, Color.blue);
}
};
2021-03-29 20:27:21 +08:00
// or
chart.onCustomDrawTop = delegate (VertexHelper vh)
{
};
}
}
}