public static void AddMarkerMenuCommands(GenericMenu menu, TrackAsset trackAsset, double candidateTime) { var markerTypes = TypeUtility.GetMarkerTypes().Where(x => TypeUtility.DoesTrackSupportMarkerType(trackAsset, x)).ToArray(); if (markerTypes.Any()) { menu.AddSeparator(String.Empty); var addMarkerCommand = new Func <Type, IMarker>(type => AddMarkerCommand(trackAsset, type, candidateTime)); AddMarkerMenuCommands(menu, markerTypes, addMarkerCommand, !trackAsset.lockedInHierarchy); } RemoveInvalidMarkersMenuItem(menu, trackAsset); }
public static void AddMarkerMenuCommands(GenericMenu menu, TrackAsset track, Func <Type, IMarker> command, bool enabled) { var markerTypes = TypeUtility.GetBuiltInMarkerTypes().Union(TypeUtility.GetUserMarkerTypes()); if (track != null) { markerTypes = markerTypes.Where(x => TypeUtility.DoesTrackSupportMarkerType(track, x)); } menu.AddSeparator(string.Empty); AddMarkerMenuCommands(menu, markerTypes, command, enabled); RemoveInvalidMarkersMenuItem(menu, track); }
public bool IsCompatibleWithTrack(TrackAsset track) { return(TypeUtility.DoesTrackSupportMarkerType(track, m_Marker.GetType())); }
static void AddMarkerMenuCommands(List <MenuActionItem> menuItems, ICollection <TrackAsset> tracks, Action <Type, Object> command, bool enabled) { var markerTypes = TypeUtility.GetBuiltInMarkerTypes().Union(TypeUtility.GetUserMarkerTypes()); if (tracks != null) { markerTypes = markerTypes.Where(x => tracks.All(track => (track == null) || TypeUtility.DoesTrackSupportMarkerType(track, x))); // null track indicates marker track to be created } AddMarkerMenuCommands(menuItems, markerTypes, command, enabled); }