diff options
Diffstat (limited to 'Library/PackageCache/com.unity.timeline@1.2.13/Editor/treeview/PickerUtils.cs')
| -rw-r--r-- | Library/PackageCache/com.unity.timeline@1.2.13/Editor/treeview/PickerUtils.cs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/treeview/PickerUtils.cs b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/treeview/PickerUtils.cs new file mode 100644 index 0000000..50d0382 --- /dev/null +++ b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/treeview/PickerUtils.cs @@ -0,0 +1,41 @@ +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace UnityEditor.Timeline +{ + static class PickerUtils + { + public static List<object> pickedElements { get; private set; } + + public static void DoPick(WindowState state, Vector2 mousePosition) + { + if (state.GetWindow().sequenceContentRect.Contains(mousePosition)) + { + pickedElements = state.spacePartitioner.GetItemsAtPosition<object>(mousePosition).ToList(); + } + else + { + if (pickedElements != null) + pickedElements.Clear(); + else + pickedElements = new List<object>(); + } + } + + public static T PickedLayerableOfType<T>() where T : class, ILayerable + { + return pickedElements.OfType<ILayerable>().OrderBy(x => x.zOrder).LastOrDefault() as T; + } + + public static InlineCurveResizeHandle PickedInlineCurveResizer() + { + return pickedElements.FirstOrDefault(e => e is InlineCurveResizeHandle) as InlineCurveResizeHandle; + } + + public static TimelineTrackBaseGUI PickedTrackBaseGUI() + { + return pickedElements.FirstOrDefault(e => e is TimelineTrackBaseGUI) as TimelineTrackBaseGUI; + } + } +} |
