9 using System.Collections.Generic;
21 [SerializeField]
protected List<Serie> m_Series;
22 [NonSerialized]
private bool m_LabelDirty;
28 public List<Serie>
list {
get {
return m_Series; } }
33 public int Count {
get {
return m_Series.Count; } }
34 public bool labelDirty {
get {
return m_LabelDirty; }
set { m_LabelDirty = value; } }
36 public static Series defaultSeries
40 var series =
new Series
42 m_Series =
new List<Serie>(){
new Serie(){
52 public override bool vertsDirty
56 if (m_VertsDirty)
return true;
57 foreach (var serie
in m_Series)
59 if (serie.vertsDirty)
return true;
65 public void SetLabelDirty()
70 public override void ClearVerticesDirty()
72 base.ClearVerticesDirty();
73 foreach (var serie
in m_Series)
75 serie.ClearVerticesDirty();
79 internal void ClearLabelDirty()
82 foreach (var serie
in m_Series)
84 serie.label.ClearVerticesDirty();
88 public override void SetAllDirty()
94 public override void ClearDirty()
98 SeriesHelper.ClearNameDirty(
this);
106 foreach (var serie
in m_Series)
108 serie.AnimationFadeIn();
119 public double GetData(
int serieIndex,
int dataIndex)
121 if (serieIndex >= 0 && serieIndex <
Count)
123 return m_Series[serieIndex].GetYData(dataIndex);
131 public double GetCurrData(
int serieIndex,
int dataIndex)
133 if (serieIndex >= 0 && serieIndex <
Count)
135 return m_Series[serieIndex].GetYCurrData(dataIndex);
150 for (
int i = 0; i < m_Series.Count; i++)
153 if (
string.IsNullOrEmpty(name))
155 if (
string.IsNullOrEmpty(m_Series[i].name)) match =
true;
157 else if (name.Equals(m_Series[i].name))
163 m_Series[i].
index = i;
177 var
list =
new List<Serie>();
178 if (name ==
null)
return list;
179 foreach (var serie
in m_Series)
181 if (name.Equals(serie.name))
list.Add(serie);
193 if (index >= 0 && index < m_Series.Count)
195 return m_Series[index];
207 for (
int i = 0; i < m_Series.Count; i++)
209 if (name.Equals(m_Series[i].name))
219 foreach (var serie
in m_Series)
221 if (serie.type == type)
return true;
245 if (serie !=
null && m_Series.Remove(serie))
262 foreach(var serie
in m_Series) serie.AnimationFadeIn();
275 return InsertSerie(-1, type, serieName, show, addToHead);
278 public Serie InsertSerie(
int index,
SerieType type,
string serieName,
bool show =
true)
280 return InsertSerie(index, type, serieName, show,
false);
283 private Serie InsertSerie(
int index,
SerieType type,
string serieName,
bool show =
true,
bool addToHead =
false)
285 var serie =
new Serie();
288 serie.name = serieName;
289 serie.index = m_Series.Count;
293 serie.symbol.show =
true;
298 serie.symbol.show =
true;
303 serie.symbol.show =
false;
305 serie.AnimationRestart();
306 if (addToHead) m_Series.Insert(0, serie);
307 else if (index >= 0) m_Series.Insert(index, serie);
308 else m_Series.Add(serie);
309 for (
int i = 0; i < m_Series.Count; i++)
311 m_Series[i].index = i;
329 return serie.AddYData(value, dataName);
346 return serie.AddYData(value, dataName);
361 public SerieData AddData(
int index,
double open,
double close,
double lowest,
double heighest,
string dataName =
null)
366 return serie.AddData(open, close, lowest, heighest, dataName);
371 public SerieData AddData(
string serieName,
double open,
double close,
double lowest,
double heighest,
string dataName =
null)
376 return serie.AddData(open, close, lowest, heighest, dataName);
388 public SerieData AddData(
string serieName, List<double> multidimensionalData,
string dataName =
null)
393 return serie.AddData(multidimensionalData, dataName);
405 public SerieData AddData(
int serieIndex, List<double> multidimensionalData,
string dataName =
null)
410 return serie.AddData(multidimensionalData, dataName);
428 return serie.AddXYData(xValue, yValue, dataName);
446 return serie.AddXYData(xValue, yValue, dataName);
457 public bool UpdateData(
string serieName,
int dataIndex,
double value)
462 return serie.UpdateYData(dataIndex, value);
478 return serie.UpdateDataName(dataIndex, dataName);
494 return serie.UpdateDataName(dataIndex, dataName);
505 public bool UpdateData(
int serieIndex,
int dataIndex,
double value)
510 return serie.UpdateYData(dataIndex, value);
515 public bool UpdateData(
string serieName,
int dataIndex, List<double> values)
520 return serie.UpdateData(dataIndex, values);
524 public bool UpdateData(
int serieIndex,
int dataIndex, List<double> values)
529 return serie.UpdateData(dataIndex, values);
541 public bool UpdateData(
int serieIndex,
int dataIndex,
int dimension,
double value)
546 return serie.UpdateData(dataIndex, dimension, value);
558 public bool UpdateData(
string serieName,
int dataIndex,
int dimension,
double value)
563 return serie.UpdateData(dataIndex, dimension, value);
576 public bool UpdateXYData(
string serieName,
int dataIndex,
float xValue,
float yValue)
581 return serie.UpdateXYData(dataIndex, xValue, yValue);
593 public bool UpdateXYData(
int serieIndex,
int dataIndex,
float xValue,
float yValue)
598 return serie.UpdateXYData(dataIndex, xValue, yValue);
607 internal void UpdateFilterData(
DataZoom dataZoom)
609 if (dataZoom !=
null && dataZoom.
enable)
611 for (
int i = 0; i < m_Series.Count; i++)
613 SerieHelper.UpdateFilterData(m_Series[i], dataZoom);
626 return serie ==
null ? false : serie.show;
637 return serie ==
null ? false : serie.show;
665 serie.AnimationReset();
666 if (active) serie.AnimationFadeIn();
678 if (serie !=
null)
return serie.highlighted;
689 foreach (var serie
in m_Series)
691 serie.symbol.sizeCallback = size;
692 serie.symbol.selectedSizeCallback = selectedSize;