mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-30 05:08:48 +00:00
优化第三方数据导入
This commit is contained in:
@@ -8,6 +8,8 @@ namespace XCharts.Editor
|
|||||||
{
|
{
|
||||||
public class PraseExternalDataEditor : UnityEditor.EditorWindow
|
public class PraseExternalDataEditor : UnityEditor.EditorWindow
|
||||||
{
|
{
|
||||||
|
[SerializeField] private int m_DataDimension = 1;
|
||||||
|
[SerializeField] private double m_DefaultYValue = 0;
|
||||||
private static BaseChart s_Chart;
|
private static BaseChart s_Chart;
|
||||||
private static Serie s_Serie;
|
private static Serie s_Serie;
|
||||||
private static Axis s_Axis;
|
private static Axis s_Axis;
|
||||||
@@ -46,8 +48,13 @@ namespace XCharts.Editor
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
EditorGUILayout.LabelField("Input external data (echarts data):");
|
EditorGUILayout.LabelField("Input external data (echarts data):");
|
||||||
|
m_DataDimension = EditorGUILayout.IntField("Data Dimension", m_DataDimension);
|
||||||
|
if (m_DataDimension < 1)
|
||||||
|
m_DataDimension = 1;
|
||||||
|
else if (m_DataDimension == 2)
|
||||||
|
m_DefaultYValue = EditorGUILayout.DoubleField("Default Y Value", m_DefaultYValue);
|
||||||
inputJsonText = EditorGUILayout.TextArea(inputJsonText, GUILayout.Height(400));
|
inputJsonText = EditorGUILayout.TextArea(inputJsonText, GUILayout.Height(400));
|
||||||
if (GUILayout.Button("Add"))
|
if (GUILayout.Button("Try Add"))
|
||||||
{
|
{
|
||||||
if (s_Serie != null)
|
if (s_Serie != null)
|
||||||
{
|
{
|
||||||
@@ -76,7 +83,7 @@ namespace XCharts.Editor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool ParseArrayData(Axis axis, string arrayData)
|
private bool ParseArrayData(Axis axis, string arrayData)
|
||||||
{
|
{
|
||||||
arrayData = arrayData.Trim();
|
arrayData = arrayData.Trim();
|
||||||
if (!arrayData.StartsWith("data: Array")) return false;
|
if (!arrayData.StartsWith("data: Array")) return false;
|
||||||
@@ -95,7 +102,7 @@ namespace XCharts.Editor
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool ParseArrayData(Serie serie, string arrayData)
|
private bool ParseArrayData(Serie serie, string arrayData)
|
||||||
{
|
{
|
||||||
arrayData = arrayData.Trim();
|
arrayData = arrayData.Trim();
|
||||||
if (!arrayData.StartsWith("data: Array")) return false;
|
if (!arrayData.StartsWith("data: Array")) return false;
|
||||||
@@ -120,7 +127,7 @@ namespace XCharts.Editor
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool ParseJsonData(Axis axis, string jsonData)
|
private bool ParseJsonData(Axis axis, string jsonData)
|
||||||
{
|
{
|
||||||
if (!CheckJsonData(ref jsonData)) return false;
|
if (!CheckJsonData(ref jsonData)) return false;
|
||||||
axis.data.Clear();
|
axis.data.Clear();
|
||||||
@@ -140,7 +147,7 @@ namespace XCharts.Editor
|
|||||||
/// 从json中导入数据
|
/// 从json中导入数据
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="jsonData"></param>
|
/// <param name="jsonData"></param>
|
||||||
private static bool ParseJsonData(Serie serie, string jsonData)
|
private bool ParseJsonData(Serie serie, string jsonData)
|
||||||
{
|
{
|
||||||
if (!CheckJsonData(ref jsonData)) return false;
|
if (!CheckJsonData(ref jsonData)) return false;
|
||||||
if (s_LinksData) serie.ClearLinks();
|
if (s_LinksData) serie.ClearLinks();
|
||||||
@@ -156,6 +163,9 @@ namespace XCharts.Editor
|
|||||||
if (data.Length == 2 && !double.TryParse(data[0], out value))
|
if (data.Length == 2 && !double.TryParse(data[0], out value))
|
||||||
{
|
{
|
||||||
double.TryParse(data[1], out value);
|
double.TryParse(data[1], out value);
|
||||||
|
if (m_DataDimension == 2)
|
||||||
|
serieData.data = new List<double>() { i, m_DefaultYValue, value };
|
||||||
|
else
|
||||||
serieData.data = new List<double>() { i, value };
|
serieData.data = new List<double>() { i, value };
|
||||||
serieData.name = data[0].Replace("\"", "").Trim();
|
serieData.name = data[0].Replace("\"", "").Trim();
|
||||||
}
|
}
|
||||||
@@ -187,6 +197,9 @@ namespace XCharts.Editor
|
|||||||
if (a.StartsWith("value:"))
|
if (a.StartsWith("value:"))
|
||||||
{
|
{
|
||||||
double value = double.Parse(a.Substring(6, a.Length - 6));
|
double value = double.Parse(a.Substring(6, a.Length - 6));
|
||||||
|
if (m_DataDimension == 2)
|
||||||
|
serieData.data = new List<double>() { i, m_DefaultYValue, value };
|
||||||
|
else
|
||||||
serieData.data = new List<double>() { i, value };
|
serieData.data = new List<double>() { i, value };
|
||||||
}
|
}
|
||||||
else if (a.StartsWith("name:"))
|
else if (a.StartsWith("name:"))
|
||||||
@@ -213,6 +226,9 @@ namespace XCharts.Editor
|
|||||||
if (flag)
|
if (flag)
|
||||||
{
|
{
|
||||||
var serieData = new SerieData();
|
var serieData = new SerieData();
|
||||||
|
if (m_DataDimension == 2)
|
||||||
|
serieData.data = new List<double>() { i, m_DefaultYValue, value };
|
||||||
|
else
|
||||||
serieData.data = new List<double>() { i, value };
|
serieData.data = new List<double>() { i, value };
|
||||||
serie.AddSerieData(serieData);
|
serie.AddSerieData(serieData);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user