diff --git a/CHANGELOG.md b/CHANGELOG.md
index 034ea517..700c7317 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,22 @@
# 更新日志
+* (2019.11.12) 修复`2018.3`以下版本打开项目报错的问题
+* (2019.11.12) 增加`IconStyle`子组件,优化`SerieData`的图标配置
+* (2019.11.11) 修复`Serie`的图标显示在上层遮挡`Label`的问题
+* (2019.11.11) 修复饼图当数据过小时视觉引导线会穿透的的问题
+* (2019.11.09) 修复饼图添加数据时`Label`异常的问题
+* (2019.11.09) 优化结构,分离为`XCharts`和`XChartsDemo`两部分
+* (2019.11.05) 发布`v1.0.4`版本
+* (2019.11.05) 增加`Radar`雷达组件文本样式参数配置支持
+* (2019.11.04) 修复`Unity2018.3`以下版本代码不兼容的问题
+* (2019.11.04) 优化`SerieLabel`过多时引起的性能问题
+* (2019.11.03) 发布`v1.0.3`版本
+* (2019.11.03) 增加`Editor`快捷添加图表:`Hierarchy`试图下右键`XCharts->LineChart`
+* (2019.11.02) 优化非配置参数变量命名和访问权限,简化`API`
+* (2019.10.31) 发布`v1.0.2`版本
+* (2019.10.31) 修复`prefab`预设制作报错的问题
+* (2019.10.31) 增加访问主题组件API:`BaseChart.themeInfo`
* (2019.10.26) 发布`v1.0.1`版本
* (2019.10.26) 修复版本检查功能在非运行时异常的问题
* (2019.10.26) 增加科学计数法显示数值的支持(查阅`forceENotation`参数)
diff --git a/Demo.meta b/Demo.meta
index 24e0f666..2976fd1f 100644
--- a/Demo.meta
+++ b/Demo.meta
@@ -1,8 +1,6 @@
fileFormatVersion: 2
guid: 5e6b0fb015bc6524d8bab146b6f2ba3a
folderAsset: yes
-timeCreated: 1553641866
-licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
diff --git a/Demo/Editor.meta b/Demo/Editor.meta
deleted file mode 100644
index 1896fb2f..00000000
--- a/Demo/Editor.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 05b7d15b7a92f4c1eb56dbf47522bf6c
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Demo/Editor/ChartModuleDrawer.cs b/Demo/Editor/ChartModuleDrawer.cs
deleted file mode 100644
index 1a609b4a..00000000
--- a/Demo/Editor/ChartModuleDrawer.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-/******************************************/
-/* */
-/* Copyright (c) 2018 monitor1394 */
-/* https://github.com/monitor1394 */
-/* */
-/******************************************/
-
-using UnityEditor;
-using UnityEngine;
-
-namespace XCharts
-{
- [CustomPropertyDrawer(typeof(ChartModule), true)]
- public class ChartModuleDrawer : PropertyDrawer
- {
- public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label)
- {
- Rect drawRect = pos;
- drawRect.height = EditorGUIUtility.singleLineHeight;
- var lastX = drawRect.x;
- var lastWid = drawRect.width;
- SerializedProperty m_Name = prop.FindPropertyRelative("m_Name");
- SerializedProperty m_Title = prop.FindPropertyRelative("m_Title");
- SerializedProperty m_Selected = prop.FindPropertyRelative("m_Selected");
- SerializedProperty m_Panel = prop.FindPropertyRelative("m_Panel");
- var fieldWid = EditorGUIUtility.currentViewWidth - 30 - 5 - 50 - 90;
- drawRect.width = 15;
- EditorGUI.PropertyField(drawRect,m_Selected,GUIContent.none);
- drawRect.x += 15;
- drawRect.width = 50;
- EditorGUI.PropertyField(drawRect,m_Name,GUIContent.none);
- drawRect.x += 52;
- drawRect.width = fieldWid;
- EditorGUI.PropertyField(drawRect,m_Title,GUIContent.none);
- drawRect.x += fieldWid + 2;
- drawRect.width = 90;
- EditorGUI.PropertyField(drawRect,m_Panel,GUIContent.none);
- }
-
- public override float GetPropertyHeight(SerializedProperty prop, GUIContent label)
- {
- return 1 * EditorGUIUtility.singleLineHeight + 1 * EditorGUIUtility.standardVerticalSpacing;
- }
- }
-}
\ No newline at end of file
diff --git a/Demo/Editor/DemoEditor.cs b/Demo/Editor/DemoEditor.cs
deleted file mode 100644
index f2928fc5..00000000
--- a/Demo/Editor/DemoEditor.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-
-/******************************************/
-/* */
-/* Copyright (c) 2018 monitor1394 */
-/* https://github.com/monitor1394 */
-/* */
-/******************************************/
-
-using UnityEditor;
-
-namespace XCharts
-{
- ///
- /// Editor class used to edit UI BaseChart.
- ///
-
- [CustomEditor(typeof(Demo), false)]
- public class DemoEditor : Editor
- {
- protected Demo m_Target;
- protected SerializedProperty m_Script;
- protected SerializedProperty m_ButtonNormalColor;
- protected SerializedProperty m_ButtonSelectedColor;
- protected SerializedProperty m_ButtonHighlightColor;
- protected SerializedProperty m_ChartModule;
- protected virtual void OnEnable()
- {
- m_Target = (Demo)target;
- m_Script = serializedObject.FindProperty("m_Script");
- m_ButtonNormalColor = serializedObject.FindProperty("m_ButtonNormalColor");
- m_ButtonSelectedColor = serializedObject.FindProperty("m_ButtonSelectedColor");
- m_ButtonHighlightColor = serializedObject.FindProperty("m_ButtonHighlightColor");
- m_ChartModule = serializedObject.FindProperty("m_ChartModule");
-
- }
-
- public override void OnInspectorGUI()
- {
- if (m_Target == null && target == null)
- {
- base.OnInspectorGUI();
- return;
- }
- serializedObject.Update();
- EditorGUILayout.PropertyField(m_ButtonNormalColor);
- EditorGUILayout.PropertyField(m_ButtonSelectedColor);
- EditorGUILayout.PropertyField(m_ButtonHighlightColor);
-
- var size = m_ChartModule.arraySize;
- size = EditorGUILayout.IntField("Chart Module Size", size);
- if (size != m_ChartModule.arraySize)
- {
- while (size > m_ChartModule.arraySize)
- m_ChartModule.InsertArrayElementAtIndex(m_ChartModule.arraySize);
- while (size < m_ChartModule.arraySize)
- m_ChartModule.DeleteArrayElementAtIndex(m_ChartModule.arraySize - 1);
- }
- for (int i = 0; i < size; i++)
- {
- EditorGUILayout.PropertyField(m_ChartModule.GetArrayElementAtIndex(i));
- }
-
- serializedObject.ApplyModifiedProperties();
- }
- }
-}
\ No newline at end of file
diff --git a/Demo/Editor/XCharts.Editor.Demo.asmdef b/Demo/Editor/XCharts.Editor.Demo.asmdef
deleted file mode 100644
index ebf6f8e5..00000000
--- a/Demo/Editor/XCharts.Editor.Demo.asmdef
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "name": "XCharts.Editor.Demo",
- "references": [
- "XCharts.Demo.Runtime",
- "XCharts.Runtime"
- ],
- "optionalUnityReferences": [],
- "includePlatforms": [
- "Editor"
- ],
- "excludePlatforms": [],
- "allowUnsafeCode": false,
- "overrideReferences": false,
- "precompiledReferences": [],
- "autoReferenced": true,
- "defineConstraints": []
-}
\ No newline at end of file
diff --git a/Demo/Editor/XCharts.Editor.Demo.asmdef.meta b/Demo/Editor/XCharts.Editor.Demo.asmdef.meta
deleted file mode 100644
index 67d354f5..00000000
--- a/Demo/Editor/XCharts.Editor.Demo.asmdef.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 2d3606aaaf73f468984f4615b496f408
-AssemblyDefinitionImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Demo/Runtime/Demo.cs b/Demo/Runtime/Demo.cs
deleted file mode 100644
index 270650d9..00000000
--- a/Demo/Runtime/Demo.cs
+++ /dev/null
@@ -1,197 +0,0 @@
-/******************************************/
-/* */
-/* Copyright (c) 2018 monitor1394 */
-/* https://github.com/monitor1394 */
-/* */
-/******************************************/
-
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.EventSystems;
-using UnityEngine.UI;
-
-namespace XCharts
-{
- [System.Serializable]
- public class ChartModule
- {
- [SerializeField] private string m_Name;
- [SerializeField] private string m_Title;
- [SerializeField] private bool m_Selected;
- [SerializeField] private GameObject m_Panel;
-
- public string name { get { return m_Name; } set { m_Name = value; } }
- public string title { get { return m_Title; } set { m_Title = value; } }
- public bool select { get { return m_Selected; } set { m_Selected = value; } }
- public GameObject panel { get { return m_Panel; } set { m_Panel = value; } }
- public Button button { get; set; }
- }
-
- [DisallowMultipleComponent]
- [ExecuteInEditMode]
- public class Demo : MonoBehaviour
- {
- [SerializeField] private Color m_ButtonNormalColor;
- [SerializeField] private Color m_ButtonSelectedColor;
- [SerializeField] private Color m_ButtonHighlightColor;
- [SerializeField] private List m_ChartModule;
-
- private GameObject m_BtnClone;
- private Theme m_SelectedTheme;
- private int m_LastSelectedModuleIndex;
-
- private Button m_DefaultThemeButton;
- private Button m_LightThemeButton;
- private Button m_DarkThemeButton;
-
- private Text m_Title;
-
- private ScrollRect m_ScrollRect;
- private Mask m_Mark;
-
- void Awake()
- {
- m_SelectedTheme = Theme.Default;
-
- m_ButtonNormalColor = ChartHelper.GetColor("#293C55FF");
- m_ButtonSelectedColor = ChartHelper.GetColor("#e43c59ff");
- m_ButtonHighlightColor = ChartHelper.GetColor("#0E151FFF");
-
- m_ScrollRect = transform.Find("chart_detail").GetComponent();
- m_Mark = transform.Find("chart_detail/Viewport").GetComponent();
- m_Mark.enabled = true;
- m_Title = transform.Find("chart_title/Text").GetComponent();
-
- InitThemeButton();
- InitModuleButton();
- }
-
- void Update()
- {
-#if UNITY_EDITOR
- if (m_ChartModule.Count <= 0) return;
- int selectedModuleIndex = -1;
- for (int i = 0; i < m_ChartModule.Count; i++)
- {
- if (selectedModuleIndex >= 0 && i > selectedModuleIndex)
- {
- m_ChartModule[i].select = false;
- }
- else if (m_ChartModule[i].select)
- {
- selectedModuleIndex = i;
- }
- }
- if (selectedModuleIndex < 0) selectedModuleIndex = 0;
- if (selectedModuleIndex != m_LastSelectedModuleIndex)
- {
- InitModuleButton();
- }
- if (!Application.isPlaying) m_Mark.enabled = false;
-#endif
- }
-
- void InitModuleButton()
- {
- var btnPanel = transform.Find("chart_list");
- m_BtnClone = transform.Find("btn_clone").gameObject;
- m_BtnClone.SetActive(false);
- ChartHelper.DestoryAllChilds(btnPanel);
- foreach (var module in m_ChartModule)
- {
- var btnName = "btn_" + module.name;
- GameObject btn;
- if (btnPanel.Find(btnName))
- {
- btn = btnPanel.Find(btnName).gameObject;
- btn.SetActive(true);
- }
- else
- {
- btn = GameObject.Instantiate(m_BtnClone);
- btn.SetActive(true);
- btn.name = btnName;
- btn.transform.SetParent(btnPanel);
- btn.transform.localPosition = Vector3.zero;
- }
- btn.transform.localScale = Vector3.one;
- module.button = btn.GetComponent