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;
|
||
|
}
|
||
|
}
|
||
|
}
|