屏蔽ChartInit()接口,动态创建图表不再需要调用

This commit is contained in:
monitor1394
2024-01-12 13:23:46 +08:00
parent c44583772c
commit 3c233d1cb1
4 changed files with 21 additions and 23 deletions

View File

@@ -42,7 +42,6 @@ namespace XCharts.Example
{
var chartObject = CreateChartObject(chartName);
var chart = chartObject.AddComponent<PieChart>();
chart.Init();
chart.SetSize(580, 300);
chart.EnsureChartComponent<Title>().show = true;
@@ -64,7 +63,6 @@ namespace XCharts.Example
{
var chartObject = CreateChartObject(chartName);
var chart = chartObject.AddComponent<PieChart>();
chart.Init();
chart.SetSize(580, 300);
chart.EnsureChartComponent<Title>().show = true;

View File

@@ -25,11 +25,10 @@ namespace XCharts.Example
void AddData()
{
var chart = gameObject.GetComponent<SimplifiedLineChart>();
var chart = gameObject.GetComponent<LineChart>();
if (chart == null)
{
chart = gameObject.AddComponent<SimplifiedLineChart>();
chart.Init();
chart = gameObject.AddComponent<LineChart>();
chart.SetSize(580, 300);
}
chart.EnsureChartComponent<Title>().show = true;
@@ -49,9 +48,9 @@ namespace XCharts.Example
xAxis.boundaryGap = true;
chart.RemoveData();
chart.AddSerie<SimplifiedLine>();
chart.AddSerie<SimplifiedLine>();
for (int i = 0; i < 200; i++)
chart.AddSerie<Line>();
chart.AddSerie<Line>();
for (int i = 0; i < 20; i++)
{
chart.AddXAxisData("x" + i);
chart.AddData(0, Random.Range(10, 20));

View File

@@ -165,19 +165,10 @@ namespace XCharts.Runtime
/// ||鼠标退出图例回调。参数legendIndex, legendName
/// </summary>
public Action<Legend, int, string> onLegendExit { set { m_OnLegendExit = value; } internal get { return m_OnLegendExit; } }
public void Init(bool defaultChart = true)
{
if (defaultChart)
{
OnInit();
DefaultChart();
m_DefaultChartInited = true;
}
else
{
OnBeforeSerialize();
}
}
[Obsolete("No need to call Init() anymore.", true)]
public void Init(bool defaultChart = true) { }
/// <summary>
/// Redraw chart in next frame.
/// ||在下一帧刷新整个图表。

View File

@@ -19,7 +19,7 @@ namespace XCharts.Runtime
[SerializeField] protected ThemeStyle m_Theme = new ThemeStyle();
[SerializeField] protected Settings m_Settings;
[SerializeField] protected DebugInfo m_DebugInfo = new DebugInfo();
[SerializeField] protected bool m_DefaultChartInited = false;
[SerializeField] protected bool m_ChartInited = false;
#pragma warning disable 0414
[SerializeField][ListForComponent(typeof(AngleAxis))] private List<AngleAxis> m_AngleAxes = new List<AngleAxis>();
@@ -136,6 +136,7 @@ namespace XCharts.Runtime
m_Settings = Settings.DefaultSettings;
CheckTheme(true);
base.Awake();
CheckChartInit();
InitComponentHandlers();
InitSerieHandlers();
AnimationReset();
@@ -171,17 +172,26 @@ namespace XCharts.Runtime
rectTransform.sizeDelta = new Vector2(m_ChartWidth, m_ChartHeight);
}
ChartHelper.HideAllObject(transform);
m_ChartInited = true;
if (m_OnInit != null)
m_OnInit();
}
protected void CheckChartInit()
{
if (!m_ChartInited)
{
OnInit();
DefaultChart();
}
}
#if UNITY_EDITOR
protected override void Reset()
{
base.Reset();
OnInit();
DefaultChart();
m_DefaultChartInited = true;
Awake();
}