TweenPlayables
TweenPlayables copied to clipboard
When the Behaviour field has too many panel UI elements that cannot be clicked
Before
using System.Collections.Generic; using UnityEditor; using UnityEngine;
namespace TweenPlayables.Editor
{
public abstract class TweenAnimationBehaviourDrawer : PropertyDrawer
{
protected abstract IEnumerable
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
position.y += 7f;
foreach (var propertyName in GetPropertyNames())
{
GUIHelper.Field(ref position, property.FindPropertyRelative(propertyName));
position.y += 2f;
}
}
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
{
var height = 9f;
foreach (var propertyName in GetPropertyNames())
{
height += EditorGUI.GetPropertyHeight(property.FindPropertyRelative(propertyName));
}
return height;
}
}
}
After using System.Collections.Generic; using UnityEditor; using UnityEngine;
namespace TweenPlayables.Editor
{
public abstract class TweenAnimationBehaviourDrawer : PropertyDrawer
{
protected abstract IEnumerable
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
EditorGUI.BeginProperty(position, label, property);
EditorGUILayout.BeginVertical();
foreach (var propertyName in GetPropertyNames())
{
var childProperty = property.FindPropertyRelative(propertyName);
EditorGUILayout.PropertyField(childProperty);
GUILayout.Space(5f); // 增加间距
}
EditorGUILayout.EndVertical();
EditorGUI.EndProperty();
}
}
}