SimplifiedCandlestick.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using UnityEngine;
  2. namespace XCharts.Runtime
  3. {
  4. [System.Serializable]
  5. [SerieHandler(typeof(SimplifiedCandlestickHandler), true)]
  6. [DefaultAnimation(AnimationType.LeftToRight, false)]
  7. [DefaultTooltip(Tooltip.Type.Shadow, Tooltip.Trigger.Axis)]
  8. [SerieComponent()]
  9. [SerieDataComponent()]
  10. [SerieDataExtraField()]
  11. public class SimplifiedCandlestick : Serie, INeedSerieContainer, ISimplifiedSerie
  12. {
  13. public int containerIndex { get; internal set; }
  14. public int containterInstanceId { get; internal set; }
  15. public static Serie AddDefaultSerie(BaseChart chart, string serieName)
  16. {
  17. var serie = chart.AddSerie<SimplifiedCandlestick>(serieName);
  18. var lastValue = 50d;
  19. for (int i = 0; i < 50; i++)
  20. {
  21. lastValue += UnityEngine.Random.Range(-10, 20);
  22. var open = lastValue + Random.Range(-10, 5);
  23. var close = lastValue + Random.Range(-5, 10);
  24. var lowest = lastValue + Random.Range(-15, -10);
  25. var heighest = lastValue + Random.Range(10, 20);
  26. chart.AddData(serie.index, i, open, close, lowest, heighest);
  27. }
  28. return serie;
  29. }
  30. public static SimplifiedCandlestick ConvertSerie(Serie serie)
  31. {
  32. var newSerie = serie.Clone<SimplifiedCandlestick>();
  33. return newSerie;
  34. }
  35. }
  36. }