整理组件结构

This commit is contained in:
monitor1394
2019-10-14 18:13:08 +08:00
parent 63ad7fc620
commit e753089787
34 changed files with 111 additions and 31 deletions

View File

@@ -0,0 +1,35 @@
using System;
using UnityEngine;
namespace XCharts
{
public class ChartComponent
{
[SerializeField] protected string m_JsonData;
[SerializeField] protected bool m_DataFromJson;
/// <summary>
/// json格式的字符串数据
/// </summary>
/// <returns></returns>
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");
}
}
}

View File

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

View File

@@ -11,7 +11,7 @@ namespace XCharts
/// 直角坐标系的坐标轴组件。 /// 直角坐标系的坐标轴组件。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class Axis : JsonDataSupport, IEquatable<Axis> public class Axis : MainComponent, IEquatable<Axis>
{ {
/// <summary> /// <summary>
/// the type of axis. /// the type of axis.

View File

@@ -10,7 +10,7 @@ namespace XCharts
/// <para>DataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息,或者概览数据整体,或者去除离群点的影响。</para> /// <para>DataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息,或者概览数据整体,或者去除离群点的影响。</para>
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class DataZoom public class DataZoom : MainComponent
{ {
/// <summary> /// <summary>
/// Generally dataZoom component zoom or roam coordinate system through data filtering /// Generally dataZoom component zoom or roam coordinate system through data filtering

View File

@@ -15,7 +15,7 @@ namespace XCharts
/// </para> /// </para>
/// </summary> /// </summary>
[Serializable] [Serializable]
public class Grid : IEquatable<Grid> public class Grid : MainComponent, IEquatable<Grid>
{ {
[SerializeField] private bool m_Show = true; [SerializeField] private bool m_Show = true;
[SerializeField] private float m_Left; [SerializeField] private float m_Left;

View File

@@ -11,7 +11,7 @@ namespace XCharts
/// 图例组件展现了不同系列的标记,颜色和名字。可以通过点击图例控制哪些系列不显示。 /// 图例组件展现了不同系列的标记,颜色和名字。可以通过点击图例控制哪些系列不显示。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class Legend : JsonDataSupport, IPropertyChanged, IEquatable<Legend> public class Legend : MainComponent, IPropertyChanged, IEquatable<Legend>
{ {
/// <summary> /// <summary>
/// Selected mode of legend, which controls whether series can be toggled displaying by clicking legends. /// Selected mode of legend, which controls whether series can be toggled displaying by clicking legends.

View File

@@ -7,7 +7,7 @@ namespace XCharts
/// 饼图的全局设置。 /// 饼图的全局设置。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class Pie public class Pie : MainComponent
{ {
[SerializeField] private float m_TooltipExtraRadius; [SerializeField] private float m_TooltipExtraRadius;
[SerializeField] private float m_SelectedOffset; [SerializeField] private float m_SelectedOffset;

View File

@@ -11,7 +11,7 @@ namespace XCharts
/// 雷达图坐标系组件,只适用于雷达图。 /// 雷达图坐标系组件,只适用于雷达图。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class Radar : JsonDataSupport, IEquatable<Radar> public class Radar : MainComponent, IEquatable<Radar>
{ {
/// <summary> /// <summary>
/// Radar render type, in which 'Polygon' and 'Circle' are supported. /// Radar render type, in which 'Polygon' and 'Circle' are supported.
@@ -168,7 +168,7 @@ namespace XCharts
/// 雷达图的所有数据坐标点列表。 /// 雷达图的所有数据坐标点列表。
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public Dictionary<int,List<Vector3>> dataPosList = new Dictionary<int,List<Vector3>>(); public Dictionary<int, List<Vector3>> dataPosList = new Dictionary<int, List<Vector3>>();
public static Radar defaultRadar public static Radar defaultRadar
{ {

View File

@@ -150,7 +150,7 @@ namespace XCharts
/// 系列。每个系列通过 type 决定自己的图表类型。 /// 系列。每个系列通过 type 决定自己的图表类型。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class Serie : JsonDataSupport public class Serie : MainComponent
{ {
[SerializeField] [DefaultValue("true")] private bool m_Show = true; [SerializeField] [DefaultValue("true")] private bool m_Show = true;
[SerializeField] private SerieType m_Type; [SerializeField] private SerieType m_Type;

View File

@@ -9,7 +9,7 @@ namespace XCharts
/// 系列列表。每个系列通过 type 决定自己的图表类型。 /// 系列列表。每个系列通过 type 决定自己的图表类型。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class Series : JsonDataSupport public class Series : MainComponent
{ {
[SerializeField] protected List<Serie> m_Series; [SerializeField] protected List<Serie> m_Series;

View File

@@ -8,7 +8,7 @@ namespace XCharts
/// 全局参数设置组件。一般情况下可使用默认值,当有需要时可进行调整。 /// 全局参数设置组件。一般情况下可使用默认值,当有需要时可进行调整。
/// </summary> /// </summary>
[Serializable] [Serializable]
public class Settings public class Settings : MainComponent
{ {
[SerializeField] [Range(1, 10)] protected float m_LineSmoothStyle = 3f; [SerializeField] [Range(1, 10)] protected float m_LineSmoothStyle = 3f;
[SerializeField] [Range(1f, 20)] protected float m_LineSmoothness = 2f; [SerializeField] [Range(1f, 20)] protected float m_LineSmoothness = 2f;

View File

@@ -29,7 +29,7 @@ namespace XCharts
/// Theme. /// Theme.
/// 主题相关配置。 /// 主题相关配置。
/// </summary> /// </summary>
public class ThemeInfo : IEquatable<ThemeInfo> public class ThemeInfo : MainComponent, IEquatable<ThemeInfo>
{ {
[SerializeField] private Theme m_Theme = Theme.Default; [SerializeField] private Theme m_Theme = Theme.Default;
[SerializeField] private Font m_Font; [SerializeField] private Font m_Font;

View File

@@ -8,7 +8,7 @@ namespace XCharts
/// 标题组件,包含主标题和副标题。 /// 标题组件,包含主标题和副标题。
/// </summary> /// </summary>
[Serializable] [Serializable]
public class Title : IPropertyChanged, IEquatable<Title> public class Title : MainComponent, IPropertyChanged, IEquatable<Title>
{ {
[SerializeField] private bool m_Show = true; [SerializeField] private bool m_Show = true;
[SerializeField] private string m_Text; [SerializeField] private string m_Text;

View File

@@ -10,7 +10,7 @@ namespace XCharts
/// 提示框组件 /// 提示框组件
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class Tooltip public class Tooltip : MainComponent
{ {
/// <summary> /// <summary>
/// Indicator type. /// Indicator type.
@@ -157,8 +157,8 @@ namespace XCharts
var tooltip = new Tooltip var tooltip = new Tooltip
{ {
m_Show = true, m_Show = true,
xValues = new float[2]{-1,-1}, xValues = new float[2] { -1, -1 },
yValues = new float[2]{-1,-1}, yValues = new float[2] { -1, -1 },
dataIndex = new List<int>() { -1, -1 }, dataIndex = new List<int>() { -1, -1 },
lastDataIndex = new List<int>() { -1, -1 } lastDataIndex = new List<int>() { -1, -1 }
}; };

View File

@@ -10,7 +10,7 @@ namespace XCharts
/// 视觉映射组件。用于进行『视觉编码』,也就是将数据映射到视觉元素(视觉通道)。 /// 视觉映射组件。用于进行『视觉编码』,也就是将数据映射到视觉元素(视觉通道)。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class VisualMap public class VisualMap : MainComponent
{ {
/// <summary> /// <summary>
/// 类型。分为连续型和分段型。 /// 类型。分为连续型和分段型。

View File

@@ -0,0 +1,6 @@
namespace XCharts
{
public class MainComponent : ChartComponent
{
}
}

View File

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

View File

@@ -8,7 +8,7 @@ namespace XCharts
/// 动画表现。 /// 动画表现。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class Animation public class Animation : SubComponent
{ {
public enum Easing public enum Easing
{ {

View File

@@ -8,7 +8,7 @@ namespace XCharts
/// 区域填充样式。 /// 区域填充样式。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class AreaStyle public class AreaStyle : SubComponent
{ {
/// <summary> /// <summary>
/// Origin position of area. /// Origin position of area.

View File

@@ -8,7 +8,7 @@ namespace XCharts
/// 坐标轴刻度标签的相关设置。 /// 坐标轴刻度标签的相关设置。
/// </summary> /// </summary>
[Serializable] [Serializable]
public class AxisLabel public class AxisLabel : SubComponent
{ {
[SerializeField] private bool m_Show = true; [SerializeField] private bool m_Show = true;
[SerializeField] private string m_Formatter; [SerializeField] private string m_Formatter;

View File

@@ -7,7 +7,7 @@ namespace XCharts
/// 坐标轴的分隔线。 /// 坐标轴的分隔线。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class AxisLine public class AxisLine : SubComponent
{ {
[SerializeField] private bool m_Show; [SerializeField] private bool m_Show;
[SerializeField] private bool m_OnZero; [SerializeField] private bool m_OnZero;

View File

@@ -8,7 +8,7 @@ namespace XCharts
/// 坐标轴名称。 /// 坐标轴名称。
/// </summary> /// </summary>
[Serializable] [Serializable]
public class AxisName public class AxisName : SubComponent
{ {
/// <summary> /// <summary>
/// the location of axis name. /// the location of axis name.

View File

@@ -9,7 +9,7 @@ namespace XCharts
/// 坐标轴在 grid 区域中的分隔区域,默认不显示。 /// 坐标轴在 grid 区域中的分隔区域,默认不显示。
/// </summary> /// </summary>
[Serializable] [Serializable]
public class AxisSplitArea public class AxisSplitArea : SubComponent
{ {
[SerializeField] private bool m_Show; [SerializeField] private bool m_Show;
[SerializeField] private List<Color> m_Color; [SerializeField] private List<Color> m_Color;

View File

@@ -8,7 +8,7 @@ namespace XCharts
/// 坐标轴刻度相关设置。 /// 坐标轴刻度相关设置。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class AxisTick public class AxisTick : SubComponent
{ {
[SerializeField] private bool m_Show; [SerializeField] private bool m_Show;
[SerializeField] private bool m_AlignWithLabel; [SerializeField] private bool m_AlignWithLabel;

View File

@@ -7,7 +7,7 @@ namespace XCharts
/// 高亮的图形样式和文本标签样式。 /// 高亮的图形样式和文本标签样式。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class Emphasis public class Emphasis : SubComponent
{ {
[SerializeField] private bool m_Show; [SerializeField] private bool m_Show;
[SerializeField] private SerieLabel m_Label = new SerieLabel(); [SerializeField] private SerieLabel m_Label = new SerieLabel();

View File

@@ -7,7 +7,7 @@ namespace XCharts
/// 图形样式。 /// 图形样式。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class ItemStyle public class ItemStyle : SubComponent
{ {
/// <summary> /// <summary>
/// 线的类型。 /// 线的类型。

View File

@@ -6,7 +6,7 @@ namespace XCharts
/// <summary> /// <summary>
/// </summary> /// </summary>
[Serializable] [Serializable]
public class LineArrow public class LineArrow : SubComponent
{ {
public enum Position public enum Position
{ {

View File

@@ -9,7 +9,7 @@ namespace XCharts
/// 注: 修改 lineStyle 中的颜色不会影响图例颜色,如果需要图例颜色和折线图颜色一致,需修改 itemStyle.color线条颜色默认也会取改颜色。 /// 注: 修改 lineStyle 中的颜色不会影响图例颜色,如果需要图例颜色和折线图颜色一致,需修改 itemStyle.color线条颜色默认也会取改颜色。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class LineStyle public class LineStyle : SubComponent
{ {
/// <summary> /// <summary>
/// 线的类型。 /// 线的类型。

View File

@@ -8,7 +8,7 @@ namespace XCharts
/// 位置类型。通过Align快速设置大体位置再通过leftrighttopbottom微调具体位置。 /// 位置类型。通过Align快速设置大体位置再通过leftrighttopbottom微调具体位置。
/// </summary> /// </summary>
[Serializable] [Serializable]
public class Location : IPropertyChanged, IEquatable<Location> public class Location : SubComponent, IPropertyChanged, IEquatable<Location>
{ {
/// <summary> /// <summary>
/// 对齐方式 /// 对齐方式

View File

@@ -10,7 +10,7 @@ namespace XCharts
/// 系列中的一个数据项。可存储数据名和1-n维的数据。 /// 系列中的一个数据项。可存储数据名和1-n维的数据。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class SerieData public class SerieData : SubComponent
{ {
[SerializeField] private string m_Name; [SerializeField] private string m_Name;
[SerializeField] private bool m_Selected; [SerializeField] private bool m_Selected;

View File

@@ -7,7 +7,7 @@ namespace XCharts
/// 图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等。 /// 图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等。
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class SerieLabel public class SerieLabel : SubComponent
{ {
/// <summary> /// <summary>
/// The position of label. /// The position of label.

View File

@@ -69,7 +69,7 @@ namespace XCharts
/// 系列数据项的标记的图形 /// 系列数据项的标记的图形
/// </summary> /// </summary>
[System.Serializable] [System.Serializable]
public class SerieSymbol public class SerieSymbol : SubComponent
{ {
[SerializeField] private SerieSymbolType m_Type = SerieSymbolType.EmptyCircle; [SerializeField] private SerieSymbolType m_Type = SerieSymbolType.EmptyCircle;
[SerializeField] private SerieSymbolSizeType m_SizeType = SerieSymbolSizeType.Custom; [SerializeField] private SerieSymbolSizeType m_SizeType = SerieSymbolSizeType.Custom;

View File

@@ -0,0 +1,6 @@
namespace XCharts
{
public class SubComponent : ChartComponent
{
}
}

View File

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