diff --git a/Runtime/Component/ChartComponent.cs b/Runtime/Component/ChartComponent.cs
index 823bd8c8..2f366b6c 100644
--- a/Runtime/Component/ChartComponent.cs
+++ b/Runtime/Component/ChartComponent.cs
@@ -21,7 +21,7 @@ namespace XCharts
///
public string jsonData { get { return m_JsonData; } set { m_JsonData = value; ParseJsonData(value); } }
- public void OnAfterDeserialize()
+ internal void OnAfterDeserialize()
{
if (m_DataFromJson)
{
@@ -30,7 +30,7 @@ namespace XCharts
}
}
- public void OnBeforeSerialize()
+ internal void OnBeforeSerialize()
{
}
diff --git a/Runtime/Component/Main/Axis.cs b/Runtime/Component/Main/Axis.cs
index 0d9c501c..474c98d6 100644
--- a/Runtime/Component/Main/Axis.cs
+++ b/Runtime/Component/Main/Axis.cs
@@ -208,22 +208,22 @@ namespace XCharts
/// the current minimun value.
/// 当前最小值。
///
- public float minValue { get; set; }
+ public float runtimeMinValue { get; internal set; }
///
/// the current maximum value.
/// 当前最大值。
///
- public float maxValue { get; set; }
+ public float runtimeMaxValue { get; internal set; }
///
/// the x offset of zero position.
/// 坐标轴原点在X轴的偏移。
///
- public float zeroXOffset { get; set; }
+ public float runtimeZeroXOffset { get; internal set; }
///
/// the y offset of zero position.
/// 坐标轴原点在Y轴的偏移。
///
- public float zeroYOffset { get; set; }
+ public float runtimeZeroYOffset { get; internal set; }
private int filterStart;
private int filterEnd;
@@ -301,7 +301,7 @@ namespace XCharts
/// 类目数据索引
/// 区域缩放
///
- public string GetData(int index, DataZoom dataZoom)
+ internal string GetData(int index, DataZoom dataZoom)
{
var showData = GetDataList(dataZoom);
if (index >= 0 && index < showData.Count)
@@ -315,7 +315,7 @@ namespace XCharts
///
/// 区域缩放
///
- public List GetDataList(DataZoom dataZoom)
+ internal List GetDataList(DataZoom dataZoom)
{
if (dataZoom != null && dataZoom.enable)
{
@@ -333,7 +333,7 @@ namespace XCharts
/// 更新dataZoom对应的类目数据列表
///
///
- public void UpdateFilterData(DataZoom dataZoom)
+ internal void UpdateFilterData(DataZoom dataZoom)
{
if (dataZoom != null && dataZoom.enable)
{
@@ -366,7 +366,7 @@ namespace XCharts
///
///
///
- public int GetSplitNumber(float coordinateWid, DataZoom dataZoom)
+ internal int GetSplitNumber(float coordinateWid, DataZoom dataZoom)
{
if (type == AxisType.Value)
{
@@ -398,7 +398,7 @@ namespace XCharts
///
///
///
- public float GetSplitWidth(float coordinateWidth, DataZoom dataZoom)
+ internal float GetSplitWidth(float coordinateWidth, DataZoom dataZoom)
{
int split = GetSplitNumber(coordinateWidth, dataZoom);
int segment = (m_BoundaryGap ? split : split - 1);
@@ -411,7 +411,7 @@ namespace XCharts
///
///
///
- public int GetDataNumber(DataZoom dataZoom)
+ internal int GetDataNumber(DataZoom dataZoom)
{
return GetDataList(dataZoom).Count;
}
@@ -422,7 +422,7 @@ namespace XCharts
///
///
///
- public float GetDataWidth(float coordinateWidth, int dataCount, DataZoom dataZoom)
+ internal float GetDataWidth(float coordinateWidth, int dataCount, DataZoom dataZoom)
{
if (dataCount < 1) dataCount = 1;
var categoryCount = GetDataNumber(dataZoom);
@@ -439,7 +439,7 @@ namespace XCharts
///
///
///
- public string GetLabelName(float coordinateWidth, int index, float minValue, float maxValue,
+ internal string GetLabelName(float coordinateWidth, int index, float minValue, float maxValue,
DataZoom dataZoom, bool forcePercent)
{
int split = GetSplitNumber(coordinateWidth, dataZoom);
@@ -483,7 +483,7 @@ namespace XCharts
///
///
///
- public int GetScaleNumber(float coordinateWidth, DataZoom dataZoom)
+ internal int GetScaleNumber(float coordinateWidth, DataZoom dataZoom)
{
if (type == AxisType.Value)
{
@@ -508,7 +508,7 @@ namespace XCharts
///
///
///
- public float GetScaleWidth(float coordinateWidth, int index, DataZoom dataZoom)
+ internal float GetScaleWidth(float coordinateWidth, int index, DataZoom dataZoom)
{
int num = GetScaleNumber(coordinateWidth, dataZoom) - 1;
if (num <= 0) num = 1;
@@ -528,18 +528,18 @@ namespace XCharts
/// 更新刻度标签文字
///
///
- public void UpdateLabelText(float coordinateWidth, DataZoom dataZoom, bool forcePercent)
+ internal void UpdateLabelText(float coordinateWidth, DataZoom dataZoom, bool forcePercent)
{
for (int i = 0; i < axisLabelTextList.Count; i++)
{
if (axisLabelTextList[i] != null)
{
- axisLabelTextList[i].text = GetLabelName(coordinateWidth, i, minValue, maxValue, dataZoom, forcePercent);
+ axisLabelTextList[i].text = GetLabelName(coordinateWidth, i, runtimeMinValue, runtimeMaxValue, dataZoom, forcePercent);
}
}
}
- public void SetTooltipLabel(GameObject label)
+ internal void SetTooltipLabel(GameObject label)
{
m_TooltipLabel = label;
m_TooltipLabelRect = label.GetComponent();
@@ -547,13 +547,13 @@ namespace XCharts
m_TooltipLabel.SetActive(true);
}
- public void SetTooltipLabelColor(Color bgColor, Color textColor)
+ internal void SetTooltipLabelColor(Color bgColor, Color textColor)
{
m_TooltipLabel.GetComponent().color = bgColor;
m_TooltipLabelText.color = textColor;
}
- public void SetTooltipLabelActive(bool flag)
+ internal void SetTooltipLabelActive(bool flag)
{
if (m_TooltipLabel && m_TooltipLabel.activeInHierarchy != flag)
{
@@ -561,7 +561,7 @@ namespace XCharts
}
}
- public void UpdateTooptipLabelText(string text)
+ internal void UpdateTooptipLabelText(string text)
{
if (m_TooltipLabelText)
{
@@ -571,7 +571,7 @@ namespace XCharts
}
}
- public void UpdateTooltipLabelPos(Vector2 pos)
+ internal void UpdateTooltipLabelPos(Vector2 pos)
{
if (m_TooltipLabel)
{
@@ -591,7 +591,7 @@ namespace XCharts
///
///
///
- public void AdjustMinMaxValue(ref float minValue, ref float maxValue)
+ internal void AdjustMinMaxValue(ref float minValue, ref float maxValue)
{
if (minMaxType == Axis.AxisMinMaxType.Custom)
{
@@ -663,8 +663,8 @@ namespace XCharts
m_AxisLabel.Equals(other.axisLabel) &&
splitLineType == other.splitLineType &&
boundaryGap == other.boundaryGap &&
- minValue == other.minValue &&
- maxValue == other.maxValue &&
+ runtimeMinValue == other.runtimeMinValue &&
+ runtimeMaxValue == other.runtimeMaxValue &&
axisName.Equals(other.axisName) &&
ChartHelper.IsValueEqualsList(m_Data, other.data);
}
diff --git a/Runtime/Component/Main/DataZoom.cs b/Runtime/Component/Main/DataZoom.cs
index e5bb8dee..dfa5f33a 100644
--- a/Runtime/Component/Main/DataZoom.cs
+++ b/Runtime/Component/Main/DataZoom.cs
@@ -208,12 +208,12 @@ namespace XCharts
/// The start label.
/// 组件的开始信息文本。
///
- public Text startLabel { get; set; }
+ private Text m_StartLabel { get; set; }
///
/// The end label.
/// 组件的结束信息文本。
///
- public Text endLabel { get; set; }
+ private Text m_EndLabel { get; set; }
public static DataZoom defaultDataZoom
{
@@ -297,15 +297,15 @@ namespace XCharts
/// 是否显示文本
///
///
- public void SetLabelActive(bool flag)
+ internal void SetLabelActive(bool flag)
{
- if (startLabel && startLabel.gameObject.activeInHierarchy != flag)
+ if (m_StartLabel && m_StartLabel.gameObject.activeInHierarchy != flag)
{
- startLabel.gameObject.SetActive(flag);
+ m_StartLabel.gameObject.SetActive(flag);
}
- if (endLabel && endLabel.gameObject.activeInHierarchy != flag)
+ if (m_EndLabel && m_EndLabel.gameObject.activeInHierarchy != flag)
{
- endLabel.gameObject.SetActive(flag);
+ m_EndLabel.gameObject.SetActive(flag);
}
}
@@ -313,18 +313,18 @@ namespace XCharts
/// 设置开始文本内容
///
///
- public void SetStartLabelText(string text)
+ internal void SetStartLabelText(string text)
{
- if (startLabel) startLabel.text = text;
+ if (m_StartLabel) m_StartLabel.text = text;
}
///
/// 设置结束文本内容
///
///
- public void SetEndLabelText(string text)
+ internal void SetEndLabelText(string text)
{
- if (endLabel) endLabel.text = text;
+ if (m_EndLabel) m_EndLabel.text = text;
}
///
@@ -332,7 +332,7 @@ namespace XCharts
///
///
///
- public float GetHeight(float gridBottom)
+ internal float GetHeight(float gridBottom)
{
if (height <= 0)
{
@@ -342,5 +342,25 @@ namespace XCharts
}
else return height;
}
+
+ internal void SetStartLabel(Text startLabel)
+ {
+ m_StartLabel = startLabel;
+ }
+
+ internal void SetEndLabel(Text endLabel)
+ {
+ m_EndLabel = endLabel;
+ }
+
+ internal void UpdateStartLabelPosition(Vector3 pos)
+ {
+ m_StartLabel.transform.localPosition = pos;
+ }
+
+ internal void UpdateEndLabelPosition(Vector3 pos)
+ {
+ m_EndLabel.transform.localPosition = pos;
+ }
}
}
\ No newline at end of file
diff --git a/Runtime/Component/Main/Radar.cs b/Runtime/Component/Main/Radar.cs
index 953f64e2..963f5831 100644
--- a/Runtime/Component/Main/Radar.cs
+++ b/Runtime/Component/Main/Radar.cs
@@ -162,20 +162,17 @@ namespace XCharts
/// the center position of radar in container.
/// 雷达图在容器中的具体中心点。
///
- ///
- public Vector2 centerPos { get; set; }
+ public Vector2 runtimeCenterPos { get; internal set; }
///
/// the true radius of radar.
/// 雷达图的运行时实际半径。
///
- ///
- public float actualRadius { get; set; }
+ public float runtimeRadius { get; internal set; }
///
/// the data position list of radar.
/// 雷达图的所有数据坐标点列表。
///
- ///
- public Dictionary> dataPosList = new Dictionary>();
+ public Dictionary> runtimeDataPosList = new Dictionary>();
public static Radar defaultRadar
{
@@ -344,23 +341,23 @@ namespace XCharts
return 0;
}
- public void UpdateRadarCenter(float chartWidth, float chartHeight)
+ internal void UpdateRadarCenter(float chartWidth, float chartHeight)
{
if (center.Length < 2) return;
var centerX = center[0] <= 1 ? chartWidth * center[0] : center[0];
var centerY = center[1] <= 1 ? chartHeight * center[1] : center[1];
- centerPos = new Vector2(centerX, centerY);
+ runtimeCenterPos = new Vector2(centerX, centerY);
if (radius <= 0)
{
- actualRadius = 0;
+ runtimeRadius = 0;
}
else if (radius <= 1)
{
- actualRadius = Mathf.Min(chartWidth, chartHeight) * radius;
+ runtimeRadius = Mathf.Min(chartWidth, chartHeight) * radius;
}
else
{
- actualRadius = radius;
+ runtimeRadius = radius;
}
}
@@ -368,8 +365,8 @@ namespace XCharts
{
int indicatorNum = indicatorList.Count;
var angle = 2 * Mathf.PI / indicatorNum * index;
- var x = centerPos.x + actualRadius * Mathf.Sin(angle);
- var y = centerPos.y + actualRadius * Mathf.Cos(angle);
+ var x = runtimeCenterPos.x + runtimeRadius * Mathf.Sin(angle);
+ var y = runtimeCenterPos.y + runtimeRadius * Mathf.Cos(angle);
return new Vector3(x, y);
}
}
diff --git a/Runtime/Component/Main/Serie.cs b/Runtime/Component/Main/Serie.cs
index 869f1f1e..fa9f9cd5 100644
--- a/Runtime/Component/Main/Serie.cs
+++ b/Runtime/Component/Main/Serie.cs
@@ -426,12 +426,12 @@ namespace XCharts
/// The index of serie,start at 0.
/// 系列的索引,从0开始。
///
- public int index { get; set; }
+ public int index { get; internal set; }
///
/// Whether the serie is highlighted.
/// 该系列是否高亮,一般由图例悬停触发。
///
- public bool highlighted { get; set; }
+ public bool highlighted { get; internal set; }
///
/// the count of data list.
/// 数据项个数。
@@ -444,25 +444,25 @@ namespace XCharts
///
/// 饼图的中心点位置。
///
- public Vector3 pieCenterPos { get; set; }
+ public Vector3 runtimePieCenterPos { get; internal set; }
///
/// 饼图的内径
///
- public float pieInsideRadius { get; set; }
+ public float runtimePieInsideRadius { get; internal set; }
///
/// 饼图的外径
///
- public float pieOutsideRadius { get; set; }
+ public float runtimePieOutsideRadius { get; internal set; }
///
/// 饼图的数据项最大值
///
- public float pieDataMax { get; set; }
+ public float runtimePieDataMax { get; internal set; }
///
/// 饼图的数据项之和
///
- public float pieDataTotal { get; set; }
+ public float runtimePieDataTotal { get; internal set; }
- public List GetUpSmoothList(int dataIndex, int size = 100)
+ internal List GetUpSmoothList(int dataIndex, int size = 100)
{
if (m_UpSmoothPoints.ContainsKey(dataIndex))
{
@@ -476,7 +476,7 @@ namespace XCharts
}
}
- public List GetDownSmoothList(int dataIndex, int size = 100)
+ internal List GetDownSmoothList(int dataIndex, int size = 100)
{
if (m_DownSmoothPoints.ContainsKey(dataIndex))
{
@@ -490,7 +490,7 @@ namespace XCharts
}
}
- public void ClearSmoothList(int dataIndex)
+ internal void ClearSmoothList(int dataIndex)
{
if (m_UpSmoothPoints.ContainsKey(dataIndex))
{
@@ -836,7 +836,7 @@ namespace XCharts
/// 根据dataZoom更新数据列表缓存
///
///
- public void UpdateFilterData(DataZoom dataZoom)
+ internal void UpdateFilterData(DataZoom dataZoom)
{
if (dataZoom != null && dataZoom.enable)
{
@@ -939,7 +939,7 @@ namespace XCharts
}
}
- public Color GetAreaColor(ThemeInfo theme, int index, bool highlight)
+ internal Color GetAreaColor(ThemeInfo theme, int index, bool highlight)
{
var color = areaStyle.color != Color.clear ? areaStyle.color : (Color)theme.GetColor(index);
if (highlight)
@@ -951,7 +951,7 @@ namespace XCharts
return color;
}
- public Color GetAreaToColor(ThemeInfo theme, int index, bool highlight)
+ internal Color GetAreaToColor(ThemeInfo theme, int index, bool highlight)
{
if (areaStyle.toColor != Color.clear)
{
@@ -970,7 +970,7 @@ namespace XCharts
}
}
- public Color GetLineColor(ThemeInfo theme, int index, bool highlight)
+ internal Color GetLineColor(ThemeInfo theme, int index, bool highlight)
{
if (lineStyle.color != Color.clear)
{
@@ -988,7 +988,7 @@ namespace XCharts
}
}
- public Color GetSymbolColor(ThemeInfo theme, int index, bool highlight)
+ internal Color GetSymbolColor(ThemeInfo theme, int index, bool highlight)
{
if (symbol.color != Color.clear)
{
@@ -1006,13 +1006,13 @@ namespace XCharts
}
}
- public float GetBarWidth(float categoryWidth)
+ internal float GetBarWidth(float categoryWidth)
{
if (m_BarWidth > 1) return m_BarWidth;
else return m_BarWidth * categoryWidth;
}
- public float GetBarGap(float categoryWidth)
+ internal float GetBarGap(float categoryWidth)
{
if (m_BarGap == -1) return 0;
else if (m_BarGap <= 1) return GetBarWidth(categoryWidth) * m_BarGap;
@@ -1073,7 +1073,7 @@ namespace XCharts
}
}
- public bool IsNeedShowDataIcon()
+ internal bool IsNeedShowDataIcon()
{
foreach (var data in m_Data)
{
diff --git a/Runtime/Component/Main/Series.cs b/Runtime/Component/Main/Series.cs
index 72c6cf26..ca3d3a65 100644
--- a/Runtime/Component/Main/Series.cs
+++ b/Runtime/Component/Main/Series.cs
@@ -143,7 +143,7 @@ namespace XCharts
///
///
///
- public Serie GetLastStackSerie(int index)
+ internal Serie GetLastStackSerie(int index)
{
var serie = GetSerie(index);
return GetLastStackSerie(serie);
@@ -154,7 +154,7 @@ namespace XCharts
///
///
///
- public bool IsAnyGradientSerie(string stack)
+ internal bool IsAnyGradientSerie(string stack)
{
if (string.IsNullOrEmpty(stack)) return false;
foreach (var serie in m_Series)
@@ -172,7 +172,7 @@ namespace XCharts
///
///
///
- public Serie GetLastStackSerie(Serie serie)
+ internal Serie GetLastStackSerie(Serie serie)
{
if (serie == null || string.IsNullOrEmpty(serie.stack)) return null;
for (int i = serie.index - 1; i >= 0; i--)
@@ -461,7 +461,7 @@ namespace XCharts
/// dataZoom由变化是更新系列的缓存数据
///
///
- public void UpdateFilterData(DataZoom dataZoom)
+ internal void UpdateFilterData(DataZoom dataZoom)
{
if (dataZoom != null && dataZoom.enable)
{
@@ -527,7 +527,7 @@ namespace XCharts
///
///
///
- public bool IsUsedAxisIndex(int axisIndex)
+ internal bool IsUsedAxisIndex(int axisIndex)
{
foreach (var serie in list)
{
@@ -555,7 +555,7 @@ namespace XCharts
///
///
///
- public void GetXMinMaxValue(DataZoom dataZoom, int axisIndex, bool isValueAxis,
+ internal void GetXMinMaxValue(DataZoom dataZoom, int axisIndex, bool isValueAxis,
out float minVaule, out float maxValue)
{
GetMinMaxValue(dataZoom, axisIndex, isValueAxis, false, out minVaule, out maxValue);
@@ -568,7 +568,7 @@ namespace XCharts
///
///
///
- public void GetYMinMaxValue(DataZoom dataZoom, int axisIndex, bool isValueAxis,
+ internal void GetYMinMaxValue(DataZoom dataZoom, int axisIndex, bool isValueAxis,
out float minVaule, out float maxValue)
{
GetMinMaxValue(dataZoom, axisIndex, isValueAxis, true, out minVaule, out maxValue);
@@ -576,7 +576,7 @@ namespace XCharts
private Dictionary> _stackSeriesForMinMax = new Dictionary>();
private Dictionary _serieTotalValueForMinMax = new Dictionary();
- public void GetMinMaxValue(DataZoom dataZoom, int axisIndex, bool isValueAxis, bool yValue,
+ internal void GetMinMaxValue(DataZoom dataZoom, int axisIndex, bool isValueAxis, bool yValue,
out float minVaule, out float maxValue)
{
float min = int.MaxValue;
@@ -680,7 +680,7 @@ namespace XCharts
/// 是否由数据堆叠
///
///
- public bool IsStack()
+ internal bool IsStack()
{
_setForStack.Clear();
foreach (var serie in m_Series)
@@ -701,7 +701,7 @@ namespace XCharts
///
///
///
- public bool IsStack(string stackName, SerieType type)
+ internal bool IsStack(string stackName, SerieType type)
{
if (string.IsNullOrEmpty(stackName)) return false;
int count = 0;
@@ -721,7 +721,7 @@ namespace XCharts
///
///
///
- public bool IsPercentStack(SerieType type)
+ internal bool IsPercentStack(SerieType type)
{
int count = 0;
bool isPercentStack = false;
@@ -746,7 +746,7 @@ namespace XCharts
///
///
///
- public bool IsPercentStack(string stackName, SerieType type)
+ internal bool IsPercentStack(string stackName, SerieType type)
{
if (string.IsNullOrEmpty(stackName)) return false;
int count = 0;
@@ -770,7 +770,7 @@ namespace XCharts
/// 获得堆叠系列列表
///
///
- public Dictionary> GetStackSeries()
+ internal Dictionary> GetStackSeries()
{
int count = 0;
Dictionary sets = new Dictionary();
@@ -810,7 +810,7 @@ namespace XCharts
///
///
///
- public void GetStackSeries(ref Dictionary> stackSeries)
+ internal void GetStackSeries(ref Dictionary> stackSeries)
{
int count = 0;
sets.Clear();
@@ -860,7 +860,7 @@ namespace XCharts
/// 获得所有系列名,不包含空名字。
///
///
- public List GetSerieNameList()
+ internal List GetSerieNameList()
{
serieNameList.Clear();
for (int n = 0; n < m_Series.Count; n++)
diff --git a/Runtime/Component/Main/Tooltip.cs b/Runtime/Component/Main/Tooltip.cs
index d866672c..0a0a7a69 100644
--- a/Runtime/Component/Main/Tooltip.cs
+++ b/Runtime/Component/Main/Tooltip.cs
@@ -124,42 +124,42 @@ namespace XCharts
/// The data index currently indicated by Tooltip.
/// 当前提示框所指示的数据项索引。
///
- public List dataIndex { get; set; }
+ public List runtimeDataIndex { get; internal set; }
///
/// the value for x indicator label.
/// 指示器X轴上要显示的值。
///
- public float[] xValues { get; set; }
+ public float[] runtimeXValues { get; internal set; }
///
/// the value for y indicator label.
/// 指示器Y轴上要显示的值。
///
- public float[] yValues { get; set; }
+ public float[] runtimeYValues { get; internal set; }
///
/// the current pointer position.
/// 当前鼠标位置。
///
- public Vector2 pointerPos { get; set; }
+ public Vector2 runtimePointerPos { get; internal set; }
///
/// the width of tooltip.
/// 提示框宽。
///
- public float width { get { return m_ContentRect.sizeDelta.x; } }
+ public float runtimeWidth { get { return m_ContentRect.sizeDelta.x; } }
///
/// the height of tooltip.
/// 提示框高。
///
- public float height { get { return m_ContentRect.sizeDelta.y; } }
+ public float runtimeHeight { get { return m_ContentRect.sizeDelta.y; } }
///
/// Whether the tooltip has been initialized.
/// 提示框是否已初始化。
///
- public bool inited { get { return m_GameObject != null; } }
+ public bool runtimeInited { get { return m_GameObject != null; } }
///
/// the gameObject of tooltip.
/// 提示框的gameObject。
///
- public GameObject gameObject { get { return m_GameObject; } }
+ public GameObject runtimeGameObject { get { return m_GameObject; } }
public static Tooltip defaultTooltip
{
@@ -168,9 +168,9 @@ namespace XCharts
var tooltip = new Tooltip
{
m_Show = true,
- xValues = new float[2] { -1, -1 },
- yValues = new float[2] { -1, -1 },
- dataIndex = new List() { -1, -1 },
+ runtimeXValues = new float[2] { -1, -1 },
+ runtimeYValues = new float[2] { -1, -1 },
+ runtimeDataIndex = new List() { -1, -1 },
lastDataIndex = new List() { -1, -1 }
};
return tooltip;
@@ -214,7 +214,8 @@ namespace XCharts
///
public void SetContentBackgroundColor(Color color)
{
- m_Content.GetComponent().color = color;
+ if (m_Content != null && m_Content.GetComponent() != null)
+ m_Content.GetComponent().color = color;
}
///
@@ -252,11 +253,11 @@ namespace XCharts
///
/// 清除提示框指示数据
///
- public void ClearValue()
+ internal void ClearValue()
{
- dataIndex[0] = dataIndex[1] = -1;
- xValues[0] = xValues[1] = -1;
- yValues[0] = yValues[1] = -1;
+ runtimeDataIndex[0] = runtimeDataIndex[1] = -1;
+ runtimeXValues[0] = runtimeXValues[1] = -1;
+ runtimeYValues[0] = runtimeYValues[1] = -1;
}
///
@@ -308,17 +309,17 @@ namespace XCharts
///
public bool IsDataIndexChanged()
{
- return dataIndex[0] != lastDataIndex[0] ||
- dataIndex[1] != lastDataIndex[1];
+ return runtimeDataIndex[0] != lastDataIndex[0] ||
+ runtimeDataIndex[1] != lastDataIndex[1];
}
///
/// 当前索引缓存
///
- public void UpdateLastDataIndex()
+ internal void UpdateLastDataIndex()
{
- lastDataIndex[0] = dataIndex[0];
- lastDataIndex[1] = dataIndex[1];
+ lastDataIndex[0] = runtimeDataIndex[0];
+ lastDataIndex[1] = runtimeDataIndex[1];
}
///
@@ -327,7 +328,7 @@ namespace XCharts
///
public bool IsSelected()
{
- return dataIndex[0] >= 0 || dataIndex[1] >= 0;
+ return runtimeDataIndex[0] >= 0 || runtimeDataIndex[1] >= 0;
}
///
@@ -337,10 +338,10 @@ namespace XCharts
///
public bool IsSelected(int index)
{
- return dataIndex[0] == index || dataIndex[1] == index;
+ return runtimeDataIndex[0] == index || runtimeDataIndex[1] == index;
}
- public string GetFormatterContent(int dataIndex, Series series, string category, DataZoom dataZoom = null)
+ internal string GetFormatterContent(int dataIndex, Series series, string category, DataZoom dataZoom = null)
{
if (string.IsNullOrEmpty(m_Formatter))
{
@@ -383,7 +384,7 @@ namespace XCharts
}
}
- public string GetFormatterContent(string serieName, string dataName, float dataValue)
+ internal string GetFormatterContent(string serieName, string dataName, float dataValue)
{
if (string.IsNullOrEmpty(m_Formatter))
return ChartCached.FloatToStr(dataValue, 0, m_ForceENotation);
diff --git a/Runtime/Component/Main/VisualMap.cs b/Runtime/Component/Main/VisualMap.cs
index 38e7f207..eb3c7d4f 100644
--- a/Runtime/Component/Main/VisualMap.cs
+++ b/Runtime/Component/Main/VisualMap.cs
@@ -164,14 +164,14 @@ namespace XCharts
/// 鼠标悬停选中的index
///
///
- public int rtSelectedIndex { get; set; }
- public float rtSelectedValue { get; set; }
+ public int runtimeSelectedIndex { get; internal set; }
+ public float runtimeSelectedValue { get; internal set; }
///
/// the current pointer position.
/// 当前鼠标位置。
///
- public Vector2 pointerPos { get; set; }
- public bool isVertical { get { return orient == Orient.Vertical; } }
+ public Vector2 runtimePointerPos { get; internal set; }
+ public bool runtimeIsVertical { get { return orient == Orient.Vertical; } }
public float rangeMin
{
get
@@ -198,7 +198,7 @@ namespace XCharts
}
}
- public int rtSplitNumber
+ public int runtimeSplitNumber
{
get
{
@@ -207,18 +207,18 @@ namespace XCharts
}
}
- public float rangeMinHeight { get { return (rangeMin - min) / (max - min) * itemHeight; } }
- public float rangeMaxHeight { get { return (rangeMax - min) / (max - min) * itemHeight; } }
+ public float runtimeRangeMinHeight { get { return (rangeMin - min) / (max - min) * itemHeight; } }
+ public float runtimeRangeMaxHeight { get { return (rangeMax - min) / (max - min) * itemHeight; } }
private List m_RtInRange = new List();
- public List rtInRange
+ public List runtimeInRange
{
get
{
if (splitNumber == 0 || m_InRange.Count >= splitNumber || m_InRange.Count < 1) return m_InRange;
else
{
- if (m_RtInRange.Count != rtSplitNumber)
+ if (m_RtInRange.Count != runtimeSplitNumber)
{
m_RtInRange.Clear();
var total = max - min;
@@ -256,7 +256,7 @@ namespace XCharts
public Color GetColor(float value)
{
- int splitNumber = rtInRange.Count;
+ int splitNumber = runtimeInRange.Count;
if (splitNumber <= 0) return Color.clear;
value = Mathf.Clamp(value, min, max);
@@ -264,13 +264,13 @@ namespace XCharts
var index = GetIndex(value);
var nowMin = min + index * diff;
var rate = (value - nowMin) / diff;
- if (index == splitNumber - 1) return rtInRange[index];
- else return Color.Lerp(rtInRange[index], rtInRange[index + 1], rate);
+ if (index == splitNumber - 1) return runtimeInRange[index];
+ else return Color.Lerp(runtimeInRange[index], runtimeInRange[index + 1], rate);
}
public int GetIndex(float value)
{
- int splitNumber = rtInRange.Count;
+ int splitNumber = runtimeInRange.Count;
if (splitNumber <= 0) return -1;
value = Mathf.Clamp(value, min, max);
@@ -289,19 +289,19 @@ namespace XCharts
public bool IsInSelectedValue(float value)
{
- if (rtSelectedIndex < 0) return true;
+ if (runtimeSelectedIndex < 0) return true;
else
{
- return rtSelectedIndex == GetIndex(value);
+ return runtimeSelectedIndex == GetIndex(value);
}
}
public float GetValue(Vector3 pos, float chartWidth, float chartHeight)
{
var centerPos = location.GetPosition(chartWidth, chartHeight);
- var pos1 = centerPos + (isVertical ? Vector3.down : Vector3.left) * itemHeight / 2;
- var pos2 = centerPos + (isVertical ? Vector3.up : Vector3.right) * itemHeight / 2;
- if (isVertical)
+ var pos1 = centerPos + (runtimeIsVertical ? Vector3.down : Vector3.left) * itemHeight / 2;
+ var pos2 = centerPos + (runtimeIsVertical ? Vector3.up : Vector3.right) * itemHeight / 2;
+ if (runtimeIsVertical)
{
if (pos.y < pos1.y) return min;
else if (pos.y > pos2.y) return max;
@@ -337,12 +337,12 @@ namespace XCharts
{
var pos1 = centerPos + Vector3.down * itemHeight / 2;
return local.x >= centerPos.x - itemWidth / 2 && local.x <= centerPos.x + itemWidth / 2 &&
- local.y >= pos1.y + rangeMinHeight && local.y <= pos1.y + rangeMaxHeight;
+ local.y >= pos1.y + runtimeRangeMinHeight && local.y <= pos1.y + runtimeRangeMaxHeight;
}
else
{
var pos1 = centerPos + Vector3.left * itemHeight / 2;
- return local.x >= pos1.x + rangeMinHeight && local.x <= pos1.x + rangeMaxHeight &&
+ return local.x >= pos1.x + runtimeRangeMinHeight && local.x <= pos1.x + runtimeRangeMaxHeight &&
local.y >= centerPos.y - itemWidth / 2 && local.y <= centerPos.y + itemWidth / 2;
}
}
@@ -354,7 +354,7 @@ namespace XCharts
{
var radius = triangleLen / 2;
var pos1 = centerPos + Vector3.down * itemHeight / 2;
- var cpos = new Vector3(pos1.x + itemWidth / 2 + radius, pos1.y + rangeMinHeight - radius);
+ var cpos = new Vector3(pos1.x + itemWidth / 2 + radius, pos1.y + runtimeRangeMinHeight - radius);
return local.x >= cpos.x - radius && local.x <= cpos.x + radius &&
local.y >= cpos.y - radius && local.y <= cpos.y + radius;
@@ -363,7 +363,7 @@ namespace XCharts
{
var radius = triangleLen / 2;
var pos1 = centerPos + Vector3.left * itemHeight / 2;
- var cpos = new Vector3(pos1.x + rangeMinHeight, pos1.y + itemWidth / 2 + radius);
+ var cpos = new Vector3(pos1.x + runtimeRangeMinHeight, pos1.y + itemWidth / 2 + radius);
return local.x >= cpos.x - radius && local.x <= cpos.x + radius &&
local.y >= cpos.y - radius && local.y <= cpos.y + radius;
}
@@ -376,7 +376,7 @@ namespace XCharts
{
var radius = triangleLen / 2;
var pos1 = centerPos + Vector3.down * itemHeight / 2;
- var cpos = new Vector3(pos1.x + itemWidth / 2 + radius, pos1.y + rangeMaxHeight + radius);
+ var cpos = new Vector3(pos1.x + itemWidth / 2 + radius, pos1.y + runtimeRangeMaxHeight + radius);
return local.x >= cpos.x - radius && local.x <= cpos.x + radius &&
local.y >= cpos.y - radius && local.y <= cpos.y + radius;
@@ -385,7 +385,7 @@ namespace XCharts
{
var radius = triangleLen / 2;
var pos1 = centerPos + Vector3.left * itemHeight / 2;
- var cpos = new Vector3(pos1.x + rangeMaxHeight + radius, pos1.y + itemWidth / 2 + radius);
+ var cpos = new Vector3(pos1.x + runtimeRangeMaxHeight + radius, pos1.y + itemWidth / 2 + radius);
return local.x >= cpos.x - radius && local.x <= cpos.x + radius &&
local.y >= cpos.y - radius && local.y <= cpos.y + radius;
}
diff --git a/Runtime/Component/Sub/Location.cs b/Runtime/Component/Sub/Location.cs
index 83621c73..19c61aff 100644
--- a/Runtime/Component/Sub/Location.cs
+++ b/Runtime/Component/Sub/Location.cs
@@ -74,25 +74,25 @@ namespace XCharts
/// Location对应的Anchor锚点
///
///
- public TextAnchor textAnchor { get { return m_TextAnchor; } }
+ public TextAnchor runtimeTextAnchor { get { return m_TextAnchor; } }
///
/// the minimum achor.
/// Location对应的anchorMin。
///
///
- public Vector2 anchorMin { get { return m_AnchorMin; } }
+ public Vector2 runtimeAnchorMin { get { return m_AnchorMin; } }
///
/// the maximun achor.
/// Location对应的anchorMax.
///
///
- public Vector2 anchorMax { get { return m_AnchorMax; } }
+ public Vector2 runtimeAnchorMax { get { return m_AnchorMax; } }
///
/// the povot.
/// Loation对应的中心点。
///
///
- public Vector2 pivot { get { return m_Pivot; } }
+ public Vector2 runtimePivot { get { return m_Pivot; } }
public static Location defaultLeft
{
diff --git a/Runtime/Component/Sub/SerieAnimation.cs b/Runtime/Component/Sub/SerieAnimation.cs
index 12110e0a..9f8f7073 100644
--- a/Runtime/Component/Sub/SerieAnimation.cs
+++ b/Runtime/Component/Sub/SerieAnimation.cs
@@ -37,31 +37,26 @@ namespace XCharts
/// Easing method used for the first animation.
/// 动画的缓动效果。
///
- ///
public Easing easing { get { return m_Easting; } set { m_Easting = value; } }
///
/// The milliseconds duration of the first animation.
/// 设定的动画时长(毫秒)。
///
- ///
public int duration { get { return m_Duration; } set { m_Duration = value; } }
///
/// The milliseconds actual duration of the first animation.
/// 实际的动画时长(毫秒)。
///
- ///
public int actualDuration { get { return m_ActualDuration; } }
///
/// Whether to set graphic number threshold to animation. Animation will be disabled when graphic number is larger than threshold.
/// 是否开启动画的阈值,当单个系列显示的图形数量大于这个阈值时会关闭动画。
///
- ///
public int threshold { get { return m_Threshold; } set { m_Threshold = value; } }
///
/// The milliseconds delay before updating the first animation.
/// 动画延时(毫秒)。
///
- ///
public int delay { get { return m_Delay; } set { m_Delay = value; if (m_Delay < 0) m_Delay = 0; } }
private Dictionary m_DataAnimationState = new Dictionary();
@@ -179,7 +174,7 @@ namespace XCharts
return dataIndex <= m_CurrDataProgress;
}
- public void CheckProgress(float delta)
+ internal void CheckProgress(float delta)
{
if (!enable) return;
if (IsInDelay()) return;
@@ -195,7 +190,7 @@ namespace XCharts
}
}
- public void CheckSymbol(float delta, float dest)
+ internal void CheckSymbol(float delta, float dest)
{
m_CurrSymbolProgress += delta;
if (m_CurrSymbolProgress > dest) m_CurrSymbolProgress = dest;
diff --git a/Runtime/Component/Sub/SerieData.cs b/Runtime/Component/Sub/SerieData.cs
index 2541e98a..a1299375 100644
--- a/Runtime/Component/Sub/SerieData.cs
+++ b/Runtime/Component/Sub/SerieData.cs
@@ -133,34 +133,34 @@ namespace XCharts
///
/// 饼图数据项的开始角度(运行时自动计算)
///
- public float pieStartAngle { get; set; }
+ public float runtimePieStartAngle { get; internal set; }
///
/// 饼图数据项的结束角度(运行时自动计算)
///
- public float pieToAngle { get; set; }
+ public float runtimePieToAngle { get; internal set; }
///
/// 饼图数据项的一半时的角度(运行时自动计算)
///
- public float pieHalfAngle { get; set; }
+ public float runtimePieHalfAngle { get; internal set; }
///
/// 饼图数据项的当前角度(运行时自动计算)
///
- public float pieCurrAngle { get; set; }
+ public float runtimePieCurrAngle { get; internal set; }
///
/// 饼图数据项的内半径
///
- public float pieInsideRadius { get; set; }
+ public float runtimePieInsideRadius { get; internal set; }
///
/// 饼图数据项的外半径
///
- public float pieOutsideRadius
+ public float runtimePieOutsideRadius
{
get
{
if (radius > 0) return radius;
else return m_RtPieOutsideRadius;
}
- set
+ internal set
{
m_RtPieOutsideRadius = value;
}
@@ -168,8 +168,8 @@ namespace XCharts
///
/// 饼图数据项的偏移半径
///
- public float pieOffsetRadius { get; set; }
- public Vector3 pieOffsetCenter { get; set; }
+ public float runtimePieOffsetRadius { get; internal set; }
+ public Vector3 runtiemPieOffsetCenter { get; internal set; }
public float GetData(int index)
{
diff --git a/Runtime/HeatmapChart.cs b/Runtime/HeatmapChart.cs
index 280de6a1..a38c40ae 100644
--- a/Runtime/HeatmapChart.cs
+++ b/Runtime/HeatmapChart.cs
@@ -87,8 +87,8 @@ namespace XCharts
protected override void RefreshTooltip()
{
- var xData = m_Tooltip.xValues[0];
- var yData = m_Tooltip.yValues[0];
+ var xData = m_Tooltip.runtimeXValues[0];
+ var yData = m_Tooltip.runtimeYValues[0];
if (IsCategory() && (xData < 0 || yData < 0)) return;
sb.Length = 0;
for (int i = 0; i < m_Series.Count; i++)
@@ -117,13 +117,13 @@ namespace XCharts
}
m_Tooltip.UpdateContentText(sb.ToString().Trim());
var pos = m_Tooltip.GetContentPos();
- if (pos.x + m_Tooltip.width > chartWidth)
+ if (pos.x + m_Tooltip.runtimeWidth > chartWidth)
{
- pos.x = chartWidth - m_Tooltip.width;
+ pos.x = chartWidth - m_Tooltip.runtimeWidth;
}
- if (pos.y - m_Tooltip.height < 0)
+ if (pos.y - m_Tooltip.runtimeHeight < 0)
{
- pos.y = m_Tooltip.height;
+ pos.y = m_Tooltip.runtimeHeight;
}
m_Tooltip.UpdateContentPos(pos);
m_Tooltip.SetActive(true);
diff --git a/Runtime/Internal/AxisPool.cs b/Runtime/Internal/AxisPool.cs
index 5d3afd51..e02b4d9e 100644
--- a/Runtime/Internal/AxisPool.cs
+++ b/Runtime/Internal/AxisPool.cs
@@ -7,7 +7,7 @@
namespace XCharts
{
- public static class XAxisPool
+ internal static class XAxisPool
{
private static readonly ObjectPool s_ListPool = new ObjectPool(null, null);
@@ -22,7 +22,7 @@ namespace XCharts
}
}
- public static class YAxisPool
+ internal static class YAxisPool
{
private static readonly ObjectPool s_ListPool = new ObjectPool(null, null);
diff --git a/Runtime/Internal/BaseChart.cs b/Runtime/Internal/BaseChart.cs
index 08066464..87283468 100644
--- a/Runtime/Internal/BaseChart.cs
+++ b/Runtime/Internal/BaseChart.cs
@@ -148,10 +148,10 @@ namespace XCharts
private void InitTitle()
{
m_Title.OnChanged();
- TextAnchor anchor = m_Title.location.textAnchor;
- Vector2 anchorMin = m_Title.location.anchorMin;
- Vector2 anchorMax = m_Title.location.anchorMax;
- Vector2 pivot = m_Title.location.pivot;
+ TextAnchor anchor = m_Title.location.runtimeTextAnchor;
+ Vector2 anchorMin = m_Title.location.runtimeAnchorMin;
+ Vector2 anchorMax = m_Title.location.runtimeAnchorMax;
+ Vector2 pivot = m_Title.location.runtimePivot;
Vector3 titlePosition = m_Title.location.GetPosition(chartWidth, chartHeight);
Vector3 subTitlePosition = -new Vector3(0, m_Title.textFontSize + m_Title.itemGap, 0);
float titleWid = chartWidth;
@@ -183,10 +183,10 @@ namespace XCharts
private void InitLegend()
{
m_Legend.OnChanged();
- TextAnchor anchor = m_Legend.location.textAnchor;
- Vector2 anchorMin = m_Legend.location.anchorMin;
- Vector2 anchorMax = m_Legend.location.anchorMax;
- Vector2 pivot = m_Legend.location.pivot;
+ TextAnchor anchor = m_Legend.location.runtimeTextAnchor;
+ Vector2 anchorMin = m_Legend.location.runtimeAnchorMin;
+ Vector2 anchorMax = m_Legend.location.runtimeAnchorMax;
+ Vector2 pivot = m_Legend.location.runtimePivot;
var legendObject = ChartHelper.AddObject(s_LegendObjectName, transform, anchorMin, anchorMax,
pivot, new Vector2(chartWidth, chartHeight));
@@ -409,7 +409,7 @@ namespace XCharts
private void CheckPointerPos()
{
- var needCheck = (m_Tooltip.show && m_Tooltip.inited)
+ var needCheck = (m_Tooltip.show && m_Tooltip.runtimeInited)
|| raycastTarget;
if (needCheck)
{
@@ -429,7 +429,7 @@ namespace XCharts
private void CheckTooltip()
{
- if (!m_Tooltip.show || !m_Tooltip.inited)
+ if (!m_Tooltip.show || !m_Tooltip.runtimeInited)
{
if (m_Tooltip.IsActive())
{
@@ -439,9 +439,9 @@ namespace XCharts
}
return;
}
- for (int i = 0; i < m_Tooltip.dataIndex.Count; i++)
+ for (int i = 0; i < m_Tooltip.runtimeDataIndex.Count; i++)
{
- m_Tooltip.dataIndex[i] = -1;
+ m_Tooltip.runtimeDataIndex[i] = -1;
}
Vector2 local = pointerPos;
if (canvas == null) return;
@@ -465,7 +465,7 @@ namespace XCharts
}
return;
}
- m_Tooltip.pointerPos = local;
+ m_Tooltip.runtimePointerPos = local;
CheckTootipArea(local);
}
diff --git a/Runtime/Internal/CoordinateChart.cs b/Runtime/Internal/CoordinateChart.cs
index fc25a548..5c35b927 100644
--- a/Runtime/Internal/CoordinateChart.cs
+++ b/Runtime/Internal/CoordinateChart.cs
@@ -154,14 +154,14 @@ namespace XCharts
if (!xAxis.show && !yAxis.show) continue;
if (isCartesian && xAxis.show && yAxis.show)
{
- var yRate = (yAxis.maxValue - yAxis.minValue) / coordinateHeight;
- var xRate = (xAxis.maxValue - xAxis.minValue) / coordinateWidth;
- var yValue = yRate * (local.y - coordinateY - yAxis.zeroYOffset);
- if (yAxis.minValue > 0) yValue += yAxis.minValue;
- m_Tooltip.yValues[i] = yValue;
- var xValue = xRate * (local.x - coordinateX - xAxis.zeroXOffset);
- if (xAxis.minValue > 0) xValue += xAxis.minValue;
- m_Tooltip.xValues[i] = xValue;
+ var yRate = (yAxis.runtimeMaxValue - yAxis.runtimeMinValue) / coordinateHeight;
+ var xRate = (xAxis.runtimeMaxValue - xAxis.runtimeMinValue) / coordinateWidth;
+ var yValue = yRate * (local.y - coordinateY - yAxis.runtimeZeroYOffset);
+ if (yAxis.runtimeMinValue > 0) yValue += yAxis.runtimeMinValue;
+ m_Tooltip.runtimeYValues[i] = yValue;
+ var xValue = xRate * (local.x - coordinateX - xAxis.runtimeZeroXOffset);
+ if (xAxis.runtimeMinValue > 0) xValue += xAxis.runtimeMinValue;
+ m_Tooltip.runtimeXValues[i] = xValue;
for (int j = 0; j < m_Series.Count; j++)
{
@@ -175,7 +175,7 @@ namespace XCharts
if (Mathf.Abs(xValue - xdata) / xRate < symbolSize
&& Mathf.Abs(yValue - ydata) / yRate < symbolSize)
{
- m_Tooltip.dataIndex[i] = n;
+ m_Tooltip.runtimeDataIndex[i] = n;
serieData.highlighted = true;
}
else
@@ -195,8 +195,8 @@ namespace XCharts
if ((xAxis.boundaryGap && (local.x > pX && local.x <= pX + splitWid)) ||
(!xAxis.boundaryGap && (local.x > pX - splitWid / 2 && local.x <= pX + splitWid / 2)))
{
- m_Tooltip.xValues[i] = j;
- m_Tooltip.dataIndex[i] = j;
+ m_Tooltip.runtimeXValues[i] = j;
+ m_Tooltip.runtimeDataIndex[i] = j;
break;
}
}
@@ -207,16 +207,16 @@ namespace XCharts
if ((yAxis.boundaryGap && (local.y > pY && local.y <= pY + splitWid)) ||
(!yAxis.boundaryGap && (local.y > pY - splitWid / 2 && local.y <= pY + splitWid / 2)))
{
- m_Tooltip.yValues[i] = j;
+ m_Tooltip.runtimeYValues[i] = j;
break;
}
}
}
else if (xAxis.IsCategory())
{
- var value = (yAxis.maxValue - yAxis.minValue) * (local.y - coordinateY - yAxis.zeroYOffset) / coordinateHeight;
- if (yAxis.minValue > 0) value += yAxis.minValue;
- m_Tooltip.yValues[i] = value;
+ var value = (yAxis.runtimeMaxValue - yAxis.runtimeMinValue) * (local.y - coordinateY - yAxis.runtimeZeroYOffset) / coordinateHeight;
+ if (yAxis.runtimeMinValue > 0) value += yAxis.runtimeMinValue;
+ m_Tooltip.runtimeYValues[i] = value;
for (int j = 0; j < xAxis.GetDataNumber(m_DataZoom); j++)
{
float splitWid = xAxis.GetDataWidth(coordinateWidth, dataCount, m_DataZoom);
@@ -224,17 +224,17 @@ namespace XCharts
if ((xAxis.boundaryGap && (local.x > pX && local.x <= pX + splitWid)) ||
(!xAxis.boundaryGap && (local.x > pX - splitWid / 2 && local.x <= pX + splitWid / 2)))
{
- m_Tooltip.xValues[i] = j;
- m_Tooltip.dataIndex[i] = j;
+ m_Tooltip.runtimeXValues[i] = j;
+ m_Tooltip.runtimeDataIndex[i] = j;
break;
}
}
}
else if (yAxis.IsCategory())
{
- var value = (xAxis.maxValue - xAxis.minValue) * (local.x - coordinateX - xAxis.zeroXOffset) / coordinateWidth;
- if (xAxis.minValue > 0) value += xAxis.minValue;
- m_Tooltip.xValues[i] = value;
+ var value = (xAxis.runtimeMaxValue - xAxis.runtimeMinValue) * (local.x - coordinateX - xAxis.runtimeZeroXOffset) / coordinateWidth;
+ if (xAxis.runtimeMinValue > 0) value += xAxis.runtimeMinValue;
+ m_Tooltip.runtimeXValues[i] = value;
for (int j = 0; j < yAxis.GetDataNumber(m_DataZoom); j++)
{
float splitWid = yAxis.GetDataWidth(coordinateHeight, dataCount, m_DataZoom);
@@ -242,8 +242,8 @@ namespace XCharts
if ((yAxis.boundaryGap && (local.y > pY && local.y <= pY + splitWid)) ||
(!yAxis.boundaryGap && (local.y > pY - splitWid / 2 && local.y <= pY + splitWid / 2)))
{
- m_Tooltip.yValues[i] = j;
- m_Tooltip.dataIndex[i] = j;
+ m_Tooltip.runtimeYValues[i] = j;
+ m_Tooltip.runtimeDataIndex[i] = j;
break;
}
}
@@ -276,17 +276,17 @@ namespace XCharts
bool isCartesian = IsValue();
if (isCartesian)
{
- index = m_Tooltip.dataIndex[0];
+ index = m_Tooltip.runtimeDataIndex[0];
tempAxis = m_XAxises[0];
}
else if (m_XAxises[0].type == Axis.AxisType.Value)
{
- index = (int)m_Tooltip.yValues[0];
+ index = (int)m_Tooltip.runtimeYValues[0];
tempAxis = m_YAxises[0];
}
else
{
- index = (int)m_Tooltip.xValues[0];
+ index = (int)m_Tooltip.runtimeXValues[0];
tempAxis = m_XAxises[0];
}
if (index < 0)
@@ -341,13 +341,13 @@ namespace XCharts
m_Tooltip.UpdateContentText(m_Tooltip.GetFormatterContent(index, m_Series, category, m_DataZoom));
}
var pos = m_Tooltip.GetContentPos();
- if (pos.x + m_Tooltip.width > chartWidth)
+ if (pos.x + m_Tooltip.runtimeWidth > chartWidth)
{
- pos.x = chartWidth - m_Tooltip.width;
+ pos.x = chartWidth - m_Tooltip.runtimeWidth;
}
- if (pos.y - m_Tooltip.height < 0)
+ if (pos.y - m_Tooltip.runtimeHeight < 0)
{
- pos.y = m_Tooltip.height;
+ pos.y = m_Tooltip.runtimeHeight;
}
m_Tooltip.UpdateContentPos(pos);
m_Tooltip.SetActive(true);
@@ -375,14 +375,14 @@ namespace XCharts
var diff = axisIndex > 0 ? -axis.axisLabel.fontSize - axis.axisLabel.margin - 3.5f : axis.axisLabel.margin / 2 + 1;
if (axis.IsValue())
{
- labelText = ChartCached.FloatToStr(m_Tooltip.xValues[axisIndex], 2);
- labelPos = new Vector2(m_Tooltip.pointerPos.x, posY - diff);
+ labelText = ChartCached.FloatToStr(m_Tooltip.runtimeXValues[axisIndex], 2);
+ labelPos = new Vector2(m_Tooltip.runtimePointerPos.x, posY - diff);
}
else
{
- labelText = axis.GetData((int)m_Tooltip.xValues[axisIndex], m_DataZoom);
+ labelText = axis.GetData((int)m_Tooltip.runtimeXValues[axisIndex], m_DataZoom);
float splitWidth = axis.GetSplitWidth(coordinateWidth, m_DataZoom);
- int index = (int)m_Tooltip.xValues[axisIndex];
+ int index = (int)m_Tooltip.runtimeXValues[axisIndex];
float px = coordinateX + index * splitWidth + (axis.boundaryGap ? splitWidth / 2 : 0) + 0.5f;
labelPos = new Vector2(px, posY - diff);
}
@@ -393,14 +393,14 @@ namespace XCharts
var diff = axisIndex > 0 ? -axis.axisLabel.margin + 3 : axis.axisLabel.margin - 3;
if (axis.IsValue())
{
- labelText = ChartCached.FloatToStr(m_Tooltip.yValues[axisIndex], 2);
- labelPos = new Vector2(posX - diff, m_Tooltip.pointerPos.y);
+ labelText = ChartCached.FloatToStr(m_Tooltip.runtimeYValues[axisIndex], 2);
+ labelPos = new Vector2(posX - diff, m_Tooltip.runtimePointerPos.y);
}
else
{
- labelText = axis.GetData((int)m_Tooltip.yValues[axisIndex], m_DataZoom);
+ labelText = axis.GetData((int)m_Tooltip.runtimeYValues[axisIndex], m_DataZoom);
float splitWidth = axis.GetSplitWidth(coordinateHeight, m_DataZoom);
- int index = (int)m_Tooltip.yValues[axisIndex];
+ int index = (int)m_Tooltip.runtimeYValues[axisIndex];
float py = coordinateY + index * splitWidth + (axis.boundaryGap ? splitWidth / 2 : 0);
labelPos = new Vector2(posX - diff, py);
}
@@ -439,8 +439,8 @@ namespace XCharts
m_YAxises.Add(axis1);
m_YAxises.Add(axis2);
}
- foreach (var axis in m_XAxises) axis.minValue = axis.maxValue = 0;
- foreach (var axis in m_YAxises) axis.minValue = axis.maxValue = 0;
+ foreach (var axis in m_XAxises) axis.runtimeMinValue = axis.runtimeMaxValue = 0;
+ foreach (var axis in m_YAxises) axis.runtimeMinValue = axis.runtimeMaxValue = 0;
}
private void InitAxisY()
@@ -462,7 +462,7 @@ namespace XCharts
axisObj.transform.localPosition = Vector3.zero;
axisObj.SetActive(yAxis.show && yAxis.axisLabel.show);
ChartHelper.HideAllObject(axisObj);
- if (yAxis.IsValue() && yAxis.minValue == 0 && yAxis.maxValue == 0) return;
+ if (yAxis.IsValue() && yAxis.runtimeMinValue == 0 && yAxis.runtimeMaxValue == 0) return;
var labelColor = yAxis.axisLabel.color == Color.clear ?
(Color)m_ThemeInfo.axisTextColor :
yAxis.axisLabel.color;
@@ -491,7 +491,7 @@ namespace XCharts
txt.transform.localPosition = GetLabelYPosition(totalWidth + (yAxis.boundaryGap ? labelWidth / 2 : 0), i, yAxisIndex, yAxis);
var isPercentStack = m_Series.IsPercentStack(SerieType.Bar);
- txt.text = yAxis.GetLabelName(coordinateHeight, i, yAxis.minValue, yAxis.maxValue, m_DataZoom, isPercentStack);
+ txt.text = yAxis.GetLabelName(coordinateHeight, i, yAxis.runtimeMinValue, yAxis.runtimeMaxValue, m_DataZoom, isPercentStack);
txt.gameObject.SetActive(yAxis.show &&
(yAxis.axisLabel.interval == 0 || i % (yAxis.axisLabel.interval + 1) == 0));
yAxis.axisLabelTextList.Add(txt);
@@ -504,7 +504,7 @@ namespace XCharts
var fontSize = yAxis.axisName.fontSize;
var offset = yAxis.axisName.offset;
Text axisName = null;
- var zeroPos = new Vector3(coordinateX + m_XAxises[yAxisIndex].zeroXOffset, coordinateY);
+ var zeroPos = new Vector3(coordinateX + m_XAxises[yAxisIndex].runtimeZeroXOffset, coordinateY);
switch (yAxis.axisName.location)
{
case AxisName.Location.Start:
@@ -538,10 +538,10 @@ namespace XCharts
axisName.text = yAxis.axisName.name;
}
//init tooltip label
- if (m_Tooltip.gameObject)
+ if (m_Tooltip.runtimeGameObject)
{
Vector2 privot = yAxisIndex > 0 ? new Vector2(0, 0.5f) : new Vector2(1, 0.5f);
- var labelParent = m_Tooltip.gameObject.transform;
+ var labelParent = m_Tooltip.runtimeGameObject.transform;
GameObject labelObj = ChartHelper.AddTooltipLabel(objName + "_label", labelParent, m_ThemeInfo.font, privot);
yAxis.SetTooltipLabel(labelObj);
yAxis.SetTooltipLabelColor(m_ThemeInfo.tooltipBackgroundColor, m_ThemeInfo.tooltipTextColor);
@@ -567,7 +567,7 @@ namespace XCharts
axisObj.transform.localPosition = Vector3.zero;
axisObj.SetActive(xAxis.show && xAxis.axisLabel.show);
ChartHelper.HideAllObject(axisObj);
- if (xAxis.IsValue() && xAxis.minValue == 0 && xAxis.maxValue == 0) return;
+ if (xAxis.IsValue() && xAxis.runtimeMinValue == 0 && xAxis.runtimeMaxValue == 0) return;
var labelColor = xAxis.axisLabel.color == Color.clear ?
(Color)m_ThemeInfo.axisTextColor :
xAxis.axisLabel.color;
@@ -586,7 +586,7 @@ namespace XCharts
i, xAxisIndex, xAxis);
totalWidth += labelWidth;
var isPercentStack = m_Series.IsPercentStack(SerieType.Bar);
- txt.text = xAxis.GetLabelName(coordinateWidth, i, xAxis.minValue, xAxis.maxValue, m_DataZoom, isPercentStack);
+ txt.text = xAxis.GetLabelName(coordinateWidth, i, xAxis.runtimeMinValue, xAxis.runtimeMaxValue, m_DataZoom, isPercentStack);
txt.gameObject.SetActive(xAxis.show &&
(xAxis.axisLabel.interval == 0 || i % (xAxis.axisLabel.interval + 1) == 0));
xAxis.axisLabelTextList.Add(txt);
@@ -598,7 +598,7 @@ namespace XCharts
var fontSize = xAxis.axisName.fontSize;
var offset = xAxis.axisName.offset;
Text axisName = null;
- var zeroPos = new Vector3(coordinateX, coordinateY + m_YAxises[xAxisIndex].zeroYOffset);
+ var zeroPos = new Vector3(coordinateX, coordinateY + m_YAxises[xAxisIndex].runtimeZeroYOffset);
switch (xAxis.axisName.location)
{
case AxisName.Location.Start:
@@ -631,10 +631,10 @@ namespace XCharts
}
axisName.text = xAxis.axisName.name;
}
- if (m_Tooltip.gameObject)
+ if (m_Tooltip.runtimeGameObject)
{
Vector2 privot = xAxisIndex > 0 ? new Vector2(0.5f, 1) : new Vector2(0.5f, 1);
- var labelParent = m_Tooltip.gameObject.transform;
+ var labelParent = m_Tooltip.runtimeGameObject.transform;
GameObject labelObj = ChartHelper.AddTooltipLabel(ChartHelper.Cancat(objName, "_label"), labelParent, m_ThemeInfo.font, privot);
xAxis.SetTooltipLabel(labelObj);
xAxis.SetTooltipLabelColor(m_ThemeInfo.tooltipBackgroundColor, m_ThemeInfo.tooltipTextColor);
@@ -648,12 +648,14 @@ namespace XCharts
chartAnchorMax, chartPivot, new Vector2(chartWidth, chartHeight));
dataZoomObject.transform.localPosition = Vector3.zero;
ChartHelper.HideAllObject(dataZoomObject);
- m_DataZoom.startLabel = ChartHelper.AddTextObject(s_DefaultDataZoom + "start",
+ var startLabel = ChartHelper.AddTextObject(s_DefaultDataZoom + "start",
dataZoomObject.transform, m_ThemeInfo.font, m_ThemeInfo.dataZoomTextColor, TextAnchor.MiddleRight,
Vector2.zero, Vector2.zero, new Vector2(1, 0.5f), new Vector2(200, 20), m_DataZoom.fontSize, 0, m_DataZoom.fontStyle);
- m_DataZoom.endLabel = ChartHelper.AddTextObject(s_DefaultDataZoom + "end",
+ var endLabel = ChartHelper.AddTextObject(s_DefaultDataZoom + "end",
dataZoomObject.transform, m_ThemeInfo.font, m_ThemeInfo.dataZoomTextColor, TextAnchor.MiddleLeft,
Vector2.zero, Vector2.zero, new Vector2(0, 0.5f), new Vector2(200, 20), m_DataZoom.fontSize, 0, m_DataZoom.fontStyle);
+ m_DataZoom.SetStartLabel(startLabel);
+ m_DataZoom.SetEndLabel(endLabel);
m_DataZoom.SetLabelActive(false);
CheckRaycastTarget();
var xAxis = m_XAxises[m_DataZoom.xAxisIndex];
@@ -786,26 +788,26 @@ namespace XCharts
m_Series.GetYMinMaxValue(m_DataZoom, axisIndex, false, out tempMinValue, out tempMaxValue);
}
axis.AdjustMinMaxValue(ref tempMinValue, ref tempMaxValue);
- if (tempMinValue != axis.minValue || tempMaxValue != axis.maxValue)
+ if (tempMinValue != axis.runtimeMinValue || tempMaxValue != axis.runtimeMaxValue)
{
m_CheckMinMaxValue = true;
- axis.minValue = tempMinValue;
- axis.maxValue = tempMaxValue;
- axis.zeroXOffset = 0;
- axis.zeroYOffset = 0;
+ axis.runtimeMinValue = tempMinValue;
+ axis.runtimeMaxValue = tempMaxValue;
+ axis.runtimeZeroXOffset = 0;
+ axis.runtimeZeroYOffset = 0;
if (tempMinValue != 0 || tempMaxValue != 0)
{
if (axis is XAxis && axis.IsValue())
{
- axis.zeroXOffset = axis.minValue > 0 ? 0 :
- axis.maxValue < 0 ? this.coordinateWidth :
- Mathf.Abs(axis.minValue) * (this.coordinateWidth / (Mathf.Abs(axis.minValue) + Mathf.Abs(axis.maxValue)));
+ axis.runtimeZeroXOffset = axis.runtimeMinValue > 0 ? 0 :
+ axis.runtimeMaxValue < 0 ? this.coordinateWidth :
+ Mathf.Abs(axis.runtimeMinValue) * (this.coordinateWidth / (Mathf.Abs(axis.runtimeMinValue) + Mathf.Abs(axis.runtimeMaxValue)));
}
if (axis is YAxis && axis.IsValue())
{
- axis.zeroYOffset = axis.minValue > 0 ? 0 :
- axis.maxValue < 0 ? coordinateHeight :
- Mathf.Abs(axis.minValue) * (coordinateHeight / (Mathf.Abs(axis.minValue) + Mathf.Abs(axis.maxValue)));
+ axis.runtimeZeroYOffset = axis.runtimeMinValue > 0 ? 0 :
+ axis.runtimeMaxValue < 0 ? coordinateHeight :
+ Mathf.Abs(axis.runtimeMinValue) * (coordinateHeight / (Mathf.Abs(axis.runtimeMinValue) + Mathf.Abs(axis.runtimeMaxValue)));
}
}
if (updateChart)
@@ -881,7 +883,7 @@ namespace XCharts
var size = yAxis.GetScaleNumber(coordinateWidth, m_DataZoom);
var totalWidth = coordinateY;
var xAxis = m_XAxises[yAxisIndex];
- var zeroPos = new Vector3(coordinateX + xAxis.zeroXOffset, coordinateY + yAxis.zeroYOffset);
+ var zeroPos = new Vector3(coordinateX + xAxis.runtimeZeroXOffset, coordinateY + yAxis.runtimeZeroYOffset);
for (int i = 0; i < size; i++)
{
var scaleWidth = yAxis.GetScaleWidth(coordinateHeight, i, m_DataZoom);
@@ -901,7 +903,7 @@ namespace XCharts
}
if (yAxis.axisTick.show)
{
- var startX = coordinateX + m_XAxises[yAxisIndex].zeroXOffset;
+ var startX = coordinateX + m_XAxises[yAxisIndex].runtimeZeroXOffset;
if (yAxis.IsValue() && yAxisIndex > 0) startX += coordinateWidth;
bool inside = yAxis.axisTick.inside;
if ((inside && yAxisIndex == 0) || (!inside && yAxisIndex == 1))
@@ -935,7 +937,7 @@ namespace XCharts
var size = xAxis.GetScaleNumber(coordinateWidth, m_DataZoom);
var totalWidth = coordinateX;
var yAxis = m_YAxises[xAxisIndex];
- var zeroPos = new Vector3(coordinateX, coordinateY + yAxis.zeroYOffset);
+ var zeroPos = new Vector3(coordinateX, coordinateY + yAxis.runtimeZeroYOffset);
for (int i = 0; i < size; i++)
{
var scaleWidth = xAxis.GetScaleWidth(coordinateWidth, i, m_DataZoom);
@@ -955,7 +957,7 @@ namespace XCharts
}
if (xAxis.axisTick.show)
{
- var startY = coordinateY + m_YAxises[xAxisIndex].zeroYOffset;
+ var startY = coordinateY + m_YAxises[xAxisIndex].runtimeZeroYOffset;
if (xAxis.IsValue() && xAxisIndex > 0) startY += coordinateHeight;
bool inside = xAxis.axisTick.inside;
if ((inside && xAxisIndex == 0) || (!inside && xAxisIndex == 1))
@@ -986,7 +988,7 @@ namespace XCharts
{
if (xAxis.show && xAxis.axisLine.show)
{
- var lineY = coordinateY + (xAxis.axisLine.onZero ? m_YAxises[xAxisIndex].zeroYOffset : 0);
+ var lineY = coordinateY + (xAxis.axisLine.onZero ? m_YAxises[xAxisIndex].runtimeZeroYOffset : 0);
if (xAxis.IsValue() && xAxisIndex > 0) lineY += coordinateHeight;
var left = new Vector3(coordinateX - xAxis.axisLine.width, lineY);
var top = new Vector3(coordinateX + coordinateWidth + xAxis.axisLine.width, lineY);
@@ -1004,7 +1006,7 @@ namespace XCharts
{
if (yAxis.show && yAxis.axisLine.show)
{
- var lineX = coordinateX + (yAxis.axisLine.onZero ? m_XAxises[yAxisIndex].zeroXOffset : 0);
+ var lineX = coordinateX + (yAxis.axisLine.onZero ? m_XAxises[yAxisIndex].runtimeZeroXOffset : 0);
if (yAxis.IsValue() && yAxisIndex > 0) lineX += coordinateWidth;
var top = new Vector3(lineX, coordinateY + coordinateHeight + yAxis.axisLine.width);
ChartDrawer.DrawLine(vh, new Vector3(lineX, coordinateY - yAxis.axisLine.width),
@@ -1056,8 +1058,8 @@ namespace XCharts
{
float value = SampleValue(ref showData, serie.sampleType, rate, serie.minShow, maxCount, totalAverage, i);
float pX = coordinateX + i * scaleWid;
- float dataHig = (axis.maxValue - axis.minValue) == 0 ? 0 :
- (value - axis.minValue) / (axis.maxValue - axis.minValue) * hig;
+ float dataHig = (axis.runtimeMaxValue - axis.runtimeMinValue) == 0 ? 0 :
+ (value - axis.runtimeMinValue) / (axis.runtimeMaxValue - axis.runtimeMinValue) * hig;
np = new Vector3(pX, m_DataZoom.bottom + dataHig);
if (i > 0)
{
@@ -1127,24 +1129,24 @@ namespace XCharts
{
case Tooltip.Type.Corss:
case Tooltip.Type.Line:
- float pX = coordinateX + m_Tooltip.xValues[i] * splitWidth
+ float pX = coordinateX + m_Tooltip.runtimeXValues[i] * splitWidth
+ (xAxis.boundaryGap ? splitWidth / 2 : 0);
- if (xAxis.IsValue()) pX = m_Tooltip.pointerPos.x;
+ if (xAxis.IsValue()) pX = m_Tooltip.runtimePointerPos.x;
Vector2 sp = new Vector2(pX, coordinateY);
Vector2 ep = new Vector2(pX, coordinateY + coordinateHeight);
DrawSplitLine(vh, xAxis, Axis.SplitLineType.Solid, sp, ep, m_ThemeInfo.tooltipLineColor);
if (m_Tooltip.type == Tooltip.Type.Corss)
{
- sp = new Vector2(coordinateX, m_Tooltip.pointerPos.y);
- ep = new Vector2(coordinateX + coordinateWidth, m_Tooltip.pointerPos.y);
+ sp = new Vector2(coordinateX, m_Tooltip.runtimePointerPos.y);
+ ep = new Vector2(coordinateX + coordinateWidth, m_Tooltip.runtimePointerPos.y);
DrawSplitLine(vh, yAxis, Axis.SplitLineType.Dashed, sp, ep, m_ThemeInfo.tooltipLineColor);
}
break;
case Tooltip.Type.Shadow:
float tooltipSplitWid = splitWidth < 1 ? 1 : splitWidth;
- pX = coordinateX + splitWidth * m_Tooltip.xValues[i] -
+ pX = coordinateX + splitWidth * m_Tooltip.runtimeXValues[i] -
(xAxis.boundaryGap ? 0 : splitWidth / 2);
- if (xAxis.IsValue()) pX = m_Tooltip.xValues[i];
+ if (xAxis.IsValue()) pX = m_Tooltip.runtimeXValues[i];
float pY = coordinateY + coordinateHeight;
Vector3 p1 = new Vector3(pX, coordinateY);
Vector3 p2 = new Vector3(pX, pY);
@@ -1172,21 +1174,21 @@ namespace XCharts
case Tooltip.Type.Corss:
case Tooltip.Type.Line:
- float pY = coordinateY + m_Tooltip.yValues[i] * splitWidth + (yAxis.boundaryGap ? splitWidth / 2 : 0);
+ float pY = coordinateY + m_Tooltip.runtimeYValues[i] * splitWidth + (yAxis.boundaryGap ? splitWidth / 2 : 0);
Vector2 sp = new Vector2(coordinateX, pY);
Vector2 ep = new Vector2(coordinateX + coordinateWidth, pY);
DrawSplitLine(vh, xAxis, Axis.SplitLineType.Solid, sp, ep, m_ThemeInfo.tooltipLineColor);
if (m_Tooltip.type == Tooltip.Type.Corss)
{
- sp = new Vector2(coordinateX, m_Tooltip.pointerPos.y);
- ep = new Vector2(coordinateX + coordinateWidth, m_Tooltip.pointerPos.y);
+ sp = new Vector2(coordinateX, m_Tooltip.runtimePointerPos.y);
+ ep = new Vector2(coordinateX + coordinateWidth, m_Tooltip.runtimePointerPos.y);
DrawSplitLine(vh, yAxis, Axis.SplitLineType.Dashed, sp, ep, m_ThemeInfo.tooltipLineColor);
}
break;
case Tooltip.Type.Shadow:
float tooltipSplitWid = splitWidth < 1 ? 1 : splitWidth;
float pX = coordinateX + coordinateWidth;
- pY = coordinateY + splitWidth * m_Tooltip.yValues[i] -
+ pY = coordinateY + splitWidth * m_Tooltip.runtimeYValues[i] -
(yAxis.boundaryGap ? 0 : splitWidth / 2);
Vector3 p1 = new Vector3(coordinateX, pY);
Vector3 p2 = new Vector3(coordinateX, pY + tooltipSplitWid);
@@ -1289,10 +1291,8 @@ namespace XCharts
var start = coordinateX + coordinateWidth * m_DataZoom.start / 100;
var end = coordinateX + coordinateWidth * m_DataZoom.end / 100;
var hig = m_DataZoom.GetHeight(grid.bottom);
- m_DataZoom.startLabel.transform.localPosition =
- new Vector3(start - 10, m_DataZoom.bottom + hig / 2);
- m_DataZoom.endLabel.transform.localPosition =
- new Vector3(end + 10, m_DataZoom.bottom + hig / 2);
+ m_DataZoom.UpdateStartLabelPosition(new Vector3(start - 10, m_DataZoom.bottom + hig / 2));
+ m_DataZoom.UpdateEndLabelPosition(new Vector3(end + 10, m_DataZoom.bottom + hig / 2));
}
}
@@ -1313,12 +1313,12 @@ namespace XCharts
if (isYAxis)
{
var xAxis = m_XAxises[serie.axisIndex];
- zeroPos = new Vector3(coordinateX + xAxis.zeroXOffset, coordinateY);
+ zeroPos = new Vector3(coordinateX + xAxis.runtimeZeroXOffset, coordinateY);
}
else
{
var yAxis = m_YAxises[serie.axisIndex];
- zeroPos = new Vector3(coordinateX, coordinateY + yAxis.zeroYOffset);
+ zeroPos = new Vector3(coordinateX, coordinateY + yAxis.runtimeZeroYOffset);
}
}
}
diff --git a/Runtime/Internal/CoordinateChart_DrawBar.cs b/Runtime/Internal/CoordinateChart_DrawBar.cs
index 6fefa517..8e20a161 100644
--- a/Runtime/Internal/CoordinateChart_DrawBar.cs
+++ b/Runtime/Internal/CoordinateChart_DrawBar.cs
@@ -50,7 +50,7 @@ namespace XCharts
seriesHig.Add(0);
}
float value = showData[i].data[1];
- float pX = seriesHig[i] + coordinateX + xAxis.zeroXOffset + yAxis.axisLine.width;
+ float pX = seriesHig[i] + coordinateX + xAxis.runtimeZeroXOffset + yAxis.axisLine.width;
float pY = coordinateY + +i * categoryWidth;
if (!yAxis.boundaryGap) pY -= categoryWidth / 2;
@@ -64,8 +64,8 @@ namespace XCharts
}
else
{
- valueTotal = xAxis.maxValue - xAxis.minValue;
- barHig = (xAxis.minValue > 0 ? value - xAxis.minValue : value)
+ valueTotal = xAxis.runtimeMaxValue - xAxis.runtimeMinValue;
+ barHig = (xAxis.runtimeMinValue > 0 ? value - xAxis.runtimeMinValue : value)
/ valueTotal * coordinateWidth;
seriesHig[i] += barHig;
}
@@ -160,7 +160,7 @@ namespace XCharts
}
float value = showData[i].data[1];
float pX = coordinateX + i * categoryWidth;
- float zeroY = coordinateY + yAxis.zeroYOffset;
+ float zeroY = coordinateY + yAxis.runtimeZeroYOffset;
if (!xAxis.boundaryGap) pX -= categoryWidth / 2;
float pY = seriesHig[i] + zeroY + xAxis.axisLine.width;
@@ -174,8 +174,8 @@ namespace XCharts
}
else
{
- valueTotal = yAxis.maxValue - yAxis.minValue;
- barHig = (yAxis.minValue > 0 ? value - yAxis.minValue : value)
+ valueTotal = yAxis.runtimeMaxValue - yAxis.runtimeMinValue;
+ barHig = (yAxis.runtimeMinValue > 0 ? value - yAxis.runtimeMinValue : value)
/ valueTotal * coordinateHeight;
seriesHig[i] += barHig;
}
diff --git a/Runtime/Internal/CoordinateChart_DrawHeatmap.cs b/Runtime/Internal/CoordinateChart_DrawHeatmap.cs
index a4afe6ee..859b2357 100644
--- a/Runtime/Internal/CoordinateChart_DrawHeatmap.cs
+++ b/Runtime/Internal/CoordinateChart_DrawHeatmap.cs
@@ -24,9 +24,9 @@ namespace XCharts
if (!RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform,
Input.mousePosition, canvas.worldCamera, out local))
{
- if (m_VisualMap.rtSelectedIndex >= 0)
+ if (m_VisualMap.runtimeSelectedIndex >= 0)
{
- m_VisualMap.rtSelectedIndex = -1;
+ m_VisualMap.runtimeSelectedIndex = -1;
RefreshChart();
}
return;
@@ -35,9 +35,9 @@ namespace XCharts
local.y < 0 || local.y > chartHeight ||
!m_VisualMap.IsInRangeRect(local, chartWidth, chartHeight))
{
- if (m_VisualMap.rtSelectedIndex >= 0)
+ if (m_VisualMap.runtimeSelectedIndex >= 0)
{
- m_VisualMap.rtSelectedIndex = -1;
+ m_VisualMap.runtimeSelectedIndex = -1;
RefreshChart();
}
return;
@@ -63,8 +63,8 @@ namespace XCharts
selectedIndex = m_VisualMap.GetIndex(value);
break;
}
- m_VisualMap.rtSelectedValue = value;
- m_VisualMap.rtSelectedIndex = selectedIndex;
+ m_VisualMap.runtimeSelectedValue = value;
+ m_VisualMap.runtimeSelectedIndex = selectedIndex;
RefreshChart();
}
@@ -161,8 +161,8 @@ namespace XCharts
}
if(animationIndex>= 0 && i> animationIndex) continue;
serieData.canShowLabel = true;
- var emphasis = (m_Tooltip.show && i == (int)m_Tooltip.xValues[0] && j == (int)m_Tooltip.yValues[0])
- || m_VisualMap.rtSelectedIndex > 0;
+ var emphasis = (m_Tooltip.show && i == (int)m_Tooltip.runtimeXValues[0] && j == (int)m_Tooltip.runtimeYValues[0])
+ || m_VisualMap.runtimeSelectedIndex > 0;
var rectWid = xWidth - 2 * borderWidth;
var rectHig = yWidth - 2 * borderWidth;
ChartDrawer.DrawPolygon(vh, pos, rectWid / 2, rectHig / 2, color);
@@ -199,10 +199,10 @@ namespace XCharts
var halfHig = m_VisualMap.itemHeight / 2;
var xRadius = 0f;
var yRadius = 0f;
- var splitNum = m_VisualMap.rtInRange.Count;
+ var splitNum = m_VisualMap.runtimeInRange.Count;
var splitWid = m_VisualMap.itemHeight / (splitNum - 1);
var isVertical = false;
- var colors = m_VisualMap.rtInRange;
+ var colors = m_VisualMap.runtimeInRange;
var triangeLen = m_Settings.visualMapTriangeLen;
switch (m_VisualMap.orient)
{
@@ -215,13 +215,13 @@ namespace XCharts
isVertical = false;
if (m_VisualMap.calculable)
{
- var p0 = pos1 + Vector3.right * m_VisualMap.rangeMinHeight;
+ var p0 = pos1 + Vector3.right * m_VisualMap.runtimeRangeMinHeight;
var p1 = p0 + Vector3.up * halfWid;
var p2 = p0 + Vector3.up * (halfWid + triangeLen);
var p3 = p2 + Vector3.left * triangeLen;
var color = m_VisualMap.GetColor(m_VisualMap.rangeMin);
ChartDrawer.DrawTriangle(vh, p1, p2, p3, color);
- p0 = pos1 + Vector3.right * m_VisualMap.rangeMaxHeight;
+ p0 = pos1 + Vector3.right * m_VisualMap.runtimeRangeMaxHeight;
p1 = p0 + Vector3.up * halfWid;
p2 = p0 + Vector3.up * (halfWid + triangeLen);
p3 = p2 + Vector3.right * triangeLen;
@@ -238,13 +238,13 @@ namespace XCharts
isVertical = true;
if (m_VisualMap.calculable)
{
- var p0 = pos1 + Vector3.up * m_VisualMap.rangeMinHeight;
+ var p0 = pos1 + Vector3.up * m_VisualMap.runtimeRangeMinHeight;
var p1 = p0 + Vector3.right * halfWid;
var p2 = p0 + Vector3.right * (halfWid + triangeLen);
var p3 = p2 + Vector3.down * triangeLen;
var color = m_VisualMap.GetColor(m_VisualMap.rangeMin);
ChartDrawer.DrawTriangle(vh, p1, p2, p3, color);
- p0 = pos1 + Vector3.up * m_VisualMap.rangeMaxHeight;
+ p0 = pos1 + Vector3.up * m_VisualMap.runtimeRangeMaxHeight;
p1 = p0 + Vector3.right * halfWid;
p2 = p0 + Vector3.right * (halfWid + triangeLen);
p3 = p2 + Vector3.up * triangeLen;
@@ -276,7 +276,7 @@ namespace XCharts
}
else if (rangeMin > splitMin && rangeMax >= splitMax)
{
- var p0 = pos1 + dir * m_VisualMap.rangeMinHeight;
+ var p0 = pos1 + dir * m_VisualMap.runtimeRangeMinHeight;
var splitMaxPos = pos1 + dir * i * splitWid;
var splitPos = p0 + (splitMaxPos - p0) / 2;
var startColor = m_VisualMap.GetColor(m_VisualMap.rangeMin);
@@ -289,7 +289,7 @@ namespace XCharts
}
else if (rangeMax < splitMax && rangeMin <= splitMin)
{
- var p0 = pos1 + dir * m_VisualMap.rangeMaxHeight;
+ var p0 = pos1 + dir * m_VisualMap.runtimeRangeMaxHeight;
var splitMinPos = pos1 + dir * (i - 1) * splitWid;
var splitPos = splitMinPos + (p0 - splitMinPos) / 2;
var startColor = colors[i - 1];
@@ -302,8 +302,8 @@ namespace XCharts
}
else
{
- var p0 = pos1 + dir * m_VisualMap.rangeMinHeight;
- var p1 = pos1 + dir * m_VisualMap.rangeMaxHeight;
+ var p0 = pos1 + dir * m_VisualMap.runtimeRangeMinHeight;
+ var p1 = pos1 + dir * m_VisualMap.runtimeRangeMaxHeight;
var splitPos = (p0 + p1) / 2;
var startColor = m_VisualMap.GetColor(m_VisualMap.rangeMin);
var toColor = m_VisualMap.GetColor(m_VisualMap.rangeMax);
@@ -328,38 +328,38 @@ namespace XCharts
if (m_VisualMap.rangeMin > m_VisualMap.min)
{
- var p0 = pos1 + dir * m_VisualMap.rangeMinHeight;
+ var p0 = pos1 + dir * m_VisualMap.runtimeRangeMinHeight;
ChartDrawer.DrawPolygon(vh, pos1, p0, m_VisualMap.itemWidth / 2, m_ThemeInfo.visualMapBackgroundColor);
}
if (m_VisualMap.rangeMax < m_VisualMap.max)
{
- var p1 = pos1 + dir * m_VisualMap.rangeMaxHeight;
+ var p1 = pos1 + dir * m_VisualMap.runtimeRangeMaxHeight;
ChartDrawer.DrawPolygon(vh, p1, pos2, m_VisualMap.itemWidth / 2, m_ThemeInfo.visualMapBackgroundColor);
}
if (m_VisualMap.hoverLink)
{
- if (m_VisualMap.rtSelectedIndex >= 0)
+ if (m_VisualMap.runtimeSelectedIndex >= 0)
{
- var p0 = pos1 + dir * m_VisualMap.rangeMinHeight;
- var p1 = pos1 + dir * m_VisualMap.rangeMaxHeight;
+ var p0 = pos1 + dir * m_VisualMap.runtimeRangeMinHeight;
+ var p1 = pos1 + dir * m_VisualMap.runtimeRangeMaxHeight;
if (m_VisualMap.orient == Orient.Vertical)
{
var p2 = new Vector3(centerPos.x + halfWid, Mathf.Clamp(pointerPos.y + (triangeLen / 2), p0.y, p1.y));
var p3 = new Vector3(centerPos.x + halfWid, Mathf.Clamp(pointerPos.y - (triangeLen / 2), p0.y, p1.y));
var p4 = new Vector3(centerPos.x + halfWid + triangeLen / 2, pointerPos.y);
- ChartDrawer.DrawTriangle(vh, p2, p3, p4, colors[m_VisualMap.rtSelectedIndex]);
+ ChartDrawer.DrawTriangle(vh, p2, p3, p4, colors[m_VisualMap.runtimeSelectedIndex]);
}
else
{
var p2 = new Vector3(Mathf.Clamp(pointerPos.x + (triangeLen / 2), p0.x, p1.x), centerPos.y + halfWid);
var p3 = new Vector3(Mathf.Clamp(pointerPos.x - (triangeLen / 2), p0.x, p1.x), centerPos.y + halfWid);
var p4 = new Vector3(pointerPos.x, centerPos.y + halfWid + triangeLen / 2);
- ChartDrawer.DrawTriangle(vh, p2, p3, p4, colors[m_VisualMap.rtSelectedIndex]);
+ ChartDrawer.DrawTriangle(vh, p2, p3, p4, colors[m_VisualMap.runtimeSelectedIndex]);
}
}
- else if (m_Tooltip.show && m_Tooltip.xValues[0] >= 0 && m_Tooltip.yValues[0] >= 0)
+ else if (m_Tooltip.show && m_Tooltip.runtimeXValues[0] >= 0 && m_Tooltip.runtimeYValues[0] >= 0)
{
// var p0 = pos1 + dir * m_VisualMap.rangeMinHeight;
// var p1 = pos1 + dir * m_VisualMap.rangeMaxHeight;
diff --git a/Runtime/Internal/CoordinateChart_DrawLine.cs b/Runtime/Internal/CoordinateChart_DrawLine.cs
index fa0d56cc..329ee1b9 100644
--- a/Runtime/Internal/CoordinateChart_DrawLine.cs
+++ b/Runtime/Internal/CoordinateChart_DrawLine.cs
@@ -88,7 +88,7 @@ namespace XCharts
Vector3 lp = Vector3.zero, np = Vector3.zero, llp = Vector3.zero, nnp = Vector3.zero;
var yAxis = m_YAxises[serie.axisIndex];
var xAxis = m_XAxises[serie.axisIndex];
- var zeroPos = new Vector3(coordinateX, coordinateY + yAxis.zeroYOffset);
+ var zeroPos = new Vector3(coordinateX, coordinateY + yAxis.runtimeZeroYOffset);
var isStack = m_Series.IsStack(serie.stack, SerieType.Line);
if (!xAxis.show) xAxis = m_XAxises[(serie.axisIndex + 1) % m_XAxises.Count];
float scaleWid = xAxis.GetDataWidth(coordinateWidth, showData.Count, m_DataZoom);
@@ -168,7 +168,7 @@ namespace XCharts
serie.ClearSmoothList(i);
if (!serie.animation.NeedAnimation(i)) break;
bool isFinish = true;
- if (serie.areaStyle.tooltipHighlight && m_Tooltip.show && i <= m_Tooltip.dataIndex[0])
+ if (serie.areaStyle.tooltipHighlight && m_Tooltip.show && i <= m_Tooltip.runtimeDataIndex[0])
{
areaColor = highlightAreaColor;
areaToColor = highlightAreaToColor;
@@ -294,18 +294,18 @@ namespace XCharts
float xValue = i > showData.Count - 1 ? 0 : showData[i].data[0];
float pX = coordinateX + xAxis.axisLine.width;
float pY = serieHig + coordinateY + xAxis.axisLine.width;
- if ((xAxis.maxValue - xAxis.minValue) <= 0) xDataHig = 0;
- else xDataHig = (xValue - xAxis.minValue) / (xAxis.maxValue - xAxis.minValue) * coordinateWidth;
- if ((yAxis.maxValue - yAxis.minValue) <= 0) yDataHig = 0;
- else yDataHig = (yValue - yAxis.minValue) / (yAxis.maxValue - yAxis.minValue) * coordinateHeight;
+ if ((xAxis.runtimeMaxValue - xAxis.runtimeMinValue) <= 0) xDataHig = 0;
+ else xDataHig = (xValue - xAxis.runtimeMinValue) / (xAxis.runtimeMaxValue - xAxis.runtimeMinValue) * coordinateWidth;
+ if ((yAxis.runtimeMaxValue - yAxis.runtimeMinValue) <= 0) yDataHig = 0;
+ else yDataHig = (yValue - yAxis.runtimeMinValue) / (yAxis.runtimeMaxValue - yAxis.runtimeMinValue) * coordinateHeight;
np = new Vector3(pX + xDataHig, pY + yDataHig);
}
else
{
float pX = startX + i * scaleWid;
float pY = serieHig + coordinateY + yAxis.axisLine.width;
- if ((yAxis.maxValue - yAxis.minValue) <= 0) yDataHig = 0;
- else yDataHig = (yValue - yAxis.minValue) / (yAxis.maxValue - yAxis.minValue) * coordinateHeight;
+ if ((yAxis.runtimeMaxValue - yAxis.runtimeMinValue) <= 0) yDataHig = 0;
+ else yDataHig = (yValue - yAxis.runtimeMinValue) / (yAxis.runtimeMaxValue - yAxis.runtimeMinValue) * coordinateHeight;
np = new Vector3(pX, pY + yDataHig);
}
return yDataHig;
@@ -327,7 +327,7 @@ namespace XCharts
Color areaColor, areaToColor;
var xAxis = m_XAxises[serie.axisIndex];
var yAxis = m_YAxises[serie.axisIndex];
- var zeroPos = new Vector3(coordinateX + xAxis.zeroXOffset, coordinateY);
+ var zeroPos = new Vector3(coordinateX + xAxis.runtimeZeroXOffset, coordinateY);
var isStack = m_Series.IsStack(serie.stack, SerieType.Line);
if (!yAxis.show) yAxis = m_YAxises[(serie.axisIndex + 1) % m_YAxises.Count];
float scaleWid = yAxis.GetDataWidth(coordinateHeight, showData.Count, m_DataZoom);
@@ -356,7 +356,7 @@ namespace XCharts
float value = showData[i].data[1];
float pY = startY + i * scaleWid;
float pX = seriesHig[i] + coordinateX + yAxis.axisLine.width;
- float dataHig = (value - xAxis.minValue) / (xAxis.maxValue - xAxis.minValue) * coordinateWidth;
+ float dataHig = (value - xAxis.runtimeMinValue) / (xAxis.runtimeMaxValue - xAxis.runtimeMinValue) * coordinateWidth;
np = new Vector3(pX + dataHig, pY);
serie.dataPoints.Add(np);
seriesHig[i] += dataHig;
@@ -368,7 +368,7 @@ namespace XCharts
float value = showData[i].data[1];
float pY = startY + i * scaleWid;
float pX = seriesHig[i] + coordinateX + yAxis.axisLine.width;
- float dataHig = (value - xAxis.minValue) / (xAxis.maxValue - xAxis.minValue) * coordinateWidth;
+ float dataHig = (value - xAxis.runtimeMinValue) / (xAxis.runtimeMaxValue - xAxis.runtimeMinValue) * coordinateWidth;
np = new Vector3(pX + dataHig, pY);
serie.dataPoints.Add(np);
seriesHig[i] += dataHig;
@@ -384,7 +384,7 @@ namespace XCharts
serie.ClearSmoothList(i);
if (!serie.animation.NeedAnimation(i)) break;
bool isFinish = true;
- if (serie.areaStyle.tooltipHighlight && m_Tooltip.show && i < m_Tooltip.dataIndex[0])
+ if (serie.areaStyle.tooltipHighlight && m_Tooltip.show && i < m_Tooltip.runtimeDataIndex[0])
{
areaColor = highlightAreaColor;
areaToColor = highlightAreaToColor;
diff --git a/Runtime/Internal/CoordinateChart_DrawScatter.cs b/Runtime/Internal/CoordinateChart_DrawScatter.cs
index b6feb2c7..71f6a686 100644
--- a/Runtime/Internal/CoordinateChart_DrawScatter.cs
+++ b/Runtime/Internal/CoordinateChart_DrawScatter.cs
@@ -30,8 +30,8 @@ namespace XCharts
float yValue = serieData.data[1];
float pX = coordinateX + xAxis.axisLine.width;
float pY = coordinateY + yAxis.axisLine.width;
- float xDataHig = (xValue - xAxis.minValue) / (xAxis.maxValue - xAxis.minValue) * coordinateWidth;
- float yDataHig = (yValue - yAxis.minValue) / (yAxis.maxValue - yAxis.minValue) * coordinateHeight;
+ float xDataHig = (xValue - xAxis.runtimeMinValue) / (xAxis.runtimeMaxValue - xAxis.runtimeMinValue) * coordinateWidth;
+ float yDataHig = (yValue - yAxis.runtimeMinValue) / (yAxis.runtimeMaxValue - yAxis.runtimeMinValue) * coordinateHeight;
var pos = new Vector3(pX + xDataHig, pY + yDataHig);
var datas = serie.data[n].data;
diff --git a/Runtime/Internal/JsonDataSupport.cs b/Runtime/Internal/JsonDataSupport.cs
deleted file mode 100644
index 46b4b2e8..00000000
--- a/Runtime/Internal/JsonDataSupport.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-/******************************************/
-/* */
-/* Copyright (c) 2018 monitor1394 */
-/* https://github.com/monitor1394 */
-/* */
-/******************************************/
-
-using UnityEngine;
-using System;
-
-namespace XCharts
-{
- ///
- /// 支持从json格式的字符串中导入数据
- ///
- public class JsonDataSupport : IJsonData, ISerializationCallbackReceiver
- {
- [SerializeField] protected string m_JsonData;
- [SerializeField] protected bool m_DataFromJson;
-
- ///
- /// json格式的字符串数据
- ///
- ///
- public string jsonData { get { return m_JsonData; } set { m_JsonData = value; ParseJsonData(value); } }
-
- public void OnAfterDeserialize()
- {
- if (m_DataFromJson)
- {
- ParseJsonData(m_JsonData);
- m_DataFromJson = false;
- }
- }
-
- public void OnBeforeSerialize()
- {
- }
-
- public virtual void ParseJsonData(string json)
- {
- throw new Exception("no support yet");
- }
- }
-}
diff --git a/Runtime/Internal/JsonDataSupport.cs.meta b/Runtime/Internal/JsonDataSupport.cs.meta
deleted file mode 100644
index 5f64576a..00000000
--- a/Runtime/Internal/JsonDataSupport.cs.meta
+++ /dev/null
@@ -1,13 +0,0 @@
-fileFormatVersion: 2
-guid: 73e326ed8a76f90408bfa9feb1797433
-timeCreated: 1555379601
-licenseType: Free
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Runtime/Internal/ObjectPool.cs b/Runtime/Internal/ObjectPool.cs
index e53dad38..be2bde7b 100644
--- a/Runtime/Internal/ObjectPool.cs
+++ b/Runtime/Internal/ObjectPool.cs
@@ -11,7 +11,7 @@ using UnityEngine.Events;
namespace XCharts
{
- public class ObjectPool where T : new()
+ internal class ObjectPool where T : new()
{
private readonly Stack m_Stack = new Stack();
private readonly UnityAction m_ActionOnGet;
diff --git a/Runtime/PieChart.cs b/Runtime/PieChart.cs
index 50726fe5..a0226d6d 100644
--- a/Runtime/PieChart.cs
+++ b/Runtime/PieChart.cs
@@ -65,8 +65,8 @@ namespace XCharts
}
bool isFinish = true;
if (serie.pieClickOffset) isClickOffset = true;
- serie.pieDataMax = serie.yMax;
- serie.pieDataTotal = serie.yTotal;
+ serie.runtimePieDataMax = serie.yMax;
+ serie.runtimePieDataTotal = serie.yTotal;
UpdatePieCenter(serie);
float totalDegree = 360;
@@ -85,73 +85,73 @@ namespace XCharts
float value = serieData.data[1];
serieNameCount = m_LegendRealShowName.IndexOf(serieData.legendName);
Color color = m_ThemeInfo.GetColor(serieNameCount);
- serieData.pieStartAngle = startDegree;
- serieData.pieToAngle = startDegree;
- serieData.pieHalfAngle = startDegree;
- serieData.pieCurrAngle = startDegree;
+ serieData.runtimePieStartAngle = startDegree;
+ serieData.runtimePieToAngle = startDegree;
+ serieData.runtimePieHalfAngle = startDegree;
+ serieData.runtimePieCurrAngle = startDegree;
if (!serieData.show)
{
continue;
}
float degree = serie.pieRoseType == RoseType.Area ?
- (totalDegree / showdataCount) : (totalDegree * value / serie.pieDataTotal);
- serieData.pieToAngle = startDegree + degree;
+ (totalDegree / showdataCount) : (totalDegree * value / serie.runtimePieDataTotal);
+ serieData.runtimePieToAngle = startDegree + degree;
- serieData.pieOutsideRadius = serie.pieRoseType > 0 ?
- serie.pieInsideRadius + (serie.pieOutsideRadius - serie.pieInsideRadius) * value / serie.pieDataMax :
- serie.pieOutsideRadius;
+ serieData.runtimePieOutsideRadius = serie.pieRoseType > 0 ?
+ serie.runtimePieInsideRadius + (serie.runtimePieOutsideRadius - serie.runtimePieInsideRadius) * value / serie.runtimePieDataMax :
+ serie.runtimePieOutsideRadius;
if (serieData.highlighted)
{
isDataHighlight = true;
color *= 1.2f;
- serieData.pieOutsideRadius += m_Settings.pieTooltipExtraRadius;
+ serieData.runtimePieOutsideRadius += m_Settings.pieTooltipExtraRadius;
}
var offset = serie.pieSpace;
if (serie.pieClickOffset && serieData.selected)
{
offset += m_Settings.pieSelectedOffset;
}
- var halfDegree = (serieData.pieToAngle - startDegree) / 2;
- serieData.pieHalfAngle = startDegree + halfDegree;
- float currRad = serieData.pieHalfAngle * Mathf.Deg2Rad;
+ var halfDegree = (serieData.runtimePieToAngle - startDegree) / 2;
+ serieData.runtimePieHalfAngle = startDegree + halfDegree;
+ float currRad = serieData.runtimePieHalfAngle * Mathf.Deg2Rad;
float currSin = Mathf.Sin(currRad);
float currCos = Mathf.Cos(currRad);
- var center = serie.pieCenterPos;
+ var center = serie.runtimePieCenterPos;
- serieData.pieCurrAngle = serieData.pieToAngle;
- serieData.pieOffsetCenter = center;
- serieData.pieInsideRadius = serie.pieInsideRadius;
- if (serie.animation.CheckDetailBreak(n, serieData.pieToAngle))
+ serieData.runtimePieCurrAngle = serieData.runtimePieToAngle;
+ serieData.runtiemPieOffsetCenter = center;
+ serieData.runtimePieInsideRadius = serie.runtimePieInsideRadius;
+ if (serie.animation.CheckDetailBreak(n, serieData.runtimePieToAngle))
{
isFinish = false;
- serieData.pieCurrAngle = serie.animation.GetCurrDetail();
+ serieData.runtimePieCurrAngle = serie.animation.GetCurrDetail();
}
if (offset > 0)
{
- serieData.pieOffsetRadius = serie.pieSpace / Mathf.Sin(halfDegree * Mathf.Deg2Rad);
- serieData.pieInsideRadius -= serieData.pieOffsetRadius;
- serieData.pieOutsideRadius -= serieData.pieOffsetRadius;
+ serieData.runtimePieOffsetRadius = serie.pieSpace / Mathf.Sin(halfDegree * Mathf.Deg2Rad);
+ serieData.runtimePieInsideRadius -= serieData.runtimePieOffsetRadius;
+ serieData.runtimePieOutsideRadius -= serieData.runtimePieOffsetRadius;
if (serie.pieClickOffset && serieData.selected)
{
- serieData.pieOffsetRadius += m_Settings.pieSelectedOffset;
- if (serieData.pieInsideRadius > 0) serieData.pieInsideRadius += m_Settings.pieSelectedOffset;
- serieData.pieOutsideRadius += m_Settings.pieSelectedOffset;
+ serieData.runtimePieOffsetRadius += m_Settings.pieSelectedOffset;
+ if (serieData.runtimePieInsideRadius > 0) serieData.runtimePieInsideRadius += m_Settings.pieSelectedOffset;
+ serieData.runtimePieOutsideRadius += m_Settings.pieSelectedOffset;
}
- serieData.pieOffsetCenter = new Vector3(center.x + serieData.pieOffsetRadius * currSin,
- center.y + serieData.pieOffsetRadius * currCos);
+ serieData.runtiemPieOffsetCenter = new Vector3(center.x + serieData.runtimePieOffsetRadius * currSin,
+ center.y + serieData.runtimePieOffsetRadius * currCos);
- ChartDrawer.DrawDoughnut(vh, serieData.pieOffsetCenter, serieData.pieInsideRadius, serieData.pieOutsideRadius,
- color, m_ThemeInfo.backgroundColor, m_Settings.cicleSmoothness, startDegree, serieData.pieCurrAngle);
+ ChartDrawer.DrawDoughnut(vh, serieData.runtiemPieOffsetCenter, serieData.runtimePieInsideRadius, serieData.runtimePieOutsideRadius,
+ color, m_ThemeInfo.backgroundColor, m_Settings.cicleSmoothness, startDegree, serieData.runtimePieCurrAngle);
}
else
{
- ChartDrawer.DrawDoughnut(vh, center, serieData.pieInsideRadius, serieData.pieOutsideRadius,
- color, m_ThemeInfo.backgroundColor, m_Settings.cicleSmoothness, startDegree, serieData.pieCurrAngle);
+ ChartDrawer.DrawDoughnut(vh, center, serieData.runtimePieInsideRadius, serieData.runtimePieOutsideRadius,
+ color, m_ThemeInfo.backgroundColor, m_Settings.cicleSmoothness, startDegree, serieData.runtimePieCurrAngle);
}
- serieData.canShowLabel = serieData.pieCurrAngle >= serieData.pieHalfAngle;
+ serieData.canShowLabel = serieData.runtimePieCurrAngle >= serieData.runtimePieHalfAngle;
isDrawPie = true;
- startDegree = serieData.pieToAngle;
+ startDegree = serieData.runtimePieToAngle;
if (isFinish) serie.animation.SetDataFinish(n);
else break;
}
@@ -213,17 +213,17 @@ namespace XCharts
&& serie.label.position == SerieLabel.Position.Outside
&& serie.label.line)
{
- var insideRadius = serieData.pieInsideRadius;
- var outSideRadius = serieData.pieOutsideRadius;
- var center = serie.pieCenterPos;
- var currAngle = serieData.pieHalfAngle;
+ var insideRadius = serieData.runtimePieInsideRadius;
+ var outSideRadius = serieData.runtimePieOutsideRadius;
+ var center = serie.runtimePieCenterPos;
+ var currAngle = serieData.runtimePieHalfAngle;
if (serie.label.lineColor != Color.clear) color = serie.label.lineColor;
else if (serie.label.lineType == SerieLabel.LineType.HorizontalLine) color *= color;
float currSin = Mathf.Sin(currAngle * Mathf.Deg2Rad);
float currCos = Mathf.Cos(currAngle * Mathf.Deg2Rad);
var radius1 = serie.label.lineType == SerieLabel.LineType.HorizontalLine ?
- serie.pieOutsideRadius : outSideRadius;
- var radius2 = serie.pieOutsideRadius + serie.label.lineLength1;
+ serie.runtimePieOutsideRadius : outSideRadius;
+ var radius2 = serie.runtimePieOutsideRadius + serie.label.lineLength1;
var radius3 = insideRadius + (outSideRadius - insideRadius) / 2;
var pos0 = new Vector3(center.x + radius3 * currSin, center.y + radius3 * currCos);
var pos1 = new Vector3(center.x + radius1 * currSin, center.y + radius1 * currCos);
@@ -332,7 +332,7 @@ namespace XCharts
private void DrawLabel(Serie serie, int dataIndex, SerieData serieData, Color serieColor)
{
if (serieData.labelText == null) return;
- var currAngle = serieData.pieHalfAngle;
+ var currAngle = serieData.runtimePieHalfAngle;
var isHighlight = (serieData.highlighted && serie.emphasis.label.show);
var showLabel = ((serie.label.show || isHighlight) && serieData.canShowLabel);
if (showLabel || serieData.showIcon)
@@ -387,30 +387,30 @@ namespace XCharts
protected void UpdateLabelPostion(Serie serie, SerieData serieData)
{
- var currAngle = serieData.pieHalfAngle;
+ var currAngle = serieData.runtimePieHalfAngle;
var currRad = currAngle * Mathf.Deg2Rad;
- var offsetRadius = serieData.pieOffsetRadius;
- var insideRadius = serieData.pieInsideRadius;
- var outsideRadius = serieData.pieOutsideRadius;
+ var offsetRadius = serieData.runtimePieOffsetRadius;
+ var insideRadius = serieData.runtimePieInsideRadius;
+ var outsideRadius = serieData.runtimePieOutsideRadius;
switch (serie.label.position)
{
case SerieLabel.Position.Center:
- serieData.labelPosition = serie.pieCenterPos;
+ serieData.labelPosition = serie.runtimePieCenterPos;
break;
case SerieLabel.Position.Inside:
var labelRadius = offsetRadius + insideRadius + (outsideRadius - insideRadius) / 2;
- var labelCenter = new Vector2(serie.pieCenterPos.x + labelRadius * Mathf.Sin(currRad),
- serie.pieCenterPos.y + labelRadius * Mathf.Cos(currRad));
+ var labelCenter = new Vector2(serie.runtimePieCenterPos.x + labelRadius * Mathf.Sin(currRad),
+ serie.runtimePieCenterPos.y + labelRadius * Mathf.Cos(currRad));
serieData.labelPosition = labelCenter;
break;
case SerieLabel.Position.Outside:
if (serie.label.lineType == SerieLabel.LineType.HorizontalLine)
{
- var radius1 = serie.pieOutsideRadius;
+ var radius1 = serie.runtimePieOutsideRadius;
var radius3 = insideRadius + (outsideRadius - insideRadius) / 2;
var currSin = Mathf.Sin(currRad);
var currCos = Mathf.Cos(currRad);
- var pos0 = new Vector3(serie.pieCenterPos.x + radius3 * currSin, serie.pieCenterPos.y + radius3 * currCos);
+ var pos0 = new Vector3(serie.runtimePieCenterPos.x + radius3 * currSin, serie.runtimePieCenterPos.y + radius3 * currCos);
if (currAngle > 180)
{
currSin = Mathf.Sin((360 - currAngle) * Mathf.Deg2Rad);
@@ -423,9 +423,9 @@ namespace XCharts
}
else
{
- labelRadius = serie.pieOutsideRadius + serie.label.lineLength1;
- labelCenter = new Vector2(serie.pieCenterPos.x + labelRadius * Mathf.Sin(currRad),
- serie.pieCenterPos.y + labelRadius * Mathf.Cos(currRad));
+ labelRadius = serie.runtimePieOutsideRadius + serie.label.lineLength1;
+ labelCenter = new Vector2(serie.runtimePieCenterPos.x + labelRadius * Mathf.Sin(currRad),
+ serie.runtimePieCenterPos.y + labelRadius * Mathf.Cos(currRad));
float labelWidth = serieData.labelText.preferredWidth;
if (currAngle > 180)
{
@@ -467,21 +467,21 @@ namespace XCharts
if (serie.pieCenter.Length < 2) return;
var centerX = serie.pieCenter[0] <= 1 ? chartWidth * serie.pieCenter[0] : serie.pieCenter[0];
var centerY = serie.pieCenter[1] <= 1 ? chartHeight * serie.pieCenter[1] : serie.pieCenter[1];
- serie.pieCenterPos = new Vector2(centerX, centerY);
+ serie.runtimePieCenterPos = new Vector2(centerX, centerY);
var minWidth = Mathf.Min(chartWidth, chartHeight);
- serie.pieInsideRadius = serie.pieRadius[0] <= 1 ? minWidth * serie.pieRadius[0] : serie.pieRadius[0];
- serie.pieOutsideRadius = serie.pieRadius[1] <= 1 ? minWidth * serie.pieRadius[1] : serie.pieRadius[1];
+ serie.runtimePieInsideRadius = serie.pieRadius[0] <= 1 ? minWidth * serie.pieRadius[0] : serie.pieRadius[0];
+ serie.runtimePieOutsideRadius = serie.pieRadius[1] <= 1 ? minWidth * serie.pieRadius[1] : serie.pieRadius[1];
}
protected override void CheckTootipArea(Vector2 local)
{
if (m_IsEnterLegendButtom) return;
- m_Tooltip.dataIndex.Clear();
+ m_Tooltip.runtimeDataIndex.Clear();
bool selected = false;
foreach (var serie in m_Series.list)
{
int index = GetPosPieIndex(serie, local);
- m_Tooltip.dataIndex.Add(index);
+ m_Tooltip.runtimeDataIndex.Add(index);
if (serie.type != SerieType.Pie) continue;
bool refresh = false;
for (int j = 0; j < serie.data.Count; j++)
@@ -508,14 +508,14 @@ namespace XCharts
private int GetPosPieIndex(Serie serie, Vector2 local)
{
if (serie.type != SerieType.Pie) return -1;
- var dist = Vector2.Distance(local, serie.pieCenterPos);
- if (dist < serie.pieInsideRadius || dist > serie.pieOutsideRadius) return -1;
- Vector2 dir = local - new Vector2(serie.pieCenterPos.x, serie.pieCenterPos.y);
+ var dist = Vector2.Distance(local, serie.runtimePieCenterPos);
+ if (dist < serie.runtimePieInsideRadius || dist > serie.runtimePieOutsideRadius) return -1;
+ Vector2 dir = local - new Vector2(serie.runtimePieCenterPos.x, serie.runtimePieCenterPos.y);
float angle = VectorAngle(Vector2.up, dir);
for (int i = 0; i < serie.data.Count; i++)
{
var serieData = serie.data[i];
- if (angle >= serieData.pieStartAngle && angle <= serieData.pieToAngle)
+ if (angle >= serieData.runtimePieStartAngle && angle <= serieData.runtimePieToAngle)
{
return i;
}
@@ -541,7 +541,7 @@ namespace XCharts
bool showTooltip = false;
foreach (var serie in m_Series.list)
{
- int index = m_Tooltip.dataIndex[serie.index];
+ int index = m_Tooltip.runtimeDataIndex[serie.index];
if (index < 0) continue;
showTooltip = true;
if (string.IsNullOrEmpty(tooltip.formatter))
@@ -565,13 +565,13 @@ namespace XCharts
}
var pos = m_Tooltip.GetContentPos();
- if (pos.x + m_Tooltip.width > chartWidth)
+ if (pos.x + m_Tooltip.runtimeWidth > chartWidth)
{
- pos.x = chartWidth - m_Tooltip.width;
+ pos.x = chartWidth - m_Tooltip.runtimeWidth;
}
- if (pos.y - m_Tooltip.height < 0)
+ if (pos.y - m_Tooltip.runtimeHeight < 0)
{
- pos.y = m_Tooltip.height;
+ pos.y = m_Tooltip.runtimeHeight;
}
m_Tooltip.UpdateContentPos(pos);
}
diff --git a/Runtime/RadarChart.cs b/Runtime/RadarChart.cs
index 75b2eea0..b9f0169b 100644
--- a/Runtime/RadarChart.cs
+++ b/Runtime/RadarChart.cs
@@ -110,7 +110,7 @@ namespace XCharts
var indicator = radar.indicatorList[i];
var pos = radar.GetIndicatorPosition(i);
TextAnchor anchor = TextAnchor.MiddleCenter;
- var diff = pos.x - radar.centerPos.x;
+ var diff = pos.x - radar.runtimeCenterPos.x;
if (diff < -1f)
{
pos = new Vector3(pos.x - 5, pos.y);
@@ -124,7 +124,7 @@ namespace XCharts
else
{
anchor = TextAnchor.MiddleCenter;
- float y = pos.y > radar.centerPos.y ? pos.y + txtHig / 2 : pos.y - txtHig / 2;
+ float y = pos.y > radar.runtimeCenterPos.y ? pos.y + txtHig / 2 : pos.y - txtHig / 2;
pos = new Vector3(pos.x + txtWid / 2, y);
}
var textColor = indicator.color == Color.clear ? (Color)m_ThemeInfo.axisTextColor : indicator.color;
@@ -212,7 +212,7 @@ namespace XCharts
var radar = m_Radars[serie.radarIndex];
int indicatorNum = radar.indicatorList.Count;
var angle = 2 * Mathf.PI / indicatorNum;
- Vector3 p = radar.centerPos;
+ Vector3 p = radar.runtimeCenterPos;
serie.animation.InitProgress(1, 0, 1);
if (!IsActive(i))
{
@@ -223,13 +223,13 @@ namespace XCharts
{
var serieData = serie.data[j];
int key = i * 100 + j;
- if (!radar.dataPosList.ContainsKey(key))
+ if (!radar.runtimeDataPosList.ContainsKey(key))
{
- radar.dataPosList.Add(i * 100 + j, new List(serieData.data.Count));
+ radar.runtimeDataPosList.Add(i * 100 + j, new List(serieData.data.Count));
}
else
{
- radar.dataPosList[key].Clear();
+ radar.runtimeDataPosList[key].Clear();
}
string dataName = serieData.name;
int serieIndex = 0;
@@ -253,11 +253,11 @@ namespace XCharts
continue;
}
var isHighlight = serie.highlighted || serieData.highlighted ||
- (m_Tooltip.show && m_Tooltip.dataIndex[0] == i && m_Tooltip.dataIndex[1] == j);
+ (m_Tooltip.show && m_Tooltip.runtimeDataIndex[0] == i && m_Tooltip.runtimeDataIndex[1] == j);
var areaColor = serie.GetAreaColor(m_ThemeInfo, serieIndex, isHighlight);
var lineColor = serie.GetLineColor(m_ThemeInfo, serieIndex, isHighlight);
int dataCount = radar.indicatorList.Count;
- List pointList = radar.dataPosList[key];
+ List pointList = radar.runtimeDataPosList[key];
for (int n = 0; n < dataCount; n++)
{
if (n >= serieData.data.Count) break;
@@ -269,8 +269,8 @@ namespace XCharts
serie.GetMinMaxData(n, out min, out max);
min = radar.GetIndicatorMin(n);
}
- var radius = max < 0 ? radar.actualRadius - radar.actualRadius * value / max
- : radar.actualRadius * value / max;
+ var radius = max < 0 ? radar.runtimeRadius - radar.runtimeRadius * value / max
+ : radar.runtimeRadius * value / max;
var currAngle = n * angle;
radius *= rate;
if (n == 0)
@@ -331,10 +331,10 @@ namespace XCharts
return;
}
float insideRadius = 0, outsideRadius = 0;
- float block = radar.actualRadius / radar.splitNumber;
+ float block = radar.runtimeRadius / radar.splitNumber;
int indicatorNum = radar.indicatorList.Count;
Vector3 p1, p2, p3, p4;
- Vector3 p = radar.centerPos;
+ Vector3 p = radar.runtimeCenterPos;
float angle = 2 * Mathf.PI / indicatorNum;
var lineColor = GetLineColor(radar);
for (int i = 0; i < radar.splitNumber; i++)
@@ -382,9 +382,9 @@ namespace XCharts
return;
}
float insideRadius = 0, outsideRadius = 0;
- float block = radar.actualRadius / radar.splitNumber;
+ float block = radar.runtimeRadius / radar.splitNumber;
int indicatorNum = radar.indicatorList.Count;
- Vector3 p = radar.centerPos;
+ Vector3 p = radar.runtimeCenterPos;
Vector3 p1;
float angle = 2 * Mathf.PI / indicatorNum;
var lineColor = GetLineColor(radar);
@@ -443,23 +443,23 @@ namespace XCharts
if (!IsActive(i)) continue;
var serie = m_Series.GetSerie(i);
var radar = m_Radars[serie.radarIndex];
- var dist = Vector2.Distance(radar.centerPos, local);
- if (dist > radar.actualRadius + serie.symbol.size)
+ var dist = Vector2.Distance(radar.runtimeCenterPos, local);
+ if (dist > radar.runtimeRadius + serie.symbol.size)
{
continue;
}
for (int n = 0; n < serie.data.Count; n++)
{
var posKey = i * 100 + n;
- if (radar.dataPosList.ContainsKey(posKey))
+ if (radar.runtimeDataPosList.ContainsKey(posKey))
{
- var posList = radar.dataPosList[posKey];
+ var posList = radar.runtimeDataPosList[posKey];
foreach (var pos in posList)
{
if (Vector2.Distance(pos, local) <= serie.symbol.size * 1.2f)
{
- m_Tooltip.dataIndex[0] = i;
- m_Tooltip.dataIndex[1] = n;
+ m_Tooltip.runtimeDataIndex[0] = i;
+ m_Tooltip.runtimeDataIndex[1] = n;
highlight = true;
break;
}
@@ -487,7 +487,7 @@ namespace XCharts
protected override void RefreshTooltip()
{
base.RefreshTooltip();
- int serieIndex = m_Tooltip.dataIndex[0];
+ int serieIndex = m_Tooltip.runtimeDataIndex[0];
if (serieIndex < 0)
{
if (m_Tooltip.IsActive())
@@ -500,7 +500,7 @@ namespace XCharts
m_Tooltip.SetActive(true);
var serie = m_Series.GetSerie(serieIndex);
var radar = m_Radars[serie.radarIndex];
- var serieData = serie.GetSerieData(m_Tooltip.dataIndex[1]);
+ var serieData = serie.GetSerieData(m_Tooltip.runtimeDataIndex[1]);
StringBuilder sb = new StringBuilder(serieData.name);
for (int i = 0; i < radar.indicatorList.Count; i++)
{
@@ -511,13 +511,13 @@ namespace XCharts
}
m_Tooltip.UpdateContentText(sb.ToString());
var pos = m_Tooltip.GetContentPos();
- if (pos.x + m_Tooltip.width > chartWidth)
+ if (pos.x + m_Tooltip.runtimeWidth > chartWidth)
{
- pos.x = chartWidth - m_Tooltip.width;
+ pos.x = chartWidth - m_Tooltip.runtimeWidth;
}
- if (pos.y - m_Tooltip.height < 0)
+ if (pos.y - m_Tooltip.runtimeHeight < 0)
{
- pos.y = m_Tooltip.height;
+ pos.y = m_Tooltip.runtimeHeight;
}
m_Tooltip.UpdateContentPos(pos);
}
diff --git a/Runtime/Utility/ChartHelper.cs b/Runtime/Utility/ChartHelper.cs
index 4fb650a5..20243ff6 100644
--- a/Runtime/Utility/ChartHelper.cs
+++ b/Runtime/Utility/ChartHelper.cs
@@ -190,7 +190,7 @@ namespace XCharts
return btnObj.GetComponent