| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 | 
							- using System.Collections.Generic;
 
- using UnityEditor;
 
- using UnityEngine;
 
- using UnityEngine.Assertions;
 
- using XCharts.Runtime;
 
- namespace XCharts.Editor
 
- {
 
-     public class UIComponentEditor : UnityEditor.Editor
 
-     {
 
-         class Styles
 
-         {
 
-             public static readonly GUIContent btnAddComponent = new GUIContent("Add Main Component", "");
 
-             public static readonly GUIContent btnRebuildChartObject = new GUIContent("Rebuild Object", "");
 
-             public static readonly GUIContent btnSaveAsImage = new GUIContent("Save As Image", "");
 
-             public static readonly GUIContent btnCheckWarning = new GUIContent("Check Warning", "");
 
-             public static readonly GUIContent btnHideWarning = new GUIContent("Hide Warning", "");
 
-         }
 
-         public UIComponent m_UIComponent;
 
-         public static T AddUIComponent<T>(string chartName) where T : UIComponent
 
-         {
 
-             return XChartsEditor.AddGraph<T>(chartName);
 
-         }
 
-         protected Dictionary<string, SerializedProperty> m_Properties = new Dictionary<string, SerializedProperty>();
 
-         protected virtual void OnEnable()
 
-         {
 
-             m_Properties.Clear();
 
-             m_UIComponent = (UIComponent) target;
 
-         }
 
-         public override void OnInspectorGUI()
 
-         {
 
-             serializedObject.Update();
 
-             PropertyField("m_Script");
 
-             OnStartInspectorGUI();
 
-             OnDebugInspectorGUI();
 
-             serializedObject.ApplyModifiedProperties();
 
-         }
 
-         protected virtual void OnStartInspectorGUI() { }
 
-         protected virtual void OnDebugInspectorGUI()
 
-         {
 
-             EditorGUILayout.Space();
 
-             PropertyField("m_DebugModel");
 
-             OnDebugStartInspectorGUI();
 
-             if (GUILayout.Button(Styles.btnRebuildChartObject))
 
-             {
 
-                 m_UIComponent.RebuildChartObject();
 
-             }
 
-             if (GUILayout.Button(Styles.btnSaveAsImage))
 
-             {
 
-                 m_UIComponent.SaveAsImage();
 
-             }
 
-             OnDebugEndInspectorGUI();
 
-         }
 
-         protected virtual void OnDebugStartInspectorGUI() { }
 
-         protected virtual void OnDebugEndInspectorGUI() { }
 
-         protected void PropertyField(string name)
 
-         {
 
-             if (!m_Properties.ContainsKey(name))
 
-             {
 
-                 var prop = serializedObject.FindProperty(name);
 
-                 if (prop == null)
 
-                 {
 
-                     Debug.LogError("Property " + name + " not found!");
 
-                     return;
 
-                 }
 
-                 m_Properties.Add(name, prop);
 
-             }
 
-             EditorGUILayout.PropertyField(m_Properties[name]);
 
-         }
 
-         protected void PropertyField(SerializedProperty property)
 
-         {
 
-             Assert.IsNotNull(property);
 
-             var title = ChartEditorHelper.GetContent(property.displayName);
 
-             PropertyField(property, title);
 
-         }
 
-         protected void PropertyField(SerializedProperty property, GUIContent title)
 
-         {
 
-             EditorGUILayout.PropertyField(property, title);
 
-         }
 
-         protected void PropertyListField(string relativePropName, bool showOrder = true, params HeaderMenuInfo[] menus)
 
-         {
 
-             var m_DrawRect = GUILayoutUtility.GetRect(1f, 17f);
 
-             var height = 0f;
 
-             var prop = FindProperty(relativePropName);
 
-             prop.isExpanded = ChartEditorHelper.MakeListWithFoldout(ref m_DrawRect, ref height,
 
-                 prop, prop.isExpanded, showOrder, true, menus);
 
-             if (prop.isExpanded)
 
-             {
 
-                 GUILayoutUtility.GetRect(1f, height - 17);
 
-             }
 
-         }
 
-         protected void PropertyTwoFiled(string relativePropName)
 
-         {
 
-             var m_DrawRect = GUILayoutUtility.GetRect(1f, 17f);
 
-             var prop = FindProperty(relativePropName);
 
-             ChartEditorHelper.MakeTwoField(ref m_DrawRect, m_DrawRect.width, prop, prop.displayName);
 
-         }
 
-         protected SerializedProperty FindProperty(string path)
 
-         {
 
-             if (!m_Properties.ContainsKey(path))
 
-             {
 
-                 m_Properties.Add(path, serializedObject.FindProperty(path));
 
-             }
 
-             return m_Properties[path];
 
-         }
 
-     }
 
- }
 
 
  |