暫無描述
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Ring.cs 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using UnityEngine;
  2. namespace XCharts.Runtime
  3. {
  4. [System.Serializable]
  5. [SerieHandler(typeof(RingHandler), true)]
  6. [SerieComponent(typeof(LabelStyle), typeof(LabelLine), typeof(TitleStyle), typeof(EmphasisStyle), typeof(BlurStyle), typeof(SelectStyle))]
  7. [SerieDataComponent(typeof(ItemStyle), typeof(LabelStyle), typeof(LabelLine), typeof(TitleStyle), typeof(EmphasisStyle), typeof(BlurStyle), typeof(SelectStyle))]
  8. [SerieDataExtraField()]
  9. public class Ring : Serie
  10. {
  11. public override SerieColorBy defaultColorBy { get { return SerieColorBy.Data; } }
  12. public static Serie AddDefaultSerie(BaseChart chart, string serieName)
  13. {
  14. var serie = chart.AddSerie<Ring>(serieName);
  15. serie.roundCap = true;
  16. serie.gap = 10;
  17. serie.radius = new float[] { 0.3f, 0.35f };
  18. var label = serie.EnsureComponent<LabelStyle>();
  19. label.show = true;
  20. label.position = LabelStyle.Position.Center;
  21. label.formatter = "{d:f0}%";
  22. label.textStyle.autoColor = true;
  23. label.textStyle.fontSize = 28;
  24. var titleStyle = serie.EnsureComponent<TitleStyle>();
  25. titleStyle.show = false;
  26. titleStyle.offset = new Vector2(0, 30);
  27. var value = Random.Range(30, 90);
  28. var max = 100;
  29. chart.AddData(serie.index, value, max, "data1");
  30. return serie;
  31. }
  32. public override double GetDataTotal(int dimension, SerieData serieData = null)
  33. {
  34. if (serieData == null || serieData.data.Count <= 1)
  35. return base.GetDataTotal(dimension, serieData);
  36. return serieData.GetData(1);
  37. }
  38. }
  39. }