コード例 #1
0
        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);
        }
コード例 #2
0
 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);
                 }
             }
         });
     }
 }
コード例 #3
0
 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);
 }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
 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);
     };
 }
コード例 #6
0
 public static bool IsMouseHoveringOnItem()
 {
     return(SelectionManager.SelectedItemGUI().Any((TimelineItemGUI b) => b.boundingRect.Contains(Event.get_current().get_mousePosition())));
 }
コード例 #7
0
 public static IEnumerable <TimelineMarkerGUI> SelectedMarkerGUI()
 {
     return(SelectionManager.SelectedItemGUI <TimelineMarkerGUI, TimelineMarker>());
 }
コード例 #8
0
 public static IEnumerable <TimelineClipGUI> SelectedClipGUI()
 {
     return(SelectionManager.SelectedItemGUI <TimelineClipGUI, TimelineClip>());
 }