using System.Collections.Generic;
using UnityEngine.Timeline;
namespace UnityEditor.Timeline.Actions
{
///
/// Base class for a marker action.
/// Inherit from this class to make an action that would react on selected markers after a menu click and/or a key shortcut.
///
///
/// Simple track Action example (with context menu and shortcut support).
///
///
///
/// To add an action as a menu item in the Timeline context menu, add on the action class.
/// To make an action to react to a shortcut, use the Shortcut Manager API with .
///
///
[ActiveInMode(TimelineModes.Default)]
public abstract class MarkerAction : IAction
{
///
/// Execute the action.
///
/// Markers that will be used for the action.
/// true if the action has been executed. false otherwise
public abstract bool Execute(IEnumerable markers);
///
/// Defines the validity of an Action for a given set of markers.
///
/// Markers that will be used for the action.
/// The validity of the set of markers.
public abstract ActionValidity Validate(IEnumerable markers);
}
}