summaryrefslogtreecommitdiff
path: root/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Manipulators/Sequence/RectangleSelect.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Library/PackageCache/com.unity.timeline@1.2.13/Editor/Manipulators/Sequence/RectangleSelect.cs')
-rw-r--r--Library/PackageCache/com.unity.timeline@1.2.13/Editor/Manipulators/Sequence/RectangleSelect.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Manipulators/Sequence/RectangleSelect.cs b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Manipulators/Sequence/RectangleSelect.cs
new file mode 100644
index 0000000..17342ef
--- /dev/null
+++ b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Manipulators/Sequence/RectangleSelect.cs
@@ -0,0 +1,36 @@
+using System.Linq;
+using UnityEngine;
+
+namespace UnityEditor.Timeline
+{
+ class RectangleSelect : RectangleTool
+ {
+ protected override bool enableAutoPan { get { return false; } }
+
+ protected override bool CanStartRectangle(Event evt, Vector2 mousePosition, WindowState state)
+ {
+ if (evt.button != 0 || evt.alt)
+ return false;
+
+ return PickerUtils.pickedElements.All(e => e is IRowGUI);
+ }
+
+ protected override bool OnFinish(Event evt, WindowState state, Rect rect)
+ {
+ var selectables = state.spacePartitioner.GetItemsInArea<ISelectable>(rect).ToList();
+
+ if (!selectables.Any())
+ return false;
+
+ if (ItemSelection.CanClearSelection(evt))
+ SelectionManager.Clear();
+
+ foreach (var selectable in selectables)
+ {
+ ItemSelection.HandleItemSelection(evt, selectable);
+ }
+
+ return true;
+ }
+ }
+}