diff options
Diffstat (limited to 'Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/Modes/TimelineMode.cs')
| -rw-r--r-- | Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/Modes/TimelineMode.cs | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/Modes/TimelineMode.cs b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/Modes/TimelineMode.cs new file mode 100644 index 0000000..1a46841 --- /dev/null +++ b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/Modes/TimelineMode.cs @@ -0,0 +1,71 @@ +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 Application.isPlaying ? TimelineModeGUIState.Disabled : TimelineModeGUIState.Enabled; + } + + public virtual TimelineModeGUIState EditModeButtonsState(WindowState state) + { + return TimelineModeGUIState.Enabled; + } + } + + [Flags] + internal enum TimelineModes + { + None = 0, + Active = 1, + ReadOnly = 2, + Inactive = 4, + Disabled = 8, + AssetEdition = 16, + All = Active | ReadOnly | Inactive | Disabled, + Default = Active | AssetEdition + } +} |
