Files
XCharts/Editor/ChildComponents/SymbolStyleDrawer.cs

53 lines
2.1 KiB
C#
Raw Normal View History

2021-12-24 13:33:09 +08:00

using System.Collections.Generic;
2019-07-21 22:58:51 +08:00
using UnityEditor;
using UnityEngine;
2022-02-19 22:37:57 +08:00
using XCharts.Runtime;
2019-07-21 22:58:51 +08:00
2021-12-24 13:33:09 +08:00
namespace XCharts.Editor
2019-07-21 22:58:51 +08:00
{
2021-11-23 13:20:07 +08:00
[CustomPropertyDrawer(typeof(SymbolStyle), true)]
public class SymbolStyleDrawer : BasePropertyDrawer
2019-07-21 22:58:51 +08:00
{
2021-01-11 08:54:28 +08:00
public override string ClassName { get { return "Symbol"; } }
2019-07-21 22:58:51 +08:00
public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label)
{
2021-01-11 08:54:28 +08:00
base.OnGUI(pos, prop, label);
2022-03-09 07:26:15 +08:00
if (MakeComponentFoldout(prop, "m_Show", true))
2019-07-21 22:58:51 +08:00
{
++EditorGUI.indentLevel;
2021-11-23 13:20:07 +08:00
var type = (SymbolType)prop.FindPropertyRelative("m_Type").enumValueIndex;
2021-01-11 08:54:28 +08:00
PropertyField(prop, "m_Type");
2021-11-23 13:20:07 +08:00
if (type == SymbolType.Custom)
{
PropertyField(prop, "m_Image");
PropertyField(prop, "m_ImageType");
PropertyField(prop, "m_Width");
// PropertyField(prop, "m_Height");
// PropertyField(prop, "m_Offset");
}
2021-01-11 08:54:28 +08:00
PropertyField(prop, "m_Gap");
PropertyField(prop, "m_SizeType");
2021-11-23 13:20:07 +08:00
switch ((SymbolSizeType)prop.FindPropertyRelative("m_SizeType").enumValueIndex)
{
2021-11-23 13:20:07 +08:00
case SymbolSizeType.Custom:
PropertyField(prop, "m_Size");
PropertyField(prop, "m_SelectedSize");
break;
2021-11-23 13:20:07 +08:00
case SymbolSizeType.FromData:
PropertyField(prop, "m_DataIndex");
PropertyField(prop, "m_DataScale");
PropertyField(prop, "m_SelectedDataScale");
break;
2022-03-04 22:17:32 +08:00
case SymbolSizeType.Function:
break;
}
2021-01-11 08:54:28 +08:00
PropertyField(prop, "m_StartIndex");
PropertyField(prop, "m_Interval");
PropertyField(prop, "m_ForceShowLast");
PropertyField(prop, "m_Repeat");
--EditorGUI.indentLevel;
2019-07-21 22:58:51 +08:00
}
}
}
}