113 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			113 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | 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<TimelineClip> clip) | ||
|  |             { | ||
|  |                 return ActionValidity.Valid; | ||
|  |             } | ||
|  | 
 | ||
|  |             public override bool Execute(IEnumerable<TimelineClip> items) | ||
|  |             { | ||
|  |                 Debug.Log("Test Action"); | ||
|  |                 return true; | ||
|  |             } | ||
|  | 
 | ||
|  |             [TimelineShortcut("SampleClipAction", KeyCode.K)] | ||
|  |             public static void HandleShortCut(ShortcutArguments args) | ||
|  |             { | ||
|  |                 Invoker.InvokeWithSelectedClips<SampleClipAction>(); | ||
|  |             } | ||
|  |         } | ||
|  | 
 | ||
|  |         #endregion | ||
|  | 
 | ||
|  |         #region declare-sampleMarkerAction | ||
|  | 
 | ||
|  |         [MenuEntry("Custom Actions/Sample marker Action")] | ||
|  |         public class SampleMarkerAction : MarkerAction | ||
|  |         { | ||
|  |             public override ActionValidity Validate(IEnumerable<IMarker> markers) | ||
|  |             { | ||
|  |                 return ActionValidity.Valid; | ||
|  |             } | ||
|  | 
 | ||
|  |             public override bool Execute(IEnumerable<IMarker> items) | ||
|  |             { | ||
|  |                 Debug.Log("Test Action"); | ||
|  |                 return true; | ||
|  |             } | ||
|  | 
 | ||
|  |             [TimelineShortcut("SampleMarkerAction", KeyCode.L)] | ||
|  |             public static void HandleShortCut(ShortcutArguments args) | ||
|  |             { | ||
|  |                 Invoker.InvokeWithSelectedMarkers<SampleMarkerAction>(); | ||
|  |             } | ||
|  |         } | ||
|  | 
 | ||
|  |         #endregion | ||
|  | 
 | ||
|  |         #region declare-sampleTrackAction | ||
|  | 
 | ||
|  |         [MenuEntry("Custom Actions/Sample track Action")] | ||
|  |         public class SampleTrackAction : TrackAction | ||
|  |         { | ||
|  |             public override ActionValidity Validate(IEnumerable<TrackAsset> tracks) | ||
|  |             { | ||
|  |                 return ActionValidity.Valid; | ||
|  |             } | ||
|  | 
 | ||
|  |             public override bool Execute(IEnumerable<TrackAsset> tracks) | ||
|  |             { | ||
|  |                 Debug.Log("Test Action"); | ||
|  |                 return true; | ||
|  |             } | ||
|  | 
 | ||
|  |             [TimelineShortcut("SampleTrackAction", KeyCode.H)] | ||
|  |             public static void HandleShortCut(ShortcutArguments args) | ||
|  |             { | ||
|  |                 Invoker.InvokeWithSelectedTracks<SampleTrackAction>(); | ||
|  |             } | ||
|  |         } | ||
|  | 
 | ||
|  |         #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<SampleTimelineAction>(); | ||
|  |             } | ||
|  |         } | ||
|  | 
 | ||
|  |         #endregion | ||
|  |     } | ||
|  | } |