public override bool Execute(TimelineWindow.TimelineState state) { bool result; if (SelectionManager.GetCurrentInlineEditorCurve() != null) { result = false; } else { ITimelineItem[] array = (from x in SelectionManager.SelectedItemGUI() select x.selectableObject as ITimelineItem).ToArray <ITimelineItem>(); if (array.Length > 0) { ItemActionInvoker.InvokeByName <TimelineClip>("DeleteClips", state, array); ItemActionInvoker.InvokeByName <TimelineMarker>("DeleteMarkers", state, array); } TrackAsset[] array2 = SelectionManager.SelectedTracks().ToArray <TrackAsset>(); if (array2.Length > 0) { TrackAction.InvokeByName("DeleteTracks", state, array2); } result = (array.Length > 0 || array2.Length > 0); } return(result); }
public static void AddToMenu(GenericMenu menu, TimelineWindow.TimelineState state) { T[] items = (from x in SelectionManager.SelectedItemGUI() select x.selectableObject).OfType <T>().ToArray <T>(); if (items.Length >= 1) { menu.AddSeparator(""); ItemAction <T> .actions.ForEach(delegate(ItemAction <T> action) { string text = string.Empty; CategoryAttribute categoryAttribute = MenuItemActionBase.GetCategoryAttribute(action); if (categoryAttribute == null) { text = string.Empty; } else { text = categoryAttribute.Category; if (!text.EndsWith("/")) { text += "/"; } } string displayName = MenuItemActionBase.GetDisplayName(action); string text2 = text + displayName; SeparatorMenuItemAttribute separator = MenuItemActionBase.GetSeparator(action); bool flag = !MenuItemActionBase.IsHiddenInMenu(action); if (flag) { MenuActionDisplayState displayState = action.GetDisplayState(state, items); if (displayState == MenuActionDisplayState.Visible) { if (separator != null && separator.before) { menu.AddSeparator(text); } menu.AddItem(new GUIContent(text2), false, delegate(object f) { action.Execute(state, items); }, action); } if (displayState == MenuActionDisplayState.Disabled) { menu.AddDisabledItem(new GUIContent(text2)); } if (displayState != MenuActionDisplayState.Hidden && separator != null && separator.after) { menu.AddSeparator(text); } } }); } }
public override bool Execute(TimelineWindow.TimelineState state) { ITimelineItem[] array = (from x in SelectionManager.SelectedItemGUI() select x.selectableObject as ITimelineItem).ToArray <ITimelineItem>(); if (array.Length > 0) { ItemActionInvoker.InvokeByName <TimelineClip>("DuplicateClips", state, array); ItemActionInvoker.InvokeByName <TimelineMarker>("DuplicateMarkers", state, array); } TrackAsset[] array2 = SelectionManager.SelectedTracks().ToArray <TrackAsset>(); if (array2.Length > 0) { TrackAction.InvokeByName("DuplicateTracks", state, array2); } return(true); }
public void RangeSelectItems(TimelineItemGUI lastItemToSelect, TimelineWindow.TimelineState state) { List <TimelineItemGUI> source = SelectionManager.SelectedItemGUI().ToList <TimelineItemGUI>(); TimelineItemGUI timelineItemGUI = source.FirstOrDefault <TimelineItemGUI>(); if (timelineItemGUI == null) { SelectionManager.Add(lastItemToSelect.item); } else { List <TimelineTrackBaseGUI> allTracks = TimelineWindow.instance.allTracks; List <TimelineItemGUI> list = allTracks.OfType <TimelineTrackGUI>().SelectMany((TimelineTrackGUI ttGui) => from x in ttGui.items orderby x.item.start select x).ToList <TimelineItemGUI>(); int num = list.IndexOf(timelineItemGUI); TimelineItemGUI item = source.LastOrDefault <TimelineItemGUI>(); int num2 = list.IndexOf(item); int num3 = list.IndexOf(lastItemToSelect); if (num < num3) { for (int i = num; i <= num3; i++) { SelectionManager.Add(list[i].item); } } else { for (int j = num; j >= num3; j--) { SelectionManager.Add(list[j].item); } } if (Math.Min(num, num2) < num3 && num3 < Math.Max(num, num2)) { for (int k = Math.Min(num2, num3); k <= Math.Max(num2, num3); k++) { SelectionManager.Remove(list[k].item); } } SelectionManager.Add(lastItemToSelect.item); } }
public override void Init(IControl parent) { parent.KeyDown += delegate(object target, Event evt, TimelineWindow.TimelineState state) { bool result; if (state.IsEditingASubItem()) { result = base.IgnoreEvent(); } else { TimelineTrackBaseGUI trackGUI = target as TimelineTrackBaseGUI; if (trackGUI == null || trackGUI.track == null) { result = base.IgnoreEvent(); } else { bool arg_AC_0; if (!SelectionManager.SelectedTracks().Contains(trackGUI.track)) { arg_AC_0 = (from x in SelectionManager.SelectedItemGUI() select x).Any((TimelineItemGUI x) => x.parentTrackGUI == trackGUI); } else { arg_AC_0 = true; } bool flag = arg_AC_0; if (flag) { result = TrackAction.HandleShortcut(state, evt, trackGUI.track); } else { result = base.IgnoreEvent(); } } } return(result); }; }
public static bool IsMouseHoveringOnItem() { return(SelectionManager.SelectedItemGUI().Any((TimelineItemGUI b) => b.boundingRect.Contains(Event.get_current().get_mousePosition()))); }
public static IEnumerable <TimelineMarkerGUI> SelectedMarkerGUI() { return(SelectionManager.SelectedItemGUI <TimelineMarkerGUI, TimelineMarker>()); }
public static IEnumerable <TimelineClipGUI> SelectedClipGUI() { return(SelectionManager.SelectedItemGUI <TimelineClipGUI, TimelineClip>()); }