using UnityEngine;
namespace XCharts
{
[System.Serializable]
[SerieHandler(typeof(LiquidHandler), true)]
[RequireChartComponent(typeof(Vessel))]
[SerieExtraComponent(typeof(LabelStyle))]
public class Liquid : Serie, INeedSerieContainer
{
[SerializeField] private float m_WaveHeight = 10f;
[SerializeField] private float m_WaveLength = 20f;
[SerializeField] private float m_WaveSpeed = 5f;
[SerializeField] private float m_WaveOffset = 0f;
///
/// Wave length of the wave, which is relative to the diameter.
/// 波长。为0-1小数时指直线的百分比。
///
public float waveLength
{
get { return m_WaveLength; }
set { if (PropertyUtil.SetStruct(ref m_WaveLength, value)) SetVerticesDirty(); }
}
///
/// 波高。
///
public float waveHeight
{
get { return m_WaveHeight; }
set { if (PropertyUtil.SetStruct(ref m_WaveHeight, value)) SetVerticesDirty(); }
}
///
/// 波偏移。
///
public float waveOffset
{
get { return m_WaveOffset; }
set { if (PropertyUtil.SetStruct(ref m_WaveOffset, value)) SetVerticesDirty(); }
}
///
/// 波速。正数时左移,负数时右移。
///
public float waveSpeed
{
get { return m_WaveSpeed; }
set { if (PropertyUtil.SetStruct(ref m_WaveSpeed, value)) SetVerticesDirty(); }
}
public int containerIndex { get { return vesselIndex; } }
public int containterInstanceId { get; internal set; }
public static Serie AddDefaultSerie(BaseChart chart, string serieName)
{
chart.AddChartComponentWhenNoExist();
var serie = chart.AddSerie(serieName);
serie.min = 0;
serie.max = 100;
serie.AddExtraComponent();
serie.label.show = true;
serie.label.textStyle.fontSize = 40;
serie.label.formatter = "{d}%";
serie.label.textStyle.color = new Color32(70, 70, 240, 255);
chart.AddData(serie.index, UnityEngine.Random.Range(0, 100));
return serie;
}
}
}