[feature][datazoom] 增加DataZoomMarqueeStyle支持框选区域

This commit is contained in:
monitor1394
2022-11-12 21:27:52 +08:00
parent 26ef85ce6f
commit 5e234dc408
10 changed files with 289 additions and 21 deletions

View File

@@ -0,0 +1,50 @@
using UnityEngine;
using XCharts.Runtime;
namespace XCharts.Example
{
[DisallowMultipleComponent]
[ExecuteInEditMode]
public class Example04_DataZoom : MonoBehaviour
{
BaseChart chart;
void Awake()
{
chart = gameObject.GetComponent<BaseChart>();
if (chart == null) return;
var dataZoom = chart.GetChartComponent<DataZoom>();
if (dataZoom == null) return;
dataZoom.marqueeStyle.onStart = OnMarqueeStart;
dataZoom.marqueeStyle.onEnd = OnMarqueeEnd;
dataZoom.marqueeStyle.onGoing = OnMarquee;
}
void OnMarqueeStart(DataZoom dataZoom)
{
//Debug.Log("OnMarqueeStart:" + dataZoom);
}
void OnMarquee(DataZoom dataZoom)
{
//Debug.Log("OnMarquee:" + dataZoom);
}
void OnMarqueeEnd(DataZoom dataZoom)
{
//Debug.Log("OnMarqueeEnd:" + dataZoom);
var serie = chart.GetSerie(0);
foreach (var serieData in serie.data)
{
if (dataZoom.IsInMarqueeArea(serieData))
{
serieData.GetOrAddComponent<ItemStyle>().color = Color.red;
}
else
{
serieData.GetOrAddComponent<ItemStyle>().color = Color.clear;
}
}
}
}
}