12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- using UnityEditor;
- using UnityEngine;
- using XCharts.Runtime;
-
- namespace XCharts.Editor
- {
- [ComponentEditor(typeof(MarkArea))]
- public class MarkAreaEditor : MainComponentEditor<MarkArea>
- {
- public override void OnInspectorGUI()
- {
- ++EditorGUI.indentLevel;
- PropertyField("m_SerieIndex");
- PropertyField("m_Text");
- PropertyField("m_ItemStyle");
- PropertyField("m_Label");
- PropertyField("m_Start");
- PropertyField("m_End");
- --EditorGUI.indentLevel;
- }
- }
-
- [CustomPropertyDrawer(typeof(MarkAreaData), true)]
- public class MarkAreaDataDrawer : BasePropertyDrawer
- {
- public override string ClassName { get { return "MarkAreaData"; } }
- public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label)
- {
- base.OnGUI(pos, prop, label);
- if (MakeComponentFoldout(prop, "", true))
- {
- ++EditorGUI.indentLevel;
- var type = (MarkAreaType) (prop.FindPropertyRelative("m_Type")).enumValueIndex;
- PropertyField(prop, "m_Type");
- PropertyField(prop, "m_Name");
- switch (type)
- {
- case MarkAreaType.None:
- PropertyField(prop, "m_XPosition");
- PropertyField(prop, "m_YPosition");
- PropertyField(prop, "m_XValue");
- PropertyField(prop, "m_YValue");
- break;
- case MarkAreaType.Min:
- case MarkAreaType.Max:
- case MarkAreaType.Average:
- case MarkAreaType.Median:
- PropertyField(prop, "m_Dimension");
- break;
- }
- --EditorGUI.indentLevel;
- }
- }
- }
- }
|