From a2ff7604cc2c50caf4cf533872a09792db250cea Mon Sep 17 00:00:00 2001 From: lishuo Date: Wed, 24 Nov 2021 16:40:53 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=B5=B7=E5=9B=BE=E7=B4=A2?= =?UTF-8?q?=E5=BC=95=E8=B6=85=E8=BF=872000=E5=A4=B4=E5=83=8F=E4=B8=8D?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Script/GraphChart/GraphData.cs | 17 +++++++++++++++++ .../Ride/Scripts/ChartDataSourceScript.cs | 19 +++++++++++-------- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/Assets/Chart And Graph/Script/GraphChart/GraphData.cs b/Assets/Chart And Graph/Script/GraphChart/GraphData.cs index 3dfe73cd..27aaf557 100644 --- a/Assets/Chart And Graph/Script/GraphChart/GraphData.cs +++ b/Assets/Chart And Graph/Script/GraphChart/GraphData.cs @@ -565,6 +565,23 @@ namespace ChartAndGraph return true; } + public int GetViewIndex(int dataIndex,string category) + { + CategoryData data = (CategoryData)mData[category]; + int viewIndex = 0; + List points = data.getPoints(); + if (points.Count == 0) + viewIndex = 0; + if (dataIndex < 0) + viewIndex = 0; + for (int i = 0; i < points.Count; i++) + { + if (points[i].x == dataIndex) + viewIndex = i; + } + return viewIndex; + } + public DoubleVector3 GetPoint(string category, int index) { CategoryData data = (CategoryData)mData[category]; diff --git a/Assets/Scripts/Scenes/Ride/Scripts/ChartDataSourceScript.cs b/Assets/Scripts/Scenes/Ride/Scripts/ChartDataSourceScript.cs index 9370ca71..4f1dc19d 100644 --- a/Assets/Scripts/Scenes/Ride/Scripts/ChartDataSourceScript.cs +++ b/Assets/Scripts/Scenes/Ride/Scripts/ChartDataSourceScript.cs @@ -159,14 +159,17 @@ namespace Assets.Scenes.Ride.Scripts } public int GetViewIndex(int index) { - foreach (var item in pointMap) - { - if (item.Key.Contains(index)) - { - return item.Value; - } - } - return index; + if (graph == null) + return index; + return graph.DataSource.GetViewIndex(index, Category); + //foreach (var item in pointMap) + //{ + // if (item.Key.Contains(index)) + // { + // return item.Value; + // } + //} + //return index; } private IDictionary, int> pointMap = new Dictionary, int>();