diff options
Diffstat (limited to 'Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_HeaderGui.cs')
| -rw-r--r-- | Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_HeaderGui.cs | 314 |
1 files changed, 0 insertions, 314 deletions
diff --git a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_HeaderGui.cs b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_HeaderGui.cs deleted file mode 100644 index 4e7734e..0000000 --- a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_HeaderGui.cs +++ /dev/null @@ -1,314 +0,0 @@ -using System.Linq; -using UnityEngine; -using UnityEngine.Timeline; - -namespace UnityEditor.Timeline -{ - partial class TimelineWindow - { - static readonly GUIContent[] k_TimeReferenceGUIContents = - { - EditorGUIUtility.TrTextContent("Local", "Display time based on the current timeline."), - EditorGUIUtility.TrTextContent("Global", "Display time based on the master timeline.") - }; - - TimelineMarkerHeaderGUI m_MarkerHeaderGUI; - - void SequencerHeaderGUI() - { - using (new EditorGUI.DisabledScope(state.editSequence.asset == null)) - { - GUILayout.BeginVertical(); - { - TransportToolbarGUI(); - - GUILayout.BeginHorizontal(GUILayout.Width(sequenceHeaderRect.width)); - { - if (state.editSequence.asset != null) - { - GUILayout.Space(DirectorStyles.kBaseIndent); - AddButtonGUI(); - GUILayout.FlexibleSpace(); - EditModeToolbarGUI(currentMode); - ShowMarkersButton(); - EditorGUILayout.Space(); - } - } - GUILayout.EndHorizontal(); - } - GUILayout.EndVertical(); - } - } - - void MarkerHeaderGUI() - { - var timelineAsset = state.editSequence.asset; - if (timelineAsset == null) - return; - - if (m_MarkerHeaderGUI == null) - m_MarkerHeaderGUI = new TimelineMarkerHeaderGUI(timelineAsset, state); - m_MarkerHeaderGUI.Draw(markerHeaderRect, markerContentRect, state); - } - - void TransportToolbarGUI() - { - GUILayout.BeginHorizontal(EditorStyles.toolbar, GUILayout.Width(sequenceHeaderRect.width)); - { - using (new EditorGUI.DisabledScope(currentMode.PreviewState(state) == TimelineModeGUIState.Disabled)) - { - PreviewModeButtonGUI(); - } - - using (new EditorGUI.DisabledScope(currentMode.ToolbarState(state) == TimelineModeGUIState.Disabled)) - { - GotoBeginingSequenceGUI(); - PreviousEventButtonGUI(); - PlayButtonGUI(); - NextEventButtonGUI(); - GotoEndSequenceGUI(); - GUILayout.Space(10.0f); - PlayRangeButtonGUI(); - GUILayout.FlexibleSpace(); - TimeCodeGUI(); - ReferenceTimeGUI(); - } - } - GUILayout.EndHorizontal(); - } - - void PreviewModeButtonGUI() - { - EditorGUI.BeginChangeCheck(); - var enabled = state.previewMode; - enabled = GUILayout.Toggle(enabled, DirectorStyles.previewContent, EditorStyles.toolbarButton); - if (EditorGUI.EndChangeCheck()) - { - // turn off auto play as well, so it doesn't auto reenable - if (!enabled) - { - state.SetPlaying(false); - state.recording = false; - } - - state.previewMode = enabled; - - // if we are successfully enabled, rebuild the graph so initial states work correctly - // Note: testing both values because previewMode setter can "fail" - if (enabled && state.previewMode) - state.rebuildGraph = true; - } - } - - void GotoBeginingSequenceGUI() - { - if (GUILayout.Button(DirectorStyles.gotoBeginingContent, EditorStyles.toolbarButton)) - { - state.editSequence.time = 0; - state.EnsurePlayHeadIsVisible(); - } - } - - // in the editor the play button starts/stops simulation - void PlayButtonGUIEditor() - { - EditorGUI.BeginChangeCheck(); - var isPlaying = GUILayout.Toggle(state.playing, DirectorStyles.playContent, EditorStyles.toolbarButton); - if (EditorGUI.EndChangeCheck()) - { - state.SetPlaying(isPlaying); - } - } - - // in playmode the button reflects the playing state. - // needs to disabled if playing is not possible - void PlayButtonGUIPlayMode() - { - bool buttonEnabled = state.masterSequence.director != null && - state.masterSequence.director.isActiveAndEnabled; - using (new EditorGUI.DisabledScope(!buttonEnabled)) - { - PlayButtonGUIEditor(); - } - } - - void PlayButtonGUI() - { - if (!Application.isPlaying) - PlayButtonGUIEditor(); - else - PlayButtonGUIPlayMode(); - } - - void NextEventButtonGUI() - { - if (GUILayout.Button(DirectorStyles.nextFrameContent, EditorStyles.toolbarButton)) - { - state.referenceSequence.frame += 1; - } - } - - void PreviousEventButtonGUI() - { - if (GUILayout.Button(DirectorStyles.previousFrameContent, EditorStyles.toolbarButton)) - { - state.referenceSequence.frame -= 1; - } - } - - void GotoEndSequenceGUI() - { - if (GUILayout.Button(DirectorStyles.gotoEndContent, EditorStyles.toolbarButton)) - { - state.editSequence.time = state.editSequence.asset.duration; - state.EnsurePlayHeadIsVisible(); - } - } - - void PlayRangeButtonGUI() - { - using (new EditorGUI.DisabledScope(EditorApplication.isPlaying || state.IsEditingASubTimeline())) - { - state.playRangeEnabled = GUILayout.Toggle(state.playRangeEnabled, DirectorStyles.Instance.playrangeContent, EditorStyles.toolbarButton); - } - } - - void AddButtonGUI() - { - if (currentMode.trackOptionsState.newButton == TimelineModeGUIState.Hidden) - return; - - using (new EditorGUI.DisabledScope(currentMode.trackOptionsState.newButton == TimelineModeGUIState.Disabled)) - { - if (EditorGUILayout.DropdownButton(DirectorStyles.newContent, FocusType.Passive, EditorStyles.toolbarPopup)) - { - // if there is 1 and only 1 track selected, AND it's a group, add to that group - var groupTracks = SelectionManager.SelectedTracks().ToList(); - if (groupTracks.Any(x => x.GetType() != typeof(GroupTrack) || x.lockedInHierarchy)) - groupTracks = null; - - SequencerContextMenu.ShowNewTracksContextMenu(groupTracks, state, EditorGUILayout.s_LastRect); - } - } - } - - void ShowMarkersButton() - { - var asset = state.editSequence.asset; - if (asset == null) - return; - - var content = state.showMarkerHeader ? DirectorStyles.showMarkersOn : DirectorStyles.showMarkersOff; - SetShowMarkerHeader(GUILayout.Toggle(state.showMarkerHeader, content, DirectorStyles.Instance.showMarkersBtn)); - } - - internal void SetShowMarkerHeader(bool newValue) - { - if (state.showMarkerHeader == newValue) - return; - - TimelineUndo.PushUndo(state.editSequence.viewModel, "Toggle Show Markers"); - state.showMarkerHeader = newValue; - if (!newValue) - { - var asset = state.editSequence.asset; - if (asset != null && asset.markerTrack != null) - { - SelectionManager.Remove(asset.markerTrack); - foreach (var marker in asset.markerTrack.GetMarkers()) - { - SelectionManager.Remove(marker); - } - } - } - } - - internal void SetShowTrackMarkers(TrackAsset track, bool showMarkerHeader) - { - var currentValue = track.GetShowMarkers(); - if (currentValue != showMarkerHeader) - { - TimelineUndo.PushUndo(state.editSequence.viewModel, "Toggle Show Markers"); - track.SetShowMarkers(showMarkerHeader); - if (!showMarkerHeader) - { - foreach (var marker in track.GetMarkers()) - { - SelectionManager.Remove(marker); - } - } - } - } - - static void EditModeToolbarGUI(TimelineMode mode) - { - using (new EditorGUI.DisabledScope(mode.EditModeButtonsState(instance.state) == TimelineModeGUIState.Disabled)) - { - var editType = EditMode.editType; - - using (var checkScope = new EditorGUI.ChangeCheckScope()) - { - var icon = editType == EditMode.EditType.Mix ? DirectorStyles.mixOn : DirectorStyles.mixOff; - GUILayout.Toggle(editType == EditMode.EditType.Mix, icon, DirectorStyles.Instance.editModeBtn); - - if (checkScope.changed) - EditMode.editType = EditMode.EditType.Mix; - } - using (var checkScope = new EditorGUI.ChangeCheckScope()) - { - var icon = editType == EditMode.EditType.Ripple ? DirectorStyles.rippleOn : DirectorStyles.rippleOff; - GUILayout.Toggle(editType == EditMode.EditType.Ripple, icon, DirectorStyles.Instance.editModeBtn); - if (checkScope.changed) - EditMode.editType = EditMode.EditType.Ripple; - } - using (var checkScope = new EditorGUI.ChangeCheckScope()) - { - var icon = editType == EditMode.EditType.Replace ? DirectorStyles.replaceOn : DirectorStyles.replaceOff; - GUILayout.Toggle(editType == EditMode.EditType.Replace, icon, DirectorStyles.Instance.editModeBtn); - if (checkScope.changed) - EditMode.editType = EditMode.EditType.Replace; - } - } - } - - // Draws the box to enter the time field - void TimeCodeGUI() - { - EditorGUI.BeginChangeCheck(); - - var currentTime = state.editSequence.asset != null ? TimeReferenceUtility.ToTimeString(state.editSequence.time, "F1") : "0"; - var r = EditorGUILayout.GetControlRect(false, EditorGUI.kSingleLineHeight, EditorStyles.toolbarTextField, GUILayout.MinWidth(WindowConstants.minTimeCodeWidth)); - var id = GUIUtility.GetControlID("RenameFieldTextField".GetHashCode(), FocusType.Passive, r); - var newCurrentTime = EditorGUI.DelayedTextFieldInternal(r, id, GUIContent.none, currentTime, null, EditorStyles.toolbarTextField); - - if (EditorGUI.EndChangeCheck()) - state.editSequence.time = TimeReferenceUtility.FromTimeString(newCurrentTime); - } - - void ReferenceTimeGUI() - { - if (!state.IsEditingASubTimeline()) - return; - - EditorGUI.BeginChangeCheck(); - - var rect = EditorGUILayout.GetControlRect(false, EditorGUI.kSingleLineHeight, EditorStyles.toolbarButton, GUILayout.Width(WindowConstants.refTimeWidth)); - state.timeReferenceMode = (TimeReferenceMode)EditorGUI.CycleButton(rect, (int)state.timeReferenceMode, k_TimeReferenceGUIContents, EditorStyles.toolbarButtonRight); - - if (EditorGUI.EndChangeCheck()) - OnTimeReferenceModeChanged(); - } - - void OnTimeReferenceModeChanged() - { - m_TimeAreaDirty = true; - InitTimeAreaFrameRate(); - SyncTimeAreaShownRange(); - - foreach (var inspector in InspectorWindow.GetAllInspectorWindows()) - { - inspector.Repaint(); - } - } - } -} |
