mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-21 16:00:24 +00:00
增加Serie和Axis的insertDataToHead参数控制数据插入头部还是尾部
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
/************************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2018 - 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/************************************************/
|
||||
/******************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/******************************************/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -99,6 +99,7 @@ namespace XCharts
|
||||
[SerializeField] protected int m_CeilRate = 0;
|
||||
[SerializeField] protected bool m_Inverse = false;
|
||||
[SerializeField] private bool m_Clockwise = true;
|
||||
[SerializeField] private bool m_InsertDataToHead;
|
||||
[SerializeField] protected List<string> m_Data = new List<string>();
|
||||
[SerializeField] protected AxisLine m_AxisLine = AxisLine.defaultAxisLine;
|
||||
[SerializeField] protected AxisName m_AxisName = AxisName.defaultAxisName;
|
||||
@@ -340,6 +341,15 @@ namespace XCharts
|
||||
get { return m_SplitArea; }
|
||||
set { if (value != null) { m_SplitArea = value; SetVerticesDirty(); } }
|
||||
}
|
||||
/// <summary>
|
||||
/// Whether to add new data at the head or at the end of the list.
|
||||
/// 添加新数据时是在列表的头部还是尾部加入。
|
||||
/// </summary>
|
||||
public bool insertDataToHead
|
||||
{
|
||||
get { return m_InsertDataToHead; }
|
||||
set { if (PropertyUtil.SetStruct(ref m_InsertDataToHead, value)) SetAllDirty(); }
|
||||
}
|
||||
public override bool vertsDirty
|
||||
{
|
||||
get { return m_VertsDirty || axisLine.anyDirty || axisTick.anyDirty || splitLine.anyDirty || splitArea.anyDirty; }
|
||||
@@ -534,10 +544,11 @@ namespace XCharts
|
||||
while (m_Data.Count > maxCache)
|
||||
{
|
||||
m_NeedUpdateFilterData = true;
|
||||
m_Data.RemoveAt(0);
|
||||
m_Data.RemoveAt(m_InsertDataToHead ? m_Data.Count - 1 : 0);
|
||||
}
|
||||
}
|
||||
m_Data.Add(category);
|
||||
if (m_InsertDataToHead) m_Data.Insert(0, category);
|
||||
else m_Data.Add(category);
|
||||
SetAllDirty();
|
||||
}
|
||||
|
||||
@@ -682,7 +693,7 @@ namespace XCharts
|
||||
|
||||
internal void SetTooltipLabelActive(bool flag)
|
||||
{
|
||||
if(m_TooltipLabel == null) return;
|
||||
if (m_TooltipLabel == null) return;
|
||||
ChartHelper.SetActive(m_TooltipLabel, flag);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/************************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2018 - 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/************************************************/
|
||||
/******************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/******************************************/
|
||||
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
@@ -307,6 +307,7 @@ namespace XCharts
|
||||
[SerializeField] private float m_Right;
|
||||
[SerializeField] private float m_Top;
|
||||
[SerializeField] private float m_Bottom;
|
||||
[SerializeField] private bool m_InsertDataToHead;
|
||||
[SerializeField] private bool m_CustomBool1;
|
||||
[SerializeField] private bool m_CustomBool2;
|
||||
[SerializeField] private int m_CustomInt1;
|
||||
@@ -965,6 +966,15 @@ namespace XCharts
|
||||
set { if (PropertyUtil.SetStruct(ref m_CustomFloat2, value)) SetAllDirty(); }
|
||||
}
|
||||
/// <summary>
|
||||
/// Whether to add new data at the head or at the end of the list.
|
||||
/// 添加新数据时是在列表的头部还是尾部加入。
|
||||
/// </summary>
|
||||
public bool insertDataToHead
|
||||
{
|
||||
get { return m_InsertDataToHead; }
|
||||
set { if (PropertyUtil.SetStruct(ref m_InsertDataToHead, value)) SetAllDirty(); }
|
||||
}
|
||||
/// <summary>
|
||||
/// 系列中的数据内容数组。SerieData可以设置1到n维数据。
|
||||
/// </summary>
|
||||
public List<SerieData> data { get { return m_Data; } }
|
||||
@@ -1295,13 +1305,19 @@ namespace XCharts
|
||||
serieData.data.Add(value);
|
||||
serieData.name = dataName;
|
||||
serieData.index = xValue;
|
||||
m_Data.Add(serieData);
|
||||
AddSerieDataHeadOrTail(serieData);
|
||||
m_ShowDataDimension = 1;
|
||||
SetVerticesDirty();
|
||||
CheckDataName(dataName);
|
||||
return serieData;
|
||||
}
|
||||
|
||||
private void AddSerieDataHeadOrTail(SerieData serieData)
|
||||
{
|
||||
if (m_InsertDataToHead) m_Data.Insert(0, serieData);
|
||||
else m_Data.Add(serieData);
|
||||
}
|
||||
|
||||
private void CheckDataName(string dataName)
|
||||
{
|
||||
if (string.IsNullOrEmpty(dataName))
|
||||
@@ -1330,7 +1346,7 @@ namespace XCharts
|
||||
serieData.data.Add(yValue);
|
||||
serieData.name = dataName;
|
||||
serieData.index = m_Data.Count;
|
||||
m_Data.Add(serieData);
|
||||
AddSerieDataHeadOrTail(serieData);
|
||||
m_ShowDataDimension = 2;
|
||||
SetVerticesDirty();
|
||||
CheckDataName(dataName);
|
||||
@@ -1357,7 +1373,7 @@ namespace XCharts
|
||||
serieData.data.Add(heighest);
|
||||
serieData.name = dataName;
|
||||
serieData.index = m_Data.Count;
|
||||
m_Data.Add(serieData);
|
||||
AddSerieDataHeadOrTail(serieData);
|
||||
m_ShowDataDimension = 4;
|
||||
SetVerticesDirty();
|
||||
CheckDataName(dataName);
|
||||
@@ -1393,7 +1409,7 @@ namespace XCharts
|
||||
{
|
||||
serieData.data.Add(valueList[i]);
|
||||
}
|
||||
m_Data.Add(serieData);
|
||||
AddSerieDataHeadOrTail(serieData);
|
||||
SetVerticesDirty();
|
||||
CheckDataName(dataName);
|
||||
return serieData;
|
||||
@@ -1407,7 +1423,8 @@ namespace XCharts
|
||||
while (m_Data.Count > m_MaxCache)
|
||||
{
|
||||
m_NeedUpdateFilterData = true;
|
||||
RemoveData(0);
|
||||
if (m_InsertDataToHead) RemoveData(m_Data.Count - 1);
|
||||
else RemoveData(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1854,7 +1871,7 @@ namespace XCharts
|
||||
}
|
||||
else serieData.name = txt.Replace("\"", "").Trim();
|
||||
}
|
||||
m_Data.Add(serieData);
|
||||
AddSerieDataHeadOrTail(serieData);
|
||||
}
|
||||
}
|
||||
else if (temp.IndexOf("value") > -1 && temp.IndexOf("name") > -1)
|
||||
@@ -1882,7 +1899,7 @@ namespace XCharts
|
||||
serieData.selected = bool.Parse(selected);
|
||||
}
|
||||
}
|
||||
m_Data.Add(serieData);
|
||||
AddSerieDataHeadOrTail(serieData);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1896,7 +1913,7 @@ namespace XCharts
|
||||
{
|
||||
var serieData = new SerieData();
|
||||
serieData.data = new List<float>() { i, value };
|
||||
m_Data.Add(serieData);
|
||||
AddSerieDataHeadOrTail(serieData);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
using System.Linq;
|
||||
using System.Collections.ObjectModel;
|
||||
/************************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2018 - 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/************************************************/
|
||||
/******************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/******************************************/
|
||||
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
Reference in New Issue
Block a user