From fc346d30fbe8af37d25cc3a5a939c84d19d81c4d Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Sun, 19 May 2024 11:01:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=AC=AC=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Editor/Windows/PraseExternalDataEditor.cs | 32 +++++++++++++++++------ 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/Editor/Windows/PraseExternalDataEditor.cs b/Editor/Windows/PraseExternalDataEditor.cs index 52b85f6f..d7e47f0d 100644 --- a/Editor/Windows/PraseExternalDataEditor.cs +++ b/Editor/Windows/PraseExternalDataEditor.cs @@ -8,6 +8,8 @@ namespace XCharts.Editor { public class PraseExternalDataEditor : UnityEditor.EditorWindow { + [SerializeField] private int m_DataDimension = 1; + [SerializeField] private double m_DefaultYValue = 0; private static BaseChart s_Chart; private static Serie s_Serie; private static Axis s_Axis; @@ -46,8 +48,13 @@ namespace XCharts.Editor return; } 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)); - if (GUILayout.Button("Add")) + if (GUILayout.Button("Try Add")) { 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(); if (!arrayData.StartsWith("data: Array")) return false; @@ -95,7 +102,7 @@ namespace XCharts.Editor return true; } - private static bool ParseArrayData(Serie serie, string arrayData) + private bool ParseArrayData(Serie serie, string arrayData) { arrayData = arrayData.Trim(); if (!arrayData.StartsWith("data: Array")) return false; @@ -120,7 +127,7 @@ namespace XCharts.Editor return true; } - private static bool ParseJsonData(Axis axis, string jsonData) + private bool ParseJsonData(Axis axis, string jsonData) { if (!CheckJsonData(ref jsonData)) return false; axis.data.Clear(); @@ -140,7 +147,7 @@ namespace XCharts.Editor /// 从json中导入数据 /// /// - private static bool ParseJsonData(Serie serie, string jsonData) + private bool ParseJsonData(Serie serie, string jsonData) { if (!CheckJsonData(ref jsonData)) return false; if (s_LinksData) serie.ClearLinks(); @@ -156,7 +163,10 @@ namespace XCharts.Editor if (data.Length == 2 && !double.TryParse(data[0], out value)) { double.TryParse(data[1], out value); - serieData.data = new List() { i, value }; + if (m_DataDimension == 2) + serieData.data = new List() { i, m_DefaultYValue, value }; + else + serieData.data = new List() { i, value }; serieData.name = data[0].Replace("\"", "").Trim(); } else @@ -187,7 +197,10 @@ namespace XCharts.Editor if (a.StartsWith("value:")) { double value = double.Parse(a.Substring(6, a.Length - 6)); - serieData.data = new List() { i, value }; + if (m_DataDimension == 2) + serieData.data = new List() { i, m_DefaultYValue, value }; + else + serieData.data = new List() { i, value }; } else if (a.StartsWith("name:")) { @@ -213,7 +226,10 @@ namespace XCharts.Editor if (flag) { var serieData = new SerieData(); - serieData.data = new List() { i, value }; + if (m_DataDimension == 2) + serieData.data = new List() { i, m_DefaultYValue, value }; + else + serieData.data = new List() { i, value }; serie.AddSerieData(serieData); } }