移除Pie组件,相关参数放到Settings中配置

This commit is contained in:
monitor1394
2019-10-16 19:15:55 +08:00
parent f88a44bd48
commit d9713447da
8 changed files with 22 additions and 132 deletions

View File

@@ -1,38 +0,0 @@
using UnityEngine;
namespace XCharts
{
/// <summary>
/// the global setting of pie chart.
/// 饼图的全局设置。
/// </summary>
[System.Serializable]
public class Pie : MainComponent
{
[SerializeField] private float m_TooltipExtraRadius;
[SerializeField] private float m_SelectedOffset;
/// <summary>
/// the extra dadius of pie chart when the tooltip indicatored pie.
/// 提示框指示时的额外半径。
/// </summary>
public float tooltipExtraRadius { get { return m_TooltipExtraRadius; } set { m_TooltipExtraRadius = value; } }
/// <summary>
/// the offset of pie when the pie item is selected.
/// 饼图项被选中时的偏移。
/// </summary>
public float selectedOffset { get { return m_SelectedOffset; } set { m_SelectedOffset = value; } }
public static Pie defaultPie
{
get
{
var pie = new Pie
{
m_TooltipExtraRadius = 10f,
m_SelectedOffset = 10f,
};
return pie;
}
}
}
}

View File

@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: ca364d90ce5fe4605a382e9af984757f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -15,6 +15,8 @@ namespace XCharts
[SerializeField] [Range(1f, 20)] protected float m_LineSegmentDistance = 3f;
[SerializeField] [Range(1, 10)] protected float m_CicleSmoothness = 2f;
[SerializeField] [Range(10, 50)] protected float m_VisualMapTriangeLen = 20f;
[SerializeField] [Range(1, 20)] protected float m_PieTooltipExtraRadius = 8f;
[SerializeField] [Range(1, 20)] protected float m_PieSelectedOffset = 8f;
/// <summary>
/// Curve smoothing factor. By adjusting the smoothing coefficient, the curvature of the curve can be changed,
@@ -47,6 +49,14 @@ namespace XCharts
/// </summary>
/// <value></value>
public float visualMapTriangeLen { get { return m_VisualMapTriangeLen; } set { m_VisualMapTriangeLen = value <= 0 ? 1f : value; } }
/// <summary>
/// 饼图鼠标移到高亮时的额外半径
/// </summary>
public float pieTooltipExtraRadius { get { return m_PieTooltipExtraRadius; } set { m_PieTooltipExtraRadius = value <= 0 ? 0 : value; } }
/// <summary>
/// 饼图选中时的中心点偏移
/// </summary>
public float pieSelectedOffset { get { return m_PieSelectedOffset; } set { m_PieSelectedOffset = value <= 0 ? 0 : value; } }
}
}

View File

@@ -12,14 +12,10 @@ namespace XCharts
[DisallowMultipleComponent]
public class PieChart : BaseChart
{
[SerializeField] private Pie m_Pie = Pie.defaultPie;
private bool isDrawPie;
private bool m_IsEnterLegendButtom;
private bool m_RefreshLabel;
public Pie pie { get { return m_Pie; } }
protected override void Awake()
{
base.Awake();
@@ -30,7 +26,6 @@ namespace XCharts
protected override void Reset()
{
base.Reset();
m_Pie = Pie.defaultPie;
m_Title.text = "PieChart";
RemoveData();
AddSerie(SerieType.Pie, "serie1");
@@ -103,12 +98,12 @@ namespace XCharts
{
isDataHighlight = true;
color *= 1.2f;
serieData.pieOutsideRadius += m_Pie.tooltipExtraRadius;
serieData.pieOutsideRadius += m_Settings.pieTooltipExtraRadius;
}
var offset = serie.pieSpace;
if (serie.pieClickOffset && serieData.selected)
{
offset += m_Pie.selectedOffset;
offset += m_Settings.pieSelectedOffset;
}
var halfDegree = (serieData.pieToAngle - startDegree) / 2;
serieData.pieHalfAngle = startDegree + halfDegree;
@@ -132,9 +127,9 @@ namespace XCharts
serieData.pieOutsideRadius -= serieData.pieOffsetRadius;
if (serie.pieClickOffset && serieData.selected)
{
serieData.pieOffsetRadius += m_Pie.selectedOffset;
if (serieData.pieInsideRadius > 0) serieData.pieInsideRadius += m_Pie.selectedOffset;
serieData.pieOutsideRadius += m_Pie.selectedOffset;
serieData.pieOffsetRadius += m_Settings.pieSelectedOffset;
if (serieData.pieInsideRadius > 0) serieData.pieInsideRadius += m_Settings.pieSelectedOffset;
serieData.pieOutsideRadius += m_Settings.pieSelectedOffset;
}
serieData.pieOffsetCenter = new Vector3(center.x + serieData.pieOffsetRadius * currSin,