You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.7 KiB
91 lines
2.7 KiB
using System; |
|
using UnityEngine; |
|
|
|
namespace UnityEditor.Timeline |
|
{ |
|
enum TimelineModeGUIState |
|
{ |
|
Disabled, |
|
Hidden, |
|
Enabled |
|
} |
|
|
|
abstract class TimelineMode |
|
{ |
|
public struct HeaderState |
|
{ |
|
public TimelineModeGUIState breadCrumb; |
|
public TimelineModeGUIState sequenceSelector; |
|
public TimelineModeGUIState options; |
|
} |
|
|
|
public struct TrackOptionsState |
|
{ |
|
public TimelineModeGUIState newButton; |
|
public TimelineModeGUIState editAsAssetButton; |
|
} |
|
|
|
public HeaderState headerState { get; protected set; } |
|
public TrackOptionsState trackOptionsState { get; protected set; } |
|
public TimelineModes mode { get; protected set; } |
|
|
|
public abstract bool ShouldShowPlayRange(WindowState state); |
|
public abstract bool ShouldShowTimeCursor(WindowState state); |
|
|
|
public virtual bool ShouldShowTrackBindings(WindowState state) |
|
{ |
|
return ShouldShowTimeCursor(state); |
|
} |
|
|
|
public virtual bool ShouldShowTimeArea(WindowState state) |
|
{ |
|
return !state.IsEditingAnEmptyTimeline(); |
|
} |
|
|
|
public abstract TimelineModeGUIState TrackState(WindowState state); |
|
public abstract TimelineModeGUIState ToolbarState(WindowState state); |
|
|
|
public virtual TimelineModeGUIState PreviewState(WindowState state) |
|
{ |
|
return state.ignorePreview ? TimelineModeGUIState.Disabled : TimelineModeGUIState.Enabled; |
|
} |
|
|
|
public virtual TimelineModeGUIState EditModeButtonsState(WindowState state) |
|
{ |
|
return TimelineModeGUIState.Enabled; |
|
} |
|
} |
|
|
|
/// <summary> |
|
/// Different mode for Timeline |
|
/// </summary> |
|
[Flags] |
|
public enum TimelineModes |
|
{ |
|
/// <summary> |
|
/// A playable director with a valid timeline is selected in editor. |
|
/// </summary> |
|
Active = 1, |
|
/// <summary> |
|
/// The timeline is not editable. (the TimelineAsset file is either readonly on disk or locked by source control). |
|
/// </summary> |
|
ReadOnly = 2, |
|
/// <summary> |
|
/// The timeline cannot be played or previewed. |
|
/// </summary> |
|
Inactive = 4, |
|
/// <summary> |
|
/// Disabled Timeline. |
|
/// </summary> |
|
Disabled = 8, |
|
/// <summary> |
|
/// Timeline in AssetEditing mode. |
|
/// This mode is enabled when a timeline asset is selected in the project window. |
|
/// </summary> |
|
AssetEdition = 16, |
|
/// <summary> |
|
/// The timeline can be edited (either through playable director or selected timeline asset in project window). |
|
/// </summary> |
|
Default = Active | AssetEdition |
|
} |
|
}
|
|
|