Files
XCharts/Runtime/Serie/Ring/Ring.cs

44 lines
1.7 KiB
C#
Raw Normal View History

2021-11-23 13:20:07 +08:00
using UnityEngine;
2022-02-19 22:37:57 +08:00
namespace XCharts.Runtime
2021-11-23 13:20:07 +08:00
{
[System.Serializable]
[SerieHandler(typeof(RingHandler), true)]
2022-09-08 08:00:13 +08:00
[SerieExtraComponent(typeof(LabelStyle), typeof(LabelLine), typeof(TitleStyle), typeof(EmphasisStyle), typeof(BlurStyle), typeof(SelectStyle))]
[SerieDataExtraComponent(typeof(ItemStyle), typeof(LabelStyle), typeof(LabelLine), typeof(TitleStyle), typeof(EmphasisStyle), typeof(BlurStyle), typeof(SelectStyle))]
2022-05-22 22:17:38 +08:00
[SerieDataExtraField()]
2021-11-23 13:20:07 +08:00
public class Ring : Serie
{
public override SerieColorBy defaultColorBy { get { return SerieColorBy.Data; } }
2022-01-26 20:47:14 +08:00
public static Serie AddDefaultSerie(BaseChart chart, string serieName)
2021-11-23 13:20:07 +08:00
{
var serie = chart.AddSerie<Ring>(serieName);
serie.roundCap = true;
2022-03-04 22:17:32 +08:00
serie.gap = 10;
2021-11-23 13:20:07 +08:00
serie.radius = new float[] { 0.3f, 0.35f };
2022-02-19 17:35:22 +08:00
2022-03-29 22:06:10 +08:00
var label = serie.AddExtraComponent<LabelStyle>();
label.show = true;
label.position = LabelStyle.Position.Center;
label.formatter = "{d:f0}%";
label.textStyle.autoColor = true;
label.textStyle.fontSize = 28;
2022-02-19 17:35:22 +08:00
2022-03-29 22:06:10 +08:00
var titleStyle = serie.AddExtraComponent<TitleStyle>();
titleStyle.show = false;
2022-04-26 08:24:45 +08:00
titleStyle.offset = new Vector2(0, 30);
2022-02-19 17:35:22 +08:00
2021-11-23 13:20:07 +08:00
var value = Random.Range(30, 90);
var max = 100;
chart.AddData(serie.index, value, max, "data1");
2022-01-26 20:47:14 +08:00
return serie;
2021-11-23 13:20:07 +08:00
}
public override double GetDataTotal(int dimension, SerieData serieData = null)
{
if (serieData == null || serieData.data.Count <= 1)
return base.GetDataTotal(dimension, serieData);
return serieData.GetData(1);
}
2021-11-23 13:20:07 +08:00
}
}