//---------------------------------------------------------------------------------------------------------------------- private void ShowCaptureSelectedFramesGUI(TimelineClip timelineClip, TimelineClipSISData timelineClipSISData) { bool prevMarkersRequest = timelineClipSISData.AreFrameMarkersRequested(); TrackAsset track = timelineClip.parentTrack; GUILayout.BeginHorizontal(); bool markerVisibility = EditorGUILayout.Toggle("Show Frame Markers", prevMarkersRequest); if (markerVisibility != prevMarkersRequest) { timelineClipSISData.RequestFrameMarkers(markerVisibility); } GUILayout.FlexibleSpace(); EditorGUI.BeginDisabledGroup(!markerVisibility); if (GUILayout.Button("Capture All", GUILayout.Width(80))) { Undo.RegisterCompleteObjectUndo(track, "RenderCachePlayableAsset: Capturing all frames"); timelineClipSISData.SetAllPlayableFramesProperty(PlayableFramePropertyID.USED, true); } if (GUILayout.Button("Reset", GUILayout.Width(50))) { Undo.RegisterCompleteObjectUndo(track, "RenderCachePlayableAsset: Capturing no frame"); timelineClipSISData.SetAllPlayableFramesProperty(PlayableFramePropertyID.USED, false); } EditorGUI.EndDisabledGroup(); GUILayout.EndHorizontal(); }
//---------------------------------------------------------------------------------------------------------------------- private void ShowLockFramesGUI(TimelineClip timelineClip, TimelineClipSISData timelineClipSISData) { TrackAsset track = timelineClip.parentTrack; using (new EditorGUILayout.HorizontalScope()) { EditorGUILayout.PrefixLabel("Lock Frames"); bool lockMode = GUILayout.Toggle(m_lockMode, EditorTextures.GetLockTexture(), "Button", GUILayout.Height(20f), GUILayout.Width(30f)); if (lockMode != m_lockMode) //lock state changed { if (lockMode) { LockSISData(timelineClipSISData); } else { UnlockSISData(); } } GUILayout.FlexibleSpace(); EditorGUI.BeginDisabledGroup(!m_lockMode); if (GUILayout.Button("Lock All", GUILayout.Width(80))) { Undo.RegisterCompleteObjectUndo(track, "RenderCachePlayableAsset: Locking all frames"); timelineClipSISData.SetAllPlayableFramesProperty(PlayableFramePropertyID.LOCKED, true); } if (GUILayout.Button("Reset", GUILayout.Width(50))) { Undo.RegisterCompleteObjectUndo(track, "RenderCachePlayableAsset: Locking no frame"); timelineClipSISData.SetAllPlayableFramesProperty(PlayableFramePropertyID.LOCKED, false); } EditorGUI.EndDisabledGroup(); } }