Files
XCharts/Editor/ChildComponents/AnimationDrawer.cs

95 lines
3.3 KiB
C#
Raw Normal View History

using UnityEditor;
using UnityEngine;
2022-02-19 22:37:57 +08:00
using XCharts.Runtime;
2021-12-24 13:33:09 +08:00
namespace XCharts.Editor
{
2023-07-04 13:07:44 +08:00
[CustomPropertyDrawer(typeof(XCharts.Runtime.AnimationInfo), true)]
public class AnimationInfoDrawer : BasePropertyDrawer
{
public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label)
{
base.OnGUI(pos, prop, label);
if (MakeComponentFoldout(prop, "m_Enable", true))
{
++EditorGUI.indentLevel;
PropertyField(prop, "m_Delay");
PropertyField(prop, "m_Duration");
PropertyField(prop, "m_Speed");
2023-07-04 13:07:44 +08:00
--EditorGUI.indentLevel;
}
}
}
[CustomPropertyDrawer(typeof(XCharts.Runtime.AnimationChange), true)]
public class AnimationChangeDrawer : BasePropertyDrawer
{
public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label)
{
base.OnGUI(pos, prop, label);
if (MakeComponentFoldout(prop, "m_Enable", true))
{
++EditorGUI.indentLevel;
PropertyField(prop, "m_Duration");
PropertyField(prop, "m_Speed");
--EditorGUI.indentLevel;
}
}
}
[CustomPropertyDrawer(typeof(XCharts.Runtime.AnimationAddition), true)]
public class AnimationAdditionDrawer : BasePropertyDrawer
{
public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label)
{
base.OnGUI(pos, prop, label);
if (MakeComponentFoldout(prop, "m_Enable", true))
{
++EditorGUI.indentLevel;
PropertyField(prop, "m_Duration");
PropertyField(prop, "m_Speed");
--EditorGUI.indentLevel;
}
}
}
[CustomPropertyDrawer(typeof(XCharts.Runtime.AnimationInteraction), true)]
public class AnimationInteractionDrawer : BasePropertyDrawer
{
public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label)
{
base.OnGUI(pos, prop, label);
if (MakeComponentFoldout(prop, "m_Enable", true))
{
++EditorGUI.indentLevel;
PropertyField(prop, "m_Duration");
2023-07-26 08:41:06 +08:00
PropertyField(prop, "m_Width");
PropertyField(prop, "m_Radius");
PropertyField(prop, "m_Offset");
--EditorGUI.indentLevel;
}
}
}
2021-12-11 18:26:28 +08:00
[CustomPropertyDrawer(typeof(AnimationStyle), true)]
2021-01-11 08:54:28 +08:00
public class AnimationDrawer : BasePropertyDrawer
{
2021-01-11 08:54:28 +08:00
public override string ClassName { get { return "Animation"; } }
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_Enable", true))
{
++EditorGUI.indentLevel;
2021-12-12 18:05:26 +08:00
PropertyField(prop, "m_Type");
PropertyField(prop, "m_UnscaledTime");
PropertyField(prop, "m_FadeIn");
PropertyField(prop, "m_FadeOut");
PropertyField(prop, "m_Change");
PropertyField(prop, "m_Addition");
PropertyField(prop, "m_Interaction");
--EditorGUI.indentLevel;
}
}
}
}