mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-25 10:20:10 +00:00
增加Bar可添加TitleStyle组件支持
This commit is contained in:
@@ -59,6 +59,7 @@ namespace XCharts.Runtime
|
|||||||
protected GameObject m_SerieRoot;
|
protected GameObject m_SerieRoot;
|
||||||
protected GameObject m_SerieLabelRoot;
|
protected GameObject m_SerieLabelRoot;
|
||||||
protected bool m_InitedLabel;
|
protected bool m_InitedLabel;
|
||||||
|
protected bool m_InitTitleLabel;
|
||||||
protected bool m_NeedInitComponent;
|
protected bool m_NeedInitComponent;
|
||||||
protected bool m_RefreshLabel;
|
protected bool m_RefreshLabel;
|
||||||
protected bool m_LastCheckContextFlag = false;
|
protected bool m_LastCheckContextFlag = false;
|
||||||
@@ -107,6 +108,7 @@ namespace XCharts.Runtime
|
|||||||
m_RefreshLabel = false;
|
m_RefreshLabel = false;
|
||||||
RefreshLabelInternal();
|
RefreshLabelInternal();
|
||||||
RefreshEndLabelInternal();
|
RefreshEndLabelInternal();
|
||||||
|
RefreshTitleLabelInternal();
|
||||||
}
|
}
|
||||||
if (serie.dataDirty)
|
if (serie.dataDirty)
|
||||||
{
|
{
|
||||||
@@ -241,6 +243,8 @@ namespace XCharts.Runtime
|
|||||||
public override void InitComponent()
|
public override void InitComponent()
|
||||||
{
|
{
|
||||||
m_InitedLabel = false;
|
m_InitedLabel = false;
|
||||||
|
m_InitTitleLabel = false;
|
||||||
|
|
||||||
serie.context.totalDataIndex = serie.dataCount - 1;
|
serie.context.totalDataIndex = serie.dataCount - 1;
|
||||||
InitRoot();
|
InitRoot();
|
||||||
InitSerieLabel();
|
InitSerieLabel();
|
||||||
@@ -445,6 +449,7 @@ namespace XCharts.Runtime
|
|||||||
var labelPosition = GetSerieDataTitlePosition(null, titleStyle);
|
var labelPosition = GetSerieDataTitlePosition(null, titleStyle);
|
||||||
var offset = titleStyle.GetOffset(serie.context.insideRadius);
|
var offset = titleStyle.GetOffset(serie.context.insideRadius);
|
||||||
label.SetPosition(labelPosition + offset);
|
label.SetPosition(labelPosition + offset);
|
||||||
|
m_InitTitleLabel = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -454,6 +459,7 @@ namespace XCharts.Runtime
|
|||||||
var serieData = serie.data[i];
|
var serieData = serie.data[i];
|
||||||
var titleStyle = SerieHelper.GetTitleStyle(serie, serieData);
|
var titleStyle = SerieHelper.GetTitleStyle(serie, serieData);
|
||||||
if (titleStyle == null) continue;
|
if (titleStyle == null) continue;
|
||||||
|
m_InitTitleLabel = true;
|
||||||
var color = chart.GetItemColor(serie, serieData);
|
var color = chart.GetItemColor(serie, serieData);
|
||||||
var content = string.Empty;
|
var content = string.Empty;
|
||||||
if (string.IsNullOrEmpty(titleStyle.formatter))
|
if (string.IsNullOrEmpty(titleStyle.formatter))
|
||||||
@@ -476,6 +482,34 @@ namespace XCharts.Runtime
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void RefreshTitleLabelInternal()
|
||||||
|
{
|
||||||
|
if (!m_InitTitleLabel) return;
|
||||||
|
if (serie.titleJustForSerie)
|
||||||
|
{
|
||||||
|
if (serie.context.titleObject != null)
|
||||||
|
{
|
||||||
|
var titleStyle = SerieHelper.GetTitleStyle(serie, null);
|
||||||
|
var labelPosition = GetSerieDataTitlePosition(null, titleStyle);
|
||||||
|
var offset = titleStyle.GetOffset(serie.context.insideRadius);
|
||||||
|
serie.context.titleObject.SetPosition(labelPosition + offset);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int i = 0; i < serie.dataCount; i++)
|
||||||
|
{
|
||||||
|
var serieData = serie.data[i];
|
||||||
|
if (serieData.titleObject == null) continue;
|
||||||
|
var titleStyle = SerieHelper.GetTitleStyle(serie, serieData);
|
||||||
|
if (titleStyle == null) continue;
|
||||||
|
var labelPosition = GetSerieDataTitlePosition(serieData, titleStyle);
|
||||||
|
var offset = titleStyle.GetOffset(serie.context.insideRadius);
|
||||||
|
serieData.titleObject.SetPosition(labelPosition + offset);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public override void RefreshLabelInternal()
|
public override void RefreshLabelInternal()
|
||||||
{
|
{
|
||||||
if (!m_InitedLabel)
|
if (!m_InitedLabel)
|
||||||
@@ -610,8 +644,8 @@ namespace XCharts.Runtime
|
|||||||
protected Vector3 UpdateLabelPosition(SerieData serieData, LabelStyle currLabel)
|
protected Vector3 UpdateLabelPosition(SerieData serieData, LabelStyle currLabel)
|
||||||
{
|
{
|
||||||
var labelPosition = GetSerieDataLabelPosition(serieData, currLabel);
|
var labelPosition = GetSerieDataLabelPosition(serieData, currLabel);
|
||||||
if(currLabel.fixedX != 0) labelPosition.x = currLabel.fixedX;
|
if (currLabel.fixedX != 0) labelPosition.x = currLabel.fixedX;
|
||||||
if(currLabel.fixedY != 0) labelPosition.y = currLabel.fixedY;
|
if (currLabel.fixedY != 0) labelPosition.y = currLabel.fixedY;
|
||||||
var offset = GetSerieDataLabelOffset(serieData, currLabel);
|
var offset = GetSerieDataLabelOffset(serieData, currLabel);
|
||||||
serieData.labelObject.SetPosition(labelPosition + offset);
|
serieData.labelObject.SetPosition(labelPosition + offset);
|
||||||
if (currLabel.autoRotate && serieData.context.angle != 0)
|
if (currLabel.autoRotate && serieData.context.angle != 0)
|
||||||
|
|||||||
Reference in New Issue
Block a user