64 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			64 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | using System.Collections.Generic; | ||
|  | using System.Linq; | ||
|  | using UnityEngine; | ||
|  | using UnityEngine.Playables; | ||
|  | using UnityEngine.Timeline; | ||
|  | 
 | ||
|  | namespace UnityEditor.Timeline.Actions | ||
|  | { | ||
|  |     /// <summary> | ||
|  |     /// Action context to be used by actions. | ||
|  |     /// </summary> | ||
|  |     /// <seealso cref="Invoker"/> | ||
|  |     /// <seealso cref="TimelineAction"/> | ||
|  |     public struct ActionContext | ||
|  |     { | ||
|  |         IEnumerable<TrackAsset> m_Tracks; | ||
|  |         IEnumerable<TimelineClip> m_Clips; | ||
|  |         IEnumerable<IMarker> m_Markers; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         ///  The Timeline asset that is currently opened in the Timeline window. | ||
|  |         /// </summary> | ||
|  |         public TimelineAsset timeline; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         ///  The PlayableDirector that is used to play the current Timeline asset. | ||
|  |         /// </summary> | ||
|  |         public PlayableDirector director; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         ///  Time based on the position of the cursor on the timeline (in seconds). | ||
|  |         ///  null if the time is not available (in case of a shortcut for example). | ||
|  |         /// </summary> | ||
|  |         public double? invocationTime; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         ///  Tracks that will be used by the actions. | ||
|  |         /// </summary> | ||
|  |         public IEnumerable<TrackAsset> tracks | ||
|  |         { | ||
|  |             get => m_Tracks ?? Enumerable.Empty<TrackAsset>(); | ||
|  |             set => m_Tracks = value; | ||
|  |         } | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         ///  Clips that will be used by the actions. | ||
|  |         /// </summary> | ||
|  |         public IEnumerable<TimelineClip> clips | ||
|  |         { | ||
|  |             get => m_Clips ?? Enumerable.Empty<TimelineClip>(); | ||
|  |             set => m_Clips = value; | ||
|  |         } | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         ///  Markers that will be used by the actions. | ||
|  |         /// </summary> | ||
|  |         public IEnumerable<IMarker> markers | ||
|  |         { | ||
|  |             get => m_Markers ?? Enumerable.Empty<IMarker>(); | ||
|  |             set => m_Markers = value; | ||
|  |         } | ||
|  |     } | ||
|  | } |