summaryrefslogtreecommitdiff
path: root/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Signals/SignalEventDrawer.cs
diff options
context:
space:
mode:
authorAndrew Lee <alee14498@protonmail.com>2020-04-19 17:19:32 -0400
committerAndrew Lee <alee14498@protonmail.com>2020-04-19 17:19:32 -0400
commitc55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78 (patch)
treeee4d51c7c1d633e11f46453ef1edd3c77c4ef9f7 /Library/PackageCache/com.unity.timeline@1.2.13/Editor/Signals/SignalEventDrawer.cs
downloadProject-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.tar.gz
Project-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.tar.bz2
Project-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.zip
Inital commit
Diffstat (limited to 'Library/PackageCache/com.unity.timeline@1.2.13/Editor/Signals/SignalEventDrawer.cs')
-rw-r--r--Library/PackageCache/com.unity.timeline@1.2.13/Editor/Signals/SignalEventDrawer.cs39
1 files changed, 39 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Signals/SignalEventDrawer.cs b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Signals/SignalEventDrawer.cs
new file mode 100644
index 0000000..021c6c7
--- /dev/null
+++ b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Signals/SignalEventDrawer.cs
@@ -0,0 +1,39 @@
+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;
+ }
+ }
+}