private void DrawCurveEditorForInfiniteClip(Rect headerRect, Rect trackRect, TimelineWindow.TimelineState state) { if (this.m_TrackGUI.clipCurveEditor != null) { InlineCurveEditor.DrawCurveEditor(this.m_TrackGUI, state, headerRect, trackRect, Vector2.get_zero(), this.m_TrackGUI.locked); } }
private static void DrawCurveEditor(IClipCurveEditorOwner clipCurveEditorOwner, TimelineWindow.TimelineState state, Rect headerRect, Rect trackRect, Vector2 activeRange, bool locked) { ClipCurveEditor clipCurveEditor = clipCurveEditorOwner.clipCurveEditor; CurveDataSource dataSource = clipCurveEditor.dataSource; Rect backgroundRect = dataSource.GetBackgroundRect(state); bool flag = false; if (Event.get_current().get_type() == null) { flag = (InlineCurveEditor.MouseOverTrackArea(backgroundRect, trackRect) || InlineCurveEditor.MouseOverHeaderArea(headerRect, trackRect)); } clipCurveEditorOwner.clipCurveEditor.DrawHeader(headerRect); bool selected = !locked && (clipCurveEditorOwner.inlineCurvesSelected || flag); using (new EditorGUI.DisabledScope(locked)) { using (new GUIViewportScope(trackRect)) { Rect animEditorRect = backgroundRect; animEditorRect.set_y(trackRect.get_y()); animEditorRect.set_height(trackRect.get_height()); animEditorRect.set_xMin(Mathf.Max(animEditorRect.get_xMin(), trackRect.get_xMin())); animEditorRect.set_xMax(trackRect.get_xMax()); if (activeRange == Vector2.get_zero()) { activeRange = new Vector2(animEditorRect.get_xMin(), animEditorRect.get_xMax()); } clipCurveEditor.DrawCurveEditor(animEditorRect, state, activeRange, clipCurveEditorOwner.supportsLooping, selected); } } if (flag) { clipCurveEditorOwner.inlineCurvesSelected = true; } }
private void FrameAll(TimelineWindow.TimelineState state, ClipCurveEditor clipCurveEditor) { CurveDataSource dataSource = clipCurveEditor.dataSource; float start = dataSource.start; float duration = dataSource.animationClip.get_length() / dataSource.timeScale; InlineCurveEditor.Frame(state, start, duration, InlineCurveEditor.s_FrameAllMarginFactor); }
private void FrameSelected(TimelineWindow.TimelineState state, ClipCurveEditor clipCurveEditor) { if (!clipCurveEditor.HasSelection()) { this.FrameAll(state, clipCurveEditor); } else { Vector2 selectionRange = clipCurveEditor.GetSelectionRange(); if (selectionRange.x != selectionRange.y) { CurveDataSource dataSource = clipCurveEditor.dataSource; float start = dataSource.start + selectionRange.x / dataSource.timeScale; float duration = (selectionRange.y - selectionRange.x) / dataSource.timeScale; InlineCurveEditor.Frame(state, start, duration, InlineCurveEditor.s_FrameSelectedMarginFactor); } } }
private void DrawCurveEditorsForClipsOnTrack(Rect headerRect, Rect trackRect, TimelineWindow.TimelineState state) { if (this.m_TrackGUI.clips.Count != 0) { if (Event.get_current().get_type() == 8) { TimelineClipGUI timelineClipGUI = SelectionManager.SelectedClipGUI().FirstOrDefault((TimelineClipGUI x) => x.parentTrackGUI == this.m_TrackGUI); if (timelineClipGUI != null && timelineClipGUI != this.m_LastSelectedClipGUI) { this.m_LastSelectedClipGUI = timelineClipGUI; } if (this.m_LastSelectedClipGUI == null) { this.m_LastSelectedClipGUI = this.m_TrackGUI.clips[0]; } } if (this.m_LastSelectedClipGUI != null && this.m_LastSelectedClipGUI.clipCurveEditor != null) { Rect rect = this.m_LastSelectedClipGUI.rect; InlineCurveEditor.DrawCurveEditor(this.m_LastSelectedClipGUI, state, headerRect, trackRect, new Vector2(rect.get_xMin(), rect.get_xMax()), this.m_TrackGUI.locked); } } }
private bool MouseOver(TimelineWindow.TimelineState state) { bool result; if (InlineCurveEditor.MouseOverHeaderArea(this.m_HeaderRect, this.m_TrackRect)) { result = true; } else { ClipCurveEditor clipCurveEditor = this.GetClipCurveEditorOwner().clipCurveEditor; if (clipCurveEditor == null) { result = false; } else { Rect backgroundRect = clipCurveEditor.dataSource.GetBackgroundRect(state); result = InlineCurveEditor.MouseOverTrackArea(backgroundRect, this.m_TrackRect); } } return(result); }