55 lines
1.5 KiB
C#
55 lines
1.5 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|