2021-12-31 13:00:17 +08:00
|
|
|
using UnityEngine;
|
|
|
|
|
|
2022-02-19 22:37:57 +08:00
|
|
|
namespace XCharts.Runtime
|
2021-12-31 13:00:17 +08:00
|
|
|
{
|
|
|
|
|
[System.Serializable]
|
|
|
|
|
[SerieHandler(typeof(SimplifiedCandlestickHandler), true)]
|
2023-07-11 13:32:50 +08:00
|
|
|
[DefaultAnimation(AnimationType.LeftToRight, false)]
|
2023-09-01 08:01:27 +08:00
|
|
|
[DefaultTooltip(Tooltip.Type.Shadow, Tooltip.Trigger.Axis)]
|
2023-02-12 21:22:53 +08:00
|
|
|
[SerieComponent()]
|
|
|
|
|
[SerieDataComponent()]
|
2022-05-22 22:17:38 +08:00
|
|
|
[SerieDataExtraField()]
|
2021-12-31 13:00:17 +08:00
|
|
|
public class SimplifiedCandlestick : Serie, INeedSerieContainer, ISimplifiedSerie
|
|
|
|
|
{
|
|
|
|
|
public int containerIndex { get; internal set; }
|
|
|
|
|
public int containterInstanceId { get; internal set; }
|
|
|
|
|
|
2022-01-26 20:47:14 +08:00
|
|
|
public static Serie AddDefaultSerie(BaseChart chart, string serieName)
|
2021-12-31 13:00:17 +08:00
|
|
|
{
|
|
|
|
|
var serie = chart.AddSerie<SimplifiedCandlestick>(serieName);
|
|
|
|
|
var lastValue = 50d;
|
|
|
|
|
for (int i = 0; i < 50; i++)
|
|
|
|
|
{
|
2024-04-12 08:30:34 +08:00
|
|
|
var open = lastValue;
|
|
|
|
|
var close = open + Random.Range(-20, 20);
|
|
|
|
|
var min = open < close ? open : close;
|
|
|
|
|
var max = open > close ? open : close;
|
|
|
|
|
var lowest = min + Random.Range(-10, -10);
|
|
|
|
|
var heighest = max + Random.Range(10, 10);
|
2022-08-26 23:17:54 +08:00
|
|
|
chart.AddData(serie.index, i, open, close, lowest, heighest);
|
2024-04-12 08:30:34 +08:00
|
|
|
lastValue = close;
|
2021-12-31 13:00:17 +08:00
|
|
|
}
|
2022-01-26 20:47:14 +08:00
|
|
|
return serie;
|
2021-12-31 13:00:17 +08:00
|
|
|
}
|
|
|
|
|
|
2022-12-22 22:26:10 +08:00
|
|
|
public static SimplifiedCandlestick ConvertSerie(Serie serie)
|
2021-12-31 13:00:17 +08:00
|
|
|
{
|
|
|
|
|
var newSerie = serie.Clone<SimplifiedCandlestick>();
|
|
|
|
|
return newSerie;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|