123456789101112131415161718192021222324252627282930313233343536 |
- using System.Collections.Generic;
- using UnityEngine.Timeline;
-
- namespace UnityEditor.Timeline.Actions
- {
- /// <summary>
- /// Base class for a track action.
- /// Inherit from this class to make an action that would react on selected tracks after a menu click and/or a key shortcut.
- /// </summary>
- /// <example>
- /// Simple track Action example (with context menu and shortcut support).
- /// <code source="../../DocCodeExamples/ActionExamples.cs" region="declare-sampleTrackAction" title="SampleTrackAction"/>
- /// </example>
- /// <remarks>
- /// To add an action as a menu item in the Timeline context menu, add <see cref="MenuEntryAttribute"/> on the action class.
- /// To make an action to react to a shortcut, use the Shortcut Manager API with <see cref="TimelineShortcutAttribute"/>.
- /// <seealso cref="UnityEditor.ShortcutManagement.ShortcutAttribute"/>
- /// </remarks>
- [ActiveInMode(TimelineModes.Default)]
- public abstract class TrackAction : IAction
- {
- /// <summary>
- /// Execute the action.
- /// </summary>
- /// <param name="tracks">Tracks that will be used for the action. </param>
- /// <returns>true if the action has been executed. false otherwise</returns>
- public abstract bool Execute(IEnumerable<TrackAsset> tracks);
-
- /// <summary>
- /// Defines the validity of an Action for a given set of tracks.
- /// </summary>
- /// <param name="tracks">tracks that the action would act on.</param>
- /// <returns>The validity of the set of tracks.</returns>
- public abstract ActionValidity Validate(IEnumerable<TrackAsset> tracks);
- }
- }
|