1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- using UnityEditor;
- using UnityEngine;
- using XCharts.Runtime;
- namespace XCharts.Editor
- {
- [ComponentEditor(typeof(MarkLine))]
- public class MarkLineEditor : MainComponentEditor<MarkLine>
- {
- public override void OnInspectorGUI()
- {
- ++EditorGUI.indentLevel;
- PropertyField("m_SerieIndex");
- PropertyField("m_Animation");
- PropertyListField("m_Data", true);
- --EditorGUI.indentLevel;
- }
- }
- [CustomPropertyDrawer(typeof(MarkLineData), true)]
- public class MarkLineDataDrawer : BasePropertyDrawer
- {
- public override string ClassName { get { return "MarkLineData"; } }
- public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label)
- {
- base.OnGUI(pos, prop, label);
- if (MakeComponentFoldout(prop, "", true))
- {
- ++EditorGUI.indentLevel;
- var type = (MarkLineType) (prop.FindPropertyRelative("m_Type")).enumValueIndex;
- var group = prop.FindPropertyRelative("m_Group").intValue;
- PropertyField(prop, "m_Type");
- PropertyField(prop, "m_Name");
- switch (type)
- {
- case MarkLineType.None:
- PropertyField(prop, "m_XPosition");
- PropertyField(prop, "m_YPosition");
- PropertyField(prop, "m_XValue");
- PropertyField(prop, "m_YValue");
- break;
- case MarkLineType.Min:
- case MarkLineType.Max:
- case MarkLineType.Average:
- case MarkLineType.Median:
- PropertyField(prop, "m_Dimension");
- break;
- }
- PropertyField(prop, "m_Group");
- if (group > 0 && type == MarkLineType.None) PropertyField(prop, "m_ZeroPosition");
- PropertyField(prop, "m_LineStyle");
- PropertyField(prop, "m_StartSymbol");
- PropertyField(prop, "m_EndSymbol");
- PropertyField(prop, "m_Label");
- --EditorGUI.indentLevel;
- }
- }
- }
- }
|