This commit is contained in:
monitor1394
2021-06-18 06:48:11 +08:00
parent 0ae9be9c63
commit 9349900ea5
16 changed files with 89 additions and 33 deletions

View File

@@ -2,6 +2,7 @@
# 更新日志
[master](#master)
[v2.2.2](#v2.2.2)
[v2.2.1](#v2.2.1)
[v2.2.0](#v2.2.0)
[v2.1.1](#v2.1.1)
@@ -36,6 +37,14 @@
## master
## v2.2.2
* (2021.06.18) Release `v2.2.2` version
* (2021.06.18) Optimize `Axis` to automatically hide `Icon` when `Label` is empty
* (2021.06.17) Fixed an issue where `maxCache` was set to one more number of actual data
* (2021.06.17) Fixed an issue where `TextMeshPro` could not be opened and closed in time to refresh
* (2021.06.17) Fixed an issue where `XCharts` always pops up when importing `XCharts`
## v2.2.1
* (2021.06.13) Release `v2.2.1` version

View File

@@ -2,6 +2,7 @@
# 更新日志
[master](#master)
[v2.2.2](#v2.2.2)
[v2.2.1](#v2.2.1)
[v2.2.0](#v2.2.0)
[v2.1.1](#v2.1.1)
@@ -36,6 +37,14 @@
## master
## v2.2.2
* (2021.06.18) 发布`v2.2.2`版本
* (2021.06.18) 优化`Axis``Label`为空时自动隐藏`Icon`
* (2021.06.17) 修复`maxCache`设置时实际数据个数多一个的问题
* (2021.06.17) 修复`TextMeshPro`的开启和关闭不及时刷新的问题
* (2021.06.17) 修复`XCharts`导入时总是弹出`XCharts Importer`的问题
## v2.2.1
* (2021.06.13) 发布`v2.2.1`版本

View File

@@ -5,13 +5,12 @@
/* */
/************************************************/
using System.IO;
using UnityEditor;
using UnityEditor.Build;
using UnityEngine;
namespace XCharts
{
[System.Obsolete]
public class XChartsBuild : IPreprocessBuild, IPostprocessBuild
{
public int callbackOrder => 1;

View File

@@ -165,13 +165,14 @@ namespace XCharts
Debug.LogError("TextMeshPro is not in the project, please import TextMeshPro package first.");
return;
}
XChartsMgr.ModifyTMPRefence();
XChartsMgr.EnableTextMeshPro();
XChartsMgr.ModifyTMPRefence();
}
[MenuItem("XCharts/TextMeshPro Disable")]
public static void DisableTextMeshPro()
{
XChartsMgr.ModifyTMPRefence(true);
XChartsMgr.DisableTextMeshPro();
}
}

View File

@@ -570,7 +570,7 @@ namespace XCharts
{
if (maxCache > 0)
{
while (m_Data.Count > maxCache)
while (m_Data.Count >= maxCache)
{
m_NeedUpdateFilterData = true;
m_Data.RemoveAt(m_InsertDataToHead ? m_Data.Count - 1 : 0);

View File

@@ -1024,7 +1024,6 @@ namespace XCharts
var p2 = new Vector3(dataZoom.runtimeX, dataZoom.runtimeY + dataZoom.runtimeHeight);
var p3 = new Vector3(dataZoom.runtimeX + dataZoom.runtimeWidth, dataZoom.runtimeY + dataZoom.runtimeHeight);
var p4 = new Vector3(dataZoom.runtimeX + dataZoom.runtimeWidth, dataZoom.runtimeY);
var xAxis = chart.GetXAxis(0);
var lineColor = dataZoom.lineStyle.GetColor(chart.theme.dataZoom.dataLineColor);
var lineWidth = dataZoom.lineStyle.GetWidth(chart.theme.dataZoom.dataLineWidth);
var borderWidth = dataZoom.borderWidth == 0 ? chart.theme.dataZoom.borderWidth : dataZoom.borderWidth;

View File

@@ -1497,7 +1497,7 @@ namespace XCharts
private void CheckMaxCache()
{
if (m_MaxCache <= 0) return;
while (m_Data.Count > m_MaxCache)
while (m_Data.Count >= m_MaxCache)
{
m_NeedUpdateFilterData = true;
if (m_InsertDataToHead) RemoveData(m_Data.Count - 1);

View File

@@ -928,7 +928,6 @@ namespace XCharts
var halfWid = visualMap.itemWidth / 2;
var halfHig = visualMap.itemHeight / 2;
var splitNum = visualMap.runtimeInRange.Count;
var splitWid = visualMap.itemHeight / (splitNum - 1);
var colors = visualMap.runtimeInRange;
switch (visualMap.orient)
{

View File

@@ -12,7 +12,7 @@ namespace XCharts
{
public static DataZoom GetDataZoom(Serie serie, List<DataZoom> dataZooms)
{
if(serie == null) return null;
if (serie == null) return null;
foreach (var dataZoom in dataZooms)
{
if (!dataZoom.enable) continue;
@@ -25,13 +25,36 @@ namespace XCharts
return null;
}
public static void UpdateDataZoomRuntimeStartEndValue(DataZoom dataZoom, Serie serie){
if(dataZoom == null || serie == null) return;
public static void UpdateDataZoomRuntimeStartEndValue(DataZoom dataZoom, Serie serie)
{
if (dataZoom == null || serie == null) return;
float min = 0;
float max = 0;
SerieHelper.GetMinMaxData(serie, out min, out max, null);
dataZoom.runtimeStartValue = min + (max-min) * dataZoom.start / 100;
dataZoom.runtimeEndValue = min +(max-min) * dataZoom.end / 100;
dataZoom.runtimeStartValue = min + (max - min) * dataZoom.start / 100;
dataZoom.runtimeEndValue = min + (max - min) * dataZoom.end / 100;
}
public static void UpdateDataZoomRuntimeStartEndValue(List<DataZoom> dataZooms, Series series, SerieType serieType)
{
foreach (var dataZoom in dataZooms)
{
if (!dataZoom.enable) continue;
float min = float.MaxValue;
float max = float.MinValue;
foreach (var serie in series.list)
{
if (!serie.show || serie.type != serieType) continue;
if (!dataZoom.IsXAxisIndexValue(serie.xAxisIndex)) continue;
var serieMinValue = 0f;
var serieMaxValue = 0f;
SerieHelper.GetMinMaxData(serie, out serieMinValue, out serieMaxValue, null, 2);
if (serieMinValue < min) min = serieMinValue;
if (serieMaxValue > max) max = serieMaxValue;
}
dataZoom.runtimeStartValue = min + (max - min) * dataZoom.start / 100;
dataZoom.runtimeEndValue = min + (max - min) * dataZoom.end / 100;
}
}
}
}

View File

@@ -48,7 +48,7 @@ namespace XCharts
/// <param name="min"></param>
/// <param name="max"></param>
/// <param name="dataZoom"></param>
public static void GetMinMaxData(Serie serie, out float min, out float max, DataZoom dataZoom = null)
public static void GetMinMaxData(Serie serie, out float min, out float max, DataZoom dataZoom = null, int dimension = 0)
{
max = float.MinValue;
min = float.MaxValue;
@@ -58,7 +58,9 @@ namespace XCharts
var serieData = dataList[i];
if (serieData.show)
{
var count = serie.showDataDimension > serieData.data.Count
var count = 0;
if (dimension > 0) count = dimension;
else count = serie.showDataDimension > serieData.data.Count
? serieData.data.Count
: serie.showDataDimension;
for (int j = 0; j < count; j++)

View File

@@ -12,6 +12,7 @@ namespace XCharts
{
public class ChartLabel : ChartObject
{
private bool m_EmptyStringHideIcon = false;
private bool m_LabelAutoSize = true;
private float m_LabelPaddingLeftRight = 3f;
private float m_LabelPaddingTopBottom = 3f;
@@ -48,6 +49,8 @@ namespace XCharts
}
}
public bool emptyStringHideIcon { set { m_EmptyStringHideIcon = value; } }
public ChartLabel()
{
}
@@ -179,6 +182,10 @@ namespace XCharts
return sizeChange;
}
AdjustIconPos();
if (m_EmptyStringHideIcon)
{
ChartHelper.SetActive(m_IconImage.gameObject, !string.IsNullOrEmpty(text));
}
}
return false;
}

View File

@@ -405,6 +405,7 @@ namespace XCharts
var textStyle = axis.axisLabel.textStyle;
var iconStyle = axis.iconStyle;
var label = new ChartLabel();
label.emptyStringHideIcon = true;
label.gameObject = AddObject(name, parent, anchorMin, anchorMax, pivot, sizeDelta);
// TODO: 为了兼容旧版本,这里后面版本可以去掉

View File

@@ -180,7 +180,6 @@ namespace XCharts
{
Directory.CreateDirectory(themeAssetPath);
}
var assetPath = string.Format("{0}/{1}", XChartsSettings.THEME_ASSET_FOLDER, themeAssetName);
var themeAssetFilePath = string.Format("{0}/{1}.json", themeAssetPath, themeAssetName);
var json = JsonUtility.ToJson(theme, true);
File.WriteAllText(themeAssetFilePath, json);

View File

@@ -33,8 +33,8 @@ namespace XCharts
[ExecuteInEditMode]
public class XChartsMgr : MonoBehaviour
{
internal static string _version = "2.2.1";
internal static int _versionDate = 20210613;
internal static string _version = "2.2.2";
internal static int _versionDate = 20210618;
public static string version { get { return _version; } }
public static int versionDate { get { return _versionDate; } }
public static string fullVersion { get { return version + "-" + versionDate; } }
@@ -64,14 +64,6 @@ namespace XCharts
}
}
#if UNITY_EDITOR
[InitializeOnLoadMethod]
private static void OnInitializeOnLoadMethod()
{
XThemeMgr.ReloadThemeList();
}
#endif
private void Awake()
{
SerieLabelPool.ClearAll();
@@ -414,6 +406,7 @@ namespace XCharts
var addedTMP = false;
var removedTMP = false;
var tmpName = "\"Unity.TextMeshPro\"";
var refCount = 0;
foreach (var line in lines)
{
if (string.IsNullOrEmpty(line)) continue;
@@ -427,6 +420,12 @@ namespace XCharts
if (line.Contains("],"))
{
referencesStart = false;
if (refCount > 0)
{
var old = dest[dest.Count - 1];
if (old.EndsWith(","))
dest[dest.Count - 1] = old.Substring(0, old.Length - 1);
}
if (!removeTMP && !refs.Contains(tmpName))
{
if (refs.Count > 0)
@@ -446,8 +445,12 @@ namespace XCharts
{
if (!line.Contains(tmpName))
{
removedTMP = true;
dest.Add(line);
refCount++;
}
else
{
removedTMP = true;
}
}
else
@@ -462,7 +465,12 @@ namespace XCharts
dest.Add(line);
}
}
if (addedTMP || removedTMP) File.WriteAllText(asmdefPath, string.Join("\n", dest.ToArray()));
if (addedTMP || removedTMP)
{
File.WriteAllText(asmdefPath, string.Join("\n", dest.ToArray()));
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
}
return true;
}
catch (System.Exception e)

View File

@@ -1,9 +1,9 @@
{
"name": "com.monitor1394.xcharts",
"displayName": "XCharts",
"version": "2.2.1",
"date": "20210613",
"checkdate": "20210613",
"version": "2.2.2",
"date": "20210618",
"checkdate": "20210618",
"desc": "如果 XCharts 对您有帮助,希望您能在 Github 上点 Star 支持,非常感谢!",
"unity": "2018.3",
"description": "A charting and data visualization library for Unity.",

View File

@@ -1,7 +1,7 @@
{
"version": "2.2.1",
"date": "20210613",
"checkdate": "20210613",
"version": "2.2.2",
"date": "20210618",
"checkdate": "20210618",
"desc": "如果 XCharts 对您有帮助,希望您能在 Github 上点 Star 支持,非常感谢!",
"homepage": "https://github.com/monitor1394/unity-ugui-XCharts"
}