File size: 1,538 Bytes
18a519f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using UnityEditor.Timeline.Actions;
using UnityEngine;

namespace UnityEditor.Timeline
{
    class DrillIntoClip : Manipulator
    {
        protected override bool DoubleClick(Event evt, WindowState state)
        {
            if (evt.button != 0)
                return false;

            var guiClip = PickerUtils.TopmostPickedItem() as TimelineClipGUI;

            if (guiClip == null)
                return false;

            if (!TimelineWindow.instance.state.editSequence.isReadOnly && (guiClip.clip.curves != null || guiClip.clip.animationClip != null))
                Invoker.Invoke<EditClipInAnimationWindow>(new[] { guiClip.clip });

            if (guiClip.supportsSubTimelines)
                Invoker.Invoke<EditSubTimeline>(new[] { guiClip.clip });

            return true;
        }
    }

    class ContextMenuManipulator : Manipulator
    {
        protected override bool MouseDown(Event evt, WindowState state)
        {
            if (evt.button == 1)
                ItemSelection.HandleSingleSelection(evt);

            return false;
        }

        protected override bool ContextClick(Event evt, WindowState state)
        {
            if (evt.alt)
                return false;

            var selectable = PickerUtils.TopmostPickedItem() as ISelectable;

            if (selectable != null && selectable.IsSelected())
            {
                SequencerContextMenu.ShowItemContextMenu(evt.mousePosition);
                return true;
            }

            return false;
        }
    }
}