using System; using System.Collections.Generic; using UnityEditor.ShortcutManagement; using UnityEditor.Timeline.Actions; using UnityEngine; using UnityEngine.Timeline; namespace DocCodeExamples { class ActionExamples_HideAPI { #region declare-sampleClipAction [MenuEntry("Custom Actions/Sample clip Action")] public class SampleClipAction : ClipAction { public override ActionValidity Validate(IEnumerable clip) { return ActionValidity.Valid; } public override bool Execute(IEnumerable items) { Debug.Log("Test Action"); return true; } [TimelineShortcut("SampleClipAction", KeyCode.K)] public static void HandleShortCut(ShortcutArguments args) { Invoker.InvokeWithSelectedClips(); } } #endregion #region declare-sampleMarkerAction [MenuEntry("Custom Actions/Sample marker Action")] public class SampleMarkerAction : MarkerAction { public override ActionValidity Validate(IEnumerable markers) { return ActionValidity.Valid; } public override bool Execute(IEnumerable items) { Debug.Log("Test Action"); return true; } [TimelineShortcut("SampleMarkerAction", KeyCode.L)] public static void HandleShortCut(ShortcutArguments args) { Invoker.InvokeWithSelectedMarkers(); } } #endregion #region declare-sampleTrackAction [MenuEntry("Custom Actions/Sample track Action")] public class SampleTrackAction : TrackAction { public override ActionValidity Validate(IEnumerable tracks) { return ActionValidity.Valid; } public override bool Execute(IEnumerable tracks) { Debug.Log("Test Action"); return true; } [TimelineShortcut("SampleTrackAction", KeyCode.H)] public static void HandleShortCut(ShortcutArguments args) { Invoker.InvokeWithSelectedTracks(); } } #endregion #region declare-sampleTimelineAction [MenuEntry("Custom Actions/Sample Timeline Action")] public class SampleTimelineAction : TimelineAction { public override ActionValidity Validate(ActionContext context) { return ActionValidity.Valid; } public override bool Execute(ActionContext context) { Debug.Log("Test Action"); return true; } [TimelineShortcut("SampleTimelineAction", KeyCode.Q)] public static void HandleShortCut(ShortcutArguments args) { Invoker.InvokeWithSelected(); } } #endregion } }