You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.3 KiB
39 lines
1.3 KiB
using System; |
|
using JetBrains.Annotations; |
|
using UnityEditorInternal; |
|
using UnityEngine; |
|
using UnityEngine.Timeline; |
|
|
|
namespace UnityEditor.Timeline.Signals |
|
{ |
|
[CustomPropertyDrawer(typeof(CustomSignalEventDrawer))] |
|
[UsedImplicitly] |
|
class SignalEventDrawer : UnityEventDrawer |
|
{ |
|
static GameObject FindBoundObject(SerializedProperty property) |
|
{ |
|
var component = property.serializedObject.targetObject as Component; |
|
return component != null ? component.gameObject : null; |
|
} |
|
|
|
protected override void OnAddEvent(ReorderableList list) |
|
{ |
|
base.OnAddEvent(list); |
|
var listProperty = list.serializedProperty; |
|
if (listProperty.arraySize > 0) |
|
{ |
|
var lastCall = list.serializedProperty.GetArrayElementAtIndex(listProperty.arraySize - 1); |
|
var targetProperty = lastCall.FindPropertyRelative(kInstancePath); |
|
targetProperty.objectReferenceValue = FindBoundObject(listProperty); |
|
} |
|
} |
|
|
|
protected override void DrawEventHeader(Rect headerRect) { } |
|
|
|
protected override void SetupReorderableList(ReorderableList list) |
|
{ |
|
base.SetupReorderableList(list); |
|
list.headerHeight = 4; |
|
} |
|
} |
|
}
|
|
|